/ / glDrawElements com constante normal - c ++, opengl, constantes, desenhar, normais

glDrawElements com constante normal - c ++, opengl, constantes, desenhar, normais

Eu estava apenas curioso se você pode especificar constantenormal ao desenhar com uma única chamada de DrawElements. Eu estou usando VAOs e VBOs, então não é esse problema porque eu os carrego uma vez para todos os vértices e apenas armazeno o VBO ID, mas eu poderia liberar alguma memória na placa gráfica.

esta é a maneira que você precisa para carregar dados em gráficos:

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

Como eu especifico alguns 5x5x5 grid e, em seguida, usar índices para criar surficce cúbico, não é muito para lidar com as normais e usando alguma constante ajudaria :)

Respostas:

2 para resposta № 1

Você pode implementar a função usando um sombreador de vértice que especifica sempre a mesma normal. Então, só é necessário especificar o normal como uniforme, já que é o mesmo para esses vértices.