В Stage3D
/AGAL
, можно указать для отдельных VertexBuffers к тому же va0
таким образом, чтобы:Может ли четыре (4) одиночных VertexBuffers быть привязаны к каждому полю регистра Vertex Attribute?
Каждые данные
VertexBuffer
могут быть независимо изменено (было бы предположить, что это большая производительность в некоторых ситуациях , да?).Каждый
VertexBuffer
фокусируется на одном полеva0
(первого регистра вершинного атрибута), так что vertexbuffer1 манипулируетva0.x
, vertexbuffer2 =va0.y
, vertexbuffer3 =va0.z
и vertexbuffer4 =va0.w
;
Так как вы можете указать «смещение» и формат данных (например: FLOAT_1, FLOAT_4) при назначении VertexBuffer к Context3D
объекта, я предположил бы, что это может быть возможно.
Возможно, моя установка неверна, но когда я попробовал это, я не смог ее достичь.
Нужно ли каждому VertexBuffer принимать все 4 поля в каждом регистре? Если это так, я не уверен, что понимаю, почему существуют значения FLOAT_1 -to-FLOAT_3! : S
Заранее благодарен!
Я думаю, что нашел решение этого, глядя на исходный код для Axel (axgl.org). Я позже опубликую подробный ответ, но на данный момент - похоже, что 'VertexBuffer' можно повторно использовать в разных регистрах атрибутов вершин, а игра со смещением может дать некоторые опрятные решения при использовании FLOAT_2. Не похоже, что отдельные VertexBuffers могут быть привязаны к одному и тому же атрибуту вершины без перезаписывания предыдущего. – bigp