Como obter normais planas em um cubo
Estou usando o OpenGL sem os recursos obsoletos e meu cálculo de luz é feito no fragment shader. Então, estou fazendo um sombreamento suave.
Meu problema é que, quando estou desenhando um cubo, preciso de normais normais. Por normais planas quero dizer que cada fragmento gerado em uma face tem o mesmo normal.
Minha solução para isso até agora é gerar diferentes vértices para cada face. Então, em vez de ter 8 vértices, agora tenho 24 (6 * 4) vértices.
Mas isso parece errado para mim, replicando os vértices. Existe uma maneira melhor de obter normais normais?
Atualização: Estou usando o OpenGL versão 3.3.0, ainda não tenho suporte para o OpenGL 4.