移植我的C ++应用程序以在浏览器中运行

时间:2012-01-26 22:24:52

标签: c++ opengl browser portability webgl

有没有简单的方法将C ++ OpenGL应用程序移植到浏览器?它已经移植到PC,Mac和iOS。 如果有一些相对简单的方法,可以在计算机浏览器之间移植吗?当然,我必须为不同的平台使用不同的二进制文件。我记得前一段时间听过一些关于Chrome的沙盒环境的事情,但这会排除其他浏览器。他们(id?)是如何在浏览器中使用Quake的?

4 个答案:

答案 0 :(得分:4)

如果您已经针对iOS推出ES 2.0,那么您的着色器应该与WebGL一样正常工作。 JavaScript啊啊!

id Software使用giant plugin进行Quake Live。

答案 1 :(得分:2)

如果您想要一个懒惰的端口,请尝试使用Google的Native ClientNaCl

但是如果你想做一个真正的端口 - 请参考这两个例子:

  • blog series关于将现有的C ++游戏移植到html5(由Opera赞助)
  • short article关于将现有的Objective-C游戏移植到html5(由微软赞助)。
  • sad example将受欢迎的受版权保护的游戏从C移植到JavaScript(由Mozilla赞助,在Zenimax的额外帮助下

如果你问的是QuakeLive - 这是一个由Id Software制作的自定义插件。使用Flash或Unity插件可以实现类似的功能。

答案 2 :(得分:2)

如果您想要最少量的工作,可以使用Mandreel。另一个选项是Emscripten,但它只转换你的C ++,它不提供像Mandreel那样的所有API。

答案 3 :(得分:1)

  

有没有简单的方法将C ++ OpenGL应用程序移植到浏览器?它已经移植到PC,Mac和iOS。如果有一些相对简单的方法,可以在计算机浏览器之间移植吗?

您可以尝试将其重新编译为JavaScript,这是浏览器执行的内容。如果您不希望用户安装某些浏览器插件,则无法为其提供本机代码。当然,在JavaScript环境中,许多您从本机可执行文件中习惯的东西都无法正常工作。例如,您无法再访问文件系统。您必须使用DOM存储,cookie,从服务器下载/上载资源。