0

Stage3D/AGAL中,是否可以通过以下方式将单个 VertexBuffers 指向相同va0的对象:

  • 每个VertexBuffer数据都可以独立更改(假设在某些情况下这是很好的性能,是吗?)。

  • 每个都VertexBuffer专注于va0(第一个顶点属性寄存器)的一个字段,以便 vertexbuffer1 操作va0.x、 vertexbuffer2 = va0.y、 vertexbuffer3 =va0.z和 vertexbuffer4 = va0.w

由于您可以在将 VertexBuffer 分配给对象时指定“偏移量”和数据格式(例如:FLOAT_1、FLOAT_4)Context3D,我想这是可能的。

也许我的设置不正确,但是当我尝试这样做时,我无法实现。

每个 VertexBuffer 是否需要占用每个寄存器中的全部 4 个字段?如果是这样,我不确定我是否理解为什么存在 FLOAT_1 -to- FLOAT_3 值!:S

提前致谢!

4

1 回答 1

1

当您分配顶点缓冲区或常量时,您分配 128 位(即 4 x 32)。而且您将被完全限制在一个属性(va0,va1)上。所以我认为不可能将不同的缓冲区绑定到单个属性。而且如果你放FLOAT_1,你会浪费内存。

于 2012-04-24T07:02:55.400 回答