周末闲着无聊,写了些实验代码来扎实stage3d的基础知识
1、在未做任何矩阵变换时,顶点(0,0,0)将显示在屏幕正中央;顶点(1,0,0)将显示在屏幕最左边;顶点(-1,0,0)将显示在屏幕最右边;顶点(0,1,0)将显示在屏幕最上边。依此类推。
2、Z的取值只能是0-1。否则将显示不出来。并且,未做任何矩阵变换时,Z并不会影响模型显示出来的大小。。这种近大远小的透视效果,是要我们自己去计算才会有的。。
3、clear时,通常将depth设置为1。原因就在于Z=1就代表了最深处。。
4、setCulling默认情况下,应该是正反面都不裁Context3DTriangleFace.NONE。
5、顺时针是正面,逆时针是背面。
6、setProgramConstantsFromMatrix占用4个寄存器。
7、setProgramConstantsFromMatrix最后一个参数通常置为true,代表矩阵被复制到寄存器时,会进行一次转置。这是因为,Matrix3D中的存储方式是先列后行的,因此Matrix3D存的实际上是转置矩阵,所以上传到显卡时要先把它转置回来。
8、setProgramConstantsFromVector最后一个参数指定占用寄存器数量。如果使用默认值-1代表根据Vector的长度决定占用寄存器数量。
9、使用setProgramConstantsFromVector上传的那个Vector,长度应为4的倍数,否则可能出现一些奇怪的问题。