Condivisione della tecnologia

Grafica 3D in tempo reale con WebGL2

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Pipeline di rendering WebGL

La figura seguente è un diagramma schematico della pipeline di rendering WebGL:

Oggetti Vertex Buffer (VBO)

VBOS contiene informazioni utilizzate per descrivere la geometria. Ad esempio, le coordinate del vertice, le coordinate normali, il colore, le coordinate della trama, ecc. della geometria.

Oggetti buffer indice (IBO)

Gli IBO contengono informazioni che descrivono le relazioni tra i vertici. Utilizza la posizione dell'indice del vertice nei VBO.

Shader del vertice

Il vertex shader viene eseguito su ogni vertice. Gestisce le informazioni relative ai vertici, come le coordinate dei vertici, le coordinate normali, le coordinate del colore e della trama. Queste informazioni sono ottenute dal VBO e associate all'attributo utilizzato nel vertex shader.

Shader di frammento

Lo shader del frammento viene eseguito su ciascun frammento per calcolare il colore di ciascun frammento.

Buffer di fotogramma

Il frame buffer è un buffer bidimensionale utilizzato per archiviare i frammenti elaborati nello shader dei frammenti. Una volta elaborati tutti i frammenti, i risultati del rendering possono essere visualizzati sullo schermo.

Attributi

Le proprietà sono variabili di input nel vertex shader. Specifica come leggere i dati dal buffer e passarli al vertex shader. È possibile memorizzare le informazioni sulla posizione (tre dati in virgola mobile a 32 bit) nel buffer. Quindi specificare da quale buffer leggere le informazioni sulla posizione, qual è il tipo di dati delle informazioni sulla posizione, da quale posizione nel buffer iniziare la lettura e quanti byte leggere in totale. Poiché il vertex shader deve essere eseguito su ogni vertice, i valori degli attributi non saranno gli stessi ogni volta che viene eseguito.

Uniformi

Le uniformi sono variabili di input per gli shader di vertici e gli shader di frammenti. A differenza degli Attributi, le variabili Uniformi vengono fissate all'interno di un ciclo di rendering. Ad esempio, la posizione della sorgente luminosa.

Texture

Le texture spesso contengono dati di immagine, ma possono contenere altri dati.

Variazioni

Le variabili variabili vengono spesso utilizzate per passare i dati dal vertex shader allo shader del frammento. Le variabili Varyings nel vertex shader vengono interpolate prima di essere passate allo shader del frammento.