2013-07-21 3 views

ответ

4

Это смещение указателя в массив, который вы используете. Тем не менее, это количество байтов, которое вы должны наложить на указатель, который не совсем интуитивно понятен.

Если вы используете чередующиеся атрибуты, это количество байтов от начала до первого экземпляра этого атрибута.

Пример:

VVVNNNTTVVVNNTT 

Где данные о положении Vertex, N представляет собой вектор нормали, а Т текстура corodinate.

Смещение V является 0 (это в начале)

Смещение N является (GLvoid*) (3*sizeof(vertex data type))

Смещение Т (GLvoid*) (3*sizeof(vertex data type) + 3*sizeof(normal data type))

Кроме того, если у вас есть последовательные атрибуты, это было бы быть отправной точкой для каждого атрибута.

Пример:

VVVV...VVVNNN...NNNTT...TT 

Смещение V является 0 (это в начале)

Смещение N является (GLvoid*) (3*sizeof(vertex data type)*number_of_vertices)

Смещение Т (GLvoid*) (3*sizeof(vertex data type)*number_of_vertices + 3*sizeof(normal data type)*number_of_normals)

Смежные вопросы