在Stage3D
/ AGAL
中,是否可以通过以下方式将各个VertexBuffers指向相同的va0
,以便:
每个VertexBuffer
数据都可以独立更改(假设在某些情况下这是很好的表现,是吗?)。
每个VertexBuffer
关注va0
(第一个顶点属性寄存器)的一个字段,以便vertexbuffer1操纵va0.x
,vertexbuffer2 = va0.y
,vertexbuffer3 = va0.z
,并且vertexbuffer4 = va0.w
;
由于您可以在为Context3D
对象指定VertexBuffer时指定'offset'和数据格式(例如:FLOAT_1,FLOAT_4),我认为这是可能的。
也许我的设置不正确,但是当我尝试这个时,我无法实现它。
每个VertexBuffer是否需要占用每个寄存器中的整个4个字段?如果是这样,我不确定我理解为什么存在FLOAT_1-to-FLOAT_3值! :S
提前致谢!
答案 0 :(得分:1)
分配顶点缓冲区或常量时,分配128位(即4 x 32)。而且你将完全限制在一个属性(va0,va1)。所以我认为将不同的缓冲区绑定到单个属性是不可能的。如果你把FLOAT_1,你会浪费记忆。