Come posso generare normali di superficie?


9

Nel mio motore ho diversi metodi di disegno di debug che possono generare geometrie utili per il debug, come sfere e cubi.

Al momento non generi normali per queste forme. Esiste un metodo generico per generare normali facciali e normali per vertice per una mesh arbitraria? (Immagino che avresti bisogno di normali facciali per generare normali per vertice?)

Risposte:


12

Per generare normali facciali, utilizzare il prodotto a croce vettoriale di due spigoli per triangolo e quindi normalizzare il risultato. Assicurati di avere le indicazioni giuste, altrimenti alcune normali indicheranno e altre fuori.

Le normali ai vertici sarebbero quindi un'interpolazione di tutte le normali alle facce a cui è collegato il vertice.


Intendi un'interpolazione normalizzata (o semplicemente una somma normalizzata), presumibilmente;)
Andrew Russell,

3
Rinormalizza sempre dopo la somma! Anche se interpolato da vettori normalizzati, il risultato NON è normalizzato!
Bob Somers

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.