Is there scenarios where this is actually good practice? Or does it slow down performance?
Example:
//Vertex format is:
//X, Y, U, V
var myXYs:Vector.<Number> = new <Number>[
-1, -1,
1, -1,
1, 1,
-1, 1
];
var myUVs:Vector.<Number> = new <Number>[
0, 0,
1, 0,
1, 1,
0, 1
]
//Create actual VertexBuffers....
// ...yaddiyaddiyadda...
//Set context3d's vertex-attributes:
//Assign 'va0':
context3D.setVertexBufferAt(0, bufferXY, 0, Context3DVertexBufferFormat.FLOAT_2);
//Assign 'va1':
context3D.setVertexBufferAt(1, bufferUV, 0, Context3DVertexBufferFormat.FLOAT_2);
Would the GPU have to constantly internally 'swap' between bufferXY and bufferUV to process the vertex-data? Or does it handle it just as good as a single vertex-buffer?
NOTE: My goal is to figure out a way to minimize uploading data from CPU to GPU for a large number of objects (more than the 128 limit with vertex-constants in Stage3D) by manipulating a list of vertices only responsible for the position of objects rather than the entire geometry + color and/or UV coordinates.
