我不想使用WebGL,NaCl,Flash或开发自定义浏览器插件,而是对在服务器上进行3D实时渲染感兴趣。这是一种非常用的专业产品。
是否存在针对此类事物的现有技术,以节省必须编写相当复杂的代码块?免费或付费都是有意义的。理想情况下,可以在我们的服务器上运行,但托管服务也很有趣,因为它们可以提供服务器池。
实际上,我所描述的是一种跨浏览器控件,它为远程服务器上呈现的内容提供了一个“窗口”。有点像VNC通过Javascript / HTML5我想。
另一个网站的一个建议是MJPG,但我不知道它是否可行。
虽然不理想,但在客户端使用Flash从服务器提取内容不会太太糟糕了。
答案 0 :(得分:1)
这对我来说听起来很多,就像它与视频游戏有相同的要求 - 看看这些引擎:
Photon Engine(商业):https://www.exitgames.com/
Cloudmach(商业):http://cloudmach.com/
Quake 2移植到GWT:http://code.google.com/p/quake2-gwt-port/
草原(目前为止2.5d,但服务器端渲染):http://steppe.fleetingfantasy.com/
......这是关于这个确切主题的另一篇SO文章:Server Sided 3D rendering
答案 1 :(得分:0)
如果您不介意拥有Flash客户端,那么这应该非常简单。
我从问题的措辞中假设您已经有关于如何呈现内容的计划,或者至少这不是在您的问题中提出的问题。
考虑到这一点,您的要求确实会降低到实时截屏的要求。
我所知道的最简单的选项是Flash Media Live Encoder来为RTMP客户端提供流,或Red5或类似的东西。
我不太确定这些解决方案可能存在哪些许可问题,但希望这至少可以让您了解在哪里寻找其他选项......
P.S。我刚刚注意到你在问题的最后提到了Flash作为一个选项,所以也许你已经意识到这些选项并主要寻找非Flash替代品?如果是这种情况,那么我不确定实际可用的解决方案,但Adobe 已经发布了RTMP规范供公众使用,我很确定没有闪存客户端确实存在。我非常肯定存在非闪存服务器。
无论哪种方式,我仍然认为这是一个坚实的选择...
答案 2 :(得分:0)
"Sort of like VNC through Javascript/HTML5 I suppose"
The RealVNC Java Viewer实际上是这样做的(通过Java)。如果您尝试流式传输GPU生成的输出(即硬件渲染),它将只会失败。我相信VNC可以通过改变它用于获取帧缓冲的方法来处理这种情况。
根据this page“对于无法远程处理3D应用程序/视频的情况,恢复到VNC Hooks很可能会提供更新,但性能会降低。”