Estou começando a aprender o OpenGL criando um jogo 2D puro.
Eu tenho que decidir sobre o formato dos vértices. Preciso de um componente normal? Ou isso não é necessário para um componente 2D?
Meu pressentimento diz que não vou precisar, já que tudo é plano. Mas talvez eu precise disso para um shader ou outra coisa que ainda não vejo.
Você não precisa de normais, a menos que esteja fazendo simulações de iluminação. Eles são bastante triviais para adicionar quando você precisar deles, em comparação com a dificuldade real de escrever shaders de iluminação.
fonte
Se você estiver desenhando seus triângulos em um espaço 3D e depois visualizando tudo de lado para parecer 2D (o que você deve fazer), precisará de normais para poder desenhar luzes por cima seus quadriláteros.
Se você não acender nada, não precisará de normais.
Minha recomendação, já que você está fazendo essa pergunta, é omitir os normais por enquanto, independentemente de quais são seus planos posteriores. Não será difícil adicioná-los mais tarde, se você precisar deles.
fonte
Só você sabe se precisará de normais em um jogo 2D. Eles podem fazer sentido - DOOM, por exemplo, tinha normais mesmo que fosse um jogo em 2D (sim, sim, parecia bastante 3D, mas tecnicamente ainda era um jogo em 2D).
Uma boa razão para ter normais em um jogo 2D seria poder verificar se você está dentro ou fora de alguma forma. Também pode acelerar a resposta à colisão na parede (sabendo a direção para empurrar objetos para fora da parede).
Não há motivo para dar os normais ao OpenGL ou a qualquer pacote de renderização que você use, se não for necessário para nada (como a iluminação praticamente todo mundo já apontou).
fonte
Que tipo de jogo é esse? Se você tem uma perspectiva de cima para baixo, os normais podem ser úteis para movimentar seus personagens (você sabe, mudar de posição ao longo da normal direção que o personagem está enfrentando)
As normais também são úteis para diversos comportamentos de direção. Mas um link diz mais de mil palavras: http://www.red3d.com/cwr/steer
fonte