Cómo obtener planos normales en un cubo.

Estoy usando OpenGL sin las funciones en desuso y mi cálculo de luz se realiza en el sombreador de fragmentos. Por lo tanto, estoy haciendo suave sombreado.

Mi problema es que cuando estoy dibujando un cubo, necesito normales planas. Por normales planas quiero decir que cada fragmento generado en una cara tiene la misma normalidad.

Mi solución a esto hasta ahora es generar diferentes vértices para cada cara. Entonces, en lugar de tener 8 vértices, ahora tengo 24 (6 * 4) vértices.

Pero esto me parece mal, replicando los vértices. ¿Hay una mejor manera de obtener normales planas?

Actualización: estoy usando OpenGL versión 3.3.0, todavía no tengo soporte para OpenGL 4.

Respuestas a la pregunta(3)

Su respuesta a la pregunta