我目前正在研发AS3中的3D引擎,我已经为新推出的Molehill API设计了它,但我也希望渲染到当前的AS3图形API。我以为我会编写一个基于堆栈的实现来渲染到目标DisplayObject。然后我意识到我实际上可以创建一个OpenGL API样式接口来从实际的光栅化过程中抽象出我的3D引擎。 (就像任何基于OpenGL构建的3D引擎一样)这也允许其他3D引擎像任何其他导入的库一样使用代码。显然会有处理视口,矩阵堆栈等的功能,但是一个简单的例子是:
AS3GL.begin( AS3GL.GL_TRIANGLES );
AS3GL.color3f(1,0,0);
AS3GL.vertex2f(0,0);
AS3GL.color3f(0,1,0);
AS3GL.vertex2f(.5,0);
AS3GL.color3f(0,0,1);
AS3GL.vertex2f(.5,.5);
AS3GL.end();
我想知道我可以使用的AS3是否存在这样的东西,或者是否有人有关于OpenGL的内部状态系统和/或堆栈实现的任何详细信息。
答案 0 :(得分:1)
Adobe Mole在这里。你想做的事情很有可能。您应该从阅读旧的OpenGL规范开始。但请考虑您真正想做的事情和原因。作为一项教育活动,将70年代的技术映射到现代API非常棒。如果你想做一个有用的图书馆或学习现代3D,这是一个死胡同。关于Molehill API的一个好处是它在脚本语言和GPU之间取得了适当的平衡:使用脚本批量处理大块三角形绘图。对每个顶点执行多次调用会使该模型失效。
答案 1 :(得分:0)
我决定自己开始这个项目,如果有人愿意贡献请与我联系。我已经注册了网站AS3GL.com,并为此设置了Google代码库。如果有人能够发送有关OpenGL的堆栈和内部工作的信息,我将不胜感激。
[编辑]
这个库已经停产,但这里是GitHub回购参考'dev branch'https://github.com/Zest3D/as3gl/tree/dev