【问题标题】:How do you run WebGL & JavaScript at server-side?你如何在服务器端运行 WebGL 和 JavaScript?
【发布时间】: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


【解决方案1】:

您的 WebGL 代码需要 GPU 才能运行;亚马逊最近向 EC2 引入了一个 GPU 实例,但 Azure 目前没有这个选项。

Verold 平台的下一个版本为您提供了一个完整的 Three.js 编辑器,并为您的 Web 3D 桌面和移动应用程序提供托管选项。您将能够在我们的平台上实现此用例。发送电子邮件至 info@verold.com 了解详情。

罗斯

【讨论】:

    【解决方案2】:

    您可以尝试将phantomjsgruntnode 一起使用来生成这些图像。

    phantomjs 可以模拟全栈浏览器环境,并且可以在服务器端运行。

    【讨论】:

    • 但是当没有GPU时它无法模拟。
    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2014-11-24
    相关资源
    最近更新 更多