将ThreeJS代码转换为WebGL的工具?

cod*_*ick 0 javascript opengl-es webgl three.js

有没有人知道存在的ThreeJS到WebGL转换器?另外,您能否给我一些关于如何制作ThreeJS到WebGL转换器的见解?

Abs*_*thm 8

Three.js是一个基于WebGL的3D渲染引擎,或者我应该说是库.

Three.js所做的都是纯粹的WebGL,不需要任何类型的转换.代码只是有点抽象,因此您可以简单地加载模型,选择材料并发出绘制调用,而不是手动创建缓冲区,启用顶点数组和创建着色器.

Three.js代码已经是一个webGL代码,只是糖涂层,所以它更容易使用.

关于WebGL和OpenGL.WebGL就像一些旧版本的OpenGL.虽然OpenGL的新版本(4.x)具有许多新功能,但WebGL与OpenGL 2.0(ES)规范非常相似.这意味着缺少功能,但代码可以在OGL2.0和WebGL之间轻松转换.

WebGL是一个JavaScript API.这意味着您在JavaScript中编写特定于WebGL技术的函数,这些函数实际上与您的GPU通信.因此,JavaScript是用于编写支持浏览器的3D应用程序的语言,而WebGL功能是用于GPU的接口.

所以,据我所知,你想使用Three.js,将它转换为(嗯,提取)WebGL代码,然后将其转换为OpenGL.

正如我所说,Three.js实际上是WebGL,但它使用了许多漂亮的JavaScript功能,因此在绘制API函数时,将JavaScript/WebGL代码转换为Cpp/OpenGL应该是直截了当的,但数据结构可能会很麻烦.

关于OpenGL到DirectX的转换 - 这可能更复杂,因为DX是一个面向对象的绘图API,而OpenGL是一个状态机.此外,功能名称和数据结构非常不同.

  • 简短回答 - 是的,手动提取.工具 - 没有.您可以逐步执行代码并执行执行阶段并"转换"您需要的部分.使用调试选项来完成代码,但没有工具可以完成90%的开箱即用工作.所有的webGL都在Three.js里面,但你需要找到你感兴趣的部分. (2认同)