假设我想从零开始创建一个3D环境,没有任何类型的库。我的直觉是创建一个3D矩阵(一个矢量,因为我使用AS3)然后操纵矩阵中的对象和摄像机的位置。然后我会计算活动摄像机的位置以及它应该能够看到多少矩阵,并将矩阵(对象)的那些部分渲染到视图中。
当然,我会有一个单独的矩阵,用于保存对象位置以便有效访问。
效率这么高吗?处理器能否在单线程AS3应用程序中处理这些计算?如果没有,什么是更好的方法?
答案 0 :(得分:0)
在Actionscript3中,有一些基本的3D对象,例如Matrix3D,Vector3D,TriangleCulling,Utils3D,GraphicsTrianglePath。这些对象已经过优化,但请不要指望奇迹。我已经查看了自己的引擎,我可以使用20-30 fps渲染700个面的模型。
更好(更快)的方法是在AS3中使用GPU加速方法:Stage3D,Context3D。这些对象更抽象,就像编写OpenGL或DirectX一样。
因此,如果您想了解3D引擎如何工作,请选择1.另外选择2或WebGL。