Domanda

se si sta calcolando le normali di un poligono per il rendering su WebGL, si usa un normale per ogni indice dell'array indice o per ogni vertice sulla matrice di vertice?

È stato utile?

Soluzione

vertex

Ogni. Un vertice, nel senso WebGL (che è lo stesso come OpenGL ES e altri predecessori), non è realmente un punto nello spazio, ma piuttosto una combinazione di attributi. Uno di questi è quasi sempre la posizione (anche se in casi eccezionali, non si potrebbe avere quello), e altri sono in genere le cose come il vettore normale, il colore, le coordinate della texture, e così via.

L'array index, al contrario, è un offset nelle matrici di attributo vertice. Così, quando si specifica indice di (diciamo) 1 in un array di indice, è un'abbreviazione per "il vertice fatto di combinare la prima posizione nel buffer di posizione, la prima normale nel buffer normale, il primo colore nel buffer di colore, e la prima coordinata della texture nel tessuto coordinate buffer".

La cosa più intuitivo per me quando l'apprendimento di questo è stata la separazione vertici delle posizioni che capita di occupare. Non c'è alcuna ragione per cui due vertici non possono avere la stessa posizione.

Altri suggerimenti

note qui , l'utente sta calcolando li per ogni vertice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top