有没有办法在无头服务器(独立服务器,亚马逊AWS或类似服务器)上运行服务器端的三个。?
目前,当用户的浏览器不支持WebGL时,我会回到画布渲染(仅出于性能原因的线框)。这对于实时交互来说已经足够了,但是为了使应用程序有意义,用户真的需要以某种方式能够看到具有灯光,阴影,后期处理等的正确渲染版本,即使它具有很长的延迟。
那么......是否可以使用功能性的three.js实例创建服务器端服务?客户端仍然会使用tree.js画布线框渲染,但在说......一秒钟不活动之后,它会通过AJAX从服务器端服务请求完整渲染,并将其简单地覆盖为图像。
目前是否有任何应用程序,库或任何允许这样的东西(功能性javascript + webgl + three.js在无头,最好是Linux服务器上,以及GPU少)?
PhantomJS浮现在脑海中,但显然它还不支持WebGL:http://code.google.com/p/phantomjs/issues/detail?id=273
或者问题的任何替代方法?使用GPU和标准chrome / firefox实例以编程方式控制完整桌面计算机的路线感觉很可能,虽然很脆弱,但如果有任何纯软件解决方案,我真的不想去那里。
答案 0 :(得分:9)
在其QA基础架构中,Google可以使用Mesa运行Chromium测试(请参阅问题97675,通过交换机--use-gl=osmesa
)。最新版Mesa中的软件光栅化器非常先进,涉及使用LLVM转换着色器并模拟CPU上的执行。你的第一次冒险可能是建造Mesa,建造Chromium,然后尝试将它们绑在一起。
作为旁注,这也是我为PhantomJS本身计划的(在不久的将来),特别是因为Qt也朝这个方向发展,即仅使用Mesa / LLVMpipe而不是自己的光栅引擎。 The numbers实际上看起来不错。更好的是,对于离线,非动画的单次拍摄,性能会更令人满意。
答案 1 :(得分:1)
答案 2 :(得分:0)