stage 3d学习笔记

1. texture不能实例化,要创建一个texture对象,需要调用Context3D实例的createTexture(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() 方法可以在舞台上显示呈现的场景。

  1. 3. 在开发阶段,记得设置context3D.enableErrorChecking = true,可以获得更多的错误信息,给调试带来很大的帮助。
  2. 4. drawTriangles()后记得要调用present(),否则看到屏幕还是黑的有木有
  3. 5. setProgramConstantsFromMatrix的第四个参数一定要注意,不然很容易黑屏的有木有
  4. 6. setProgramConstantsFromMatrix的第一个参数的单位是弧度而不是角度,所以想要使视角是90°需要用Math.PI*90/180而不是直接用90°作为参数。
原文地址:https://www.cnblogs.com/hisiqi/p/3162072.html