我在我的微积分2课程中使用C++/OpenGL(使用Dev-C++编译器)编写了一个程序。老师喜欢这个程序,并要求我将其放到网上,以便不必下载.exe文件,只需在Web浏览器上运行它。有点像Java小程序在浏览器上运行。
问题是:
如果可能的话,如何在Web浏览器中显示C++/OpenGL程序? 我考虑转向JOGL,它是OpenGL的Java解释,但我更愿意使用C++,因为我更熟悉它。
另外,还有其他更好、更容易的3D Web API可以考虑吗?
我在我的微积分2课程中使用C++/OpenGL(使用Dev-C++编译器)编写了一个程序。老师喜欢这个程序,并要求我将其放到网上,以便不必下载.exe文件,只需在Web浏览器上运行它。有点像Java小程序在浏览器上运行。
问题是:
如果可能的话,如何在Web浏览器中显示C++/OpenGL程序? 我考虑转向JOGL,它是OpenGL的Java解释,但我更愿意使用C++,因为我更熟悉它。
另外,还有其他更好、更容易的3D Web API可以考虑吗?
我几乎可以肯定,WebGL是未来的发展方向。Mozilla/Google/Apple/Opera正在推广它,如果这项技术得到了验证并且有足够的客户和开发者需求,或许微软也会在IE上实现它(希望不会出现"WebDX"!)。
如果主要是矢量作品(没有很多纹理和光照/阴影),你可以通过将3D中的矢量投影到2D上,在SVG上实现它。在这种情况下,您可以使用SVGWeb实现跨浏览器兼容性,它是一个简单的JavaScript库,允许您透明地使用浏览器的本机SVG支持或基于Flash的SVG渲染器。
你真的有时间重写它吗?我认为学生应该太忙于完成非必要的作业。
但如果你真的想做,也许将其预览为Flash动画是最简单的方法。然后只需要这样做,如果人们感兴趣,你可以提供真正应用程序的下载链接。
除了Java之外,在浏览器中使用OpenGL仍处于起步阶段。不过,Google推出了一个非常酷的API和插件,名为O3D:
http://code.google.com/apis/o3d/
有关整个计划的文章: http://www.macworld.com/article/142079/2009/08/webgl.html
两种方法:
转换为Java。然而,作为可移植性的代价,您的应用程序将遭受性能损失。但由于Java无处不在,这种方法确保您的代码可以在大多数浏览器中执行。
使用ActiveX,它允许您运行Microsoft Windows的本机二进制代码。这在生产环境中不被推荐,因为ActiveX众所周知存在潜在的安全漏洞,但由于您的讲师是查看它的人,安全似乎并不是一个大问题。这仅适用于Microsoft平台(Windows+IE)。