我目前正在开发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的内部状态系统和/或堆栈实现的详细信息。
发布于 2011-05-25 18:22:24
这里是Adobe Mole。你想要做的事情是非常有可能的。您应该从阅读旧的OpenGL规范开始。但是,请考虑一下你真正想做的事情和原因。作为一种教育练习,将70年代的技术映射到现代API是很棒的。如果你想做一个有用的库或学习现代3d,这是一条死胡同。Molehill API的一个伟大之处在于,它在脚本语言和GPU之间取得了适当的平衡:使用脚本批量处理大块的三角形绘图。对每个单独的顶点执行多个调用会破坏该模型。
发布于 2011-01-24 11:37:45
我已经决定开始作为一个项目自己,如果有人希望贡献,请与我联系。我已经注册了网站AS3GL.com,并设置了一个谷歌代码库为此做好准备。如果有人能够发送有关OpenGL堆栈和内部工作原理的信息,我将不胜感激。
编辑
这个库已经停止使用了,但这里是参考'dev GitHub‘https://github.com/Zest3D/as3gl/tree/dev的分支存储库
https://stackoverflow.com/questions/4758596
复制相似问题