stage 3d学习笔记
1. texture不能实例化,要创建一个texture对象,需要调用Context3D实例的createTexture(width:int, height:int, format:String, optimizeForRenderToTexture:Boolean, streamingLevels:int = 0):flash.display3D.textures:Texture)方法。同样的Program3D也不能实例化,要创建一个Program3D对象,需要调用Context3D实例的setProgram方法。
2.若要呈现并显示某个场景(在获取 Context3D 对象后),下面是典型的步骤:
1) 通过调用 configureBackBuffer() 来配置主显示缓冲区属性。
2) 创建并初始化您的呈现资源,包括:
l 定义场景几何的顶点和索引缓冲区
l 用于呈现场景的顶点和像素程序(着色器)
l 纹理
3) 呈现帧:
l 为场景中的一个对象或一组对象设置适当的呈现状态。
l 调用 drawTriangles() 方法可以呈现一组三角形。
l 更改下一组对象的呈现状态。
l 调用 drawTriangles() 可以绘制定义对象的三角形。
l 重复直至场景全部呈现。
l 调用 present() 方法可以在舞台上显示呈现的场景。
- 3. 在开发阶段,记得设置context3D.enableErrorChecking = true,可以获得更多的错误信息,给调试带来很大的帮助。
- 4. drawTriangles()后记得要调用present(),否则看到屏幕还是黑的有木有
- 5. setProgramConstantsFromMatrix的第四个参数一定要注意,不然很容易黑屏的有木有
- 6. setProgramConstantsFromMatrix的第一个参数的单位是弧度而不是角度,所以想要使视角是90°需要用Math.PI*90/180而不是直接用90°作为参数。