Показать сообщение отдельно
Старый 07.04.2014, 06:36   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Структура данных в вершинном буфере.

Как понимаю один буффер на много лучше разделённых (меньше биндов и указаний видяхе).
да, interleaved данные лучше. отдельными буферами можно делать тогда, когда часть данных постоянно заливается с хоста, а часть не меняется. (например позиции/нормали меша какой нибудь тряпки считающейся на цпу в одном буфере, а ее tc в другом, ибо позиции/нормали меняются, а tc нет)

attribute vec3 aVertexPosition : POSITION0;
это реально такой синтаксис в webgl-е или типа хотелки?
в gl3.0+ и gles 3.0 синтаксис таков:
layout (location = N) in vec3 aVertexPosition
по теме:
в акселе использовался один форат вершины на тип геометрии (два на сюрфейс, там данные были либо с двумя tc либо с цветом, в который можно было пропихнуть что нибудь).
т.е. обыные меши одни формат, скиненные другой, спрайтовые системы третий и т.д. при компиляции шейдера все стандартные аттрибуты жестко связывались (glBindAttribLocation).
иногда этого не хватало. и намного чаще буфер был просто жирнее чем нужно. в принципе не смертельно, но все равно неприятно.

в новом движке для меша можно написать свой описатель вершины и в шейдере через layout (location) его использовать. у многих вижу такой подход. мне он кажется более правильным.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (07.04.2014)