Jak uzyskać płaskie normalne sześciany

Używam OpenGL bez przestarzałych funkcji i moje obliczenia dotyczące światła są wykonywane na cieniowaniu fragmentów. Robię gładkie cieniowanie.

Mój problem polega na tym, że kiedy rysuję sześcian, potrzebuję płaskich normalnych. Przez płaskie normalne rozumiem, że każdy fragment generowany na twarzy ma tę samą normę.

Moim dotychczasowym rozwiązaniem jest generowanie różnych wierzchołków dla każdej twarzy. Więc zamiast 8 wierzchołków mam teraz 24 (6 * 4) wierzchołków.

Ale wydaje mi się to niewłaściwe, powtarzając wierzchołki. Czy jest lepszy sposób na zdobycie płaskich normalnych?

Aktualizacja: Używam OpenGL w wersji 3.3.0, nie mam jeszcze wsparcia dla OpenGL 4.

questionAnswers(3)

yourAnswerToTheQuestion