我必须制定一个基本的计算机图形分配,在该分配中,我必须在屏幕上显示一个基本模型,并让用户控制移动模型组件的位置/方向。我有OpenGL
的一些背景,但我想改为在WebGL
做这个作业。所以我想知道的是,WebGL
在功能方面是否有任何限制?我会在Windows
上工作,所以我可以选择学习DirectX
,但这有一个陡峭的学习曲线,并且受到平台的限制。此外,在使用WebGL
时,我应该为哪些可能的问题做好准备?假设我有一张最新的显卡。
在WebGL IMO 中这样做有巨大的优势
- 你有所有的HTML5来帮助你。
- 你可以免费加载图像
- 自由鼠标输入
- 免费键盘输入
- 免费跨平台音频
- 免费的跨平台字体和文本
- 用于生成纹理或操作图像的免费2d库
- 你是开箱即用的跨平台
- 一个朋友有一台mac,另一台Linux,它只是工作
- 你几乎可以从任何地方访问它
- 把你的代码放在github上,发布它,你可以在任何地方运行和编辑。忘记你的机器了吗?只需使用众多直接github编辑器中的一个进行在线编辑(或使用dropbox)
- 需要帮助吗?向某人发送链接。即使他们有不同的机器,他们也可以运行、检查并帮助您。不需要兼容的C++编译器或大量的库
基本上,在OpenGL中可以做的大多数事情都可以在WebGL中完成。不过,也有一些注意事项:
- 与C++/Java/.Net相比,javascript的性能非常糟糕,即使对于最近的引擎也是如此
- 你的代码是公共的,不是二进制的
- 您缺少许多开发工具:像glm这样的少数库;模型进口商;gDebugger;等等
- 你大多局限于3D图形:试着运行一些以"物理"为特色的演示,看看性能。在其他语言中,你有所有标准的物理引擎(PhysX、Havoc、Bullet等)
- 你不会得到OpenGL所有闪亮的新扩展。事实上,你甚至没有OpenGL 3
好的一面是,它比所有其他方式都更容易设置:只需剪切和粘贴教程的html代码,就可以开始了。没有包含路径,没有依赖项等。如果你的任务真的只是绘制一个简单的模型并用鼠标旋转它,那么WelGL可能是最好的选择。