我刚刚发现了 Google 的O3D项目,用于在浏览器中使用 html 和 javascript 渲染 3D 图形。看起来不错,尽管就我所见,图形已经过时了大约 5 年。有人试过吗?
3 回答
它似乎针对的是程序员而不是设计师
3d 环境应该易于描述和构建,但我在上面找到的文档似乎更面向程序员
我花了一些时间阅读文档并使用它。作为测试,我使用他们的画布对象制作了康威的生命游戏:
这实际上完全在 javascript 中运行,并且表现得非常好;比我在 Unity3D 中进行的等效测试要快得多。将其移入像素着色器将是性能的下一步,然后它会真正飞起来。
这是一个在图形技术前沿的严肃项目。他们对架构以及它如何与浏览器集成做出了非常好的决定。
但是,它是一个低级的图形 api - 与 DirectX 或 OpenGL 的级别相似,它使用现代的“可编程管道”而不是传统/遗留的“固定功能管道”。通俗地说,这意味着它不会在旧计算机上运行,但它可以在性能和功能方面充分利用较新的图形硬件。这也意味着开发人员需要了解现代图形编程技术,如着色器、渲染图等。
它支持图像的 web 格式(如 jpg 和 png),但也支持游戏行业风格的 DDS 纹理,这些纹理更适合加载到视频卡 RAM 中。它可以加载基于 xml 的 COLLADA 资产,还具有类似二进制的 JSON 接口,用于优化加载已处理资产。
要让 O3D 真正起飞,它需要构建在它之上的更高级别的 JavaScript API。理想情况下,游戏引擎之类的东西包括物理和音频,具有一致的光照模型和优化的资产格式。
我做到了。它看起来不错,做了很好的镜面反射。弄清楚导航有点困难,但我也没有太多时间投入其中。