【发布时间】:2014-03-14 19:22:16
【问题描述】:
我目前正在开发一个基于 Three.js 的 WebGL 项目,我需要在需要时快速获取给定模型的屏幕截图。
我已经实现了一些 JavaScript 代码,这些代码将渲染 3D 模型然后返回它的图片。但问题是 JavaScript 代码在客户端运行,但我需要它使其成为服务器端,所以我可以通过 URL 获取图片(例如 example.com/get-screenshot.php?id=2)并将其提供给我的用户。
我想知道是否有一种机制可以自动触发作业并返回我需要的内容。除了托管我的站点的服务器,即 Azure 网站,我还可以访问安装了 Windows Server 或 Ubuntu Server 的 Azure 虚拟机;我不知道它是否有帮助。
提前致谢。
【问题讨论】:
-
如何在用户机器上使用
canvas.toDataURL截图并上传到服务器? -
@gman 是的,这正是我现在正在做的事情。
-
听起来工作量很大,但是...如果您从源代码构建chromium,您还可以构建 mesa 的软件版本。它已检查到 chromium 的源代码,并用于在没有 GPU 的服务器上进行测试。然后,您可以在没有 GPU 的情况下运行 Chromium 并使用所有 GPU 功能。您需要传入
--use-gl=osmesa,并且您可能还必须传入--ignore-gpu-blacklist。那么,您也许可以在您的服务器中使用 chromium 外壳?您可能还可以强制 DirectX 进入软件模式,因为您使用的是 Windows,而无需重新编译 Chrome。问问 angleproject 人。
标签: azure three.js webgl server-side serverside-javascript