将ThreeJS代码转换为WebGL的工具

Tool to convert ThreeJS code to WebGL?

本文关键字:WebGL 工具 转换 ThreeJS 代码      更新时间:2023-09-26

有谁知道存在一个ThreeJS到WebGL的转换器吗?或者你能给我一些见解,我将如何使一个ThreeJS到WebGL转换器?

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是一个状态机。另外,函数名和数据结构非常不同。