glDrawElements с постоянной нормой - PullRequest
2 голосов
/ 08 января 2011

Мне было просто любопытно, если вы можете указать константу Normal при рисовании одним вызовом DrawElements. Я использую VAO и VBO, так что это не такая проблема, потому что я загружаю их один раз для всех вершин и просто сохраняю VBO ID, но я мог бы освободить немного памяти в графической карте ..

это способ загрузки данных в графику:

glBindBuffer(GL_ARRAY_BUFFER,VBO[Grid][Normals]);
glNormalPointer(GL_FLOAT, sizeof(vector3f), 0);
glEnableClientState(GL_NORMAL_ARRAY);

Поскольку я определяю некоторую сетку 5x5x5, а затем использую индексы для создания кубической поверхности, справляться с нормалями не так уж много, и использование некоторой константы поможет:)

1 Ответ

2 голосов
/ 08 января 2011

Вы можете реализовать функцию с помощью вершинного шейдера, в котором всегда указывается одна и та же нормаль.Таким образом, требуется только указать нормаль как равномерную, поскольку она одинакова для этих вершин.

...