Rendering basato sull'hardware della geometria 3D
Creare hardware e fare il rendering di una geometria 3D
Per rendere una geometria 3D, sono necessari uno shader, buffer e stato di rendering. Nessuno di loro può lavorare l’uno senza l’altro.
- Tamponi-Gli elenchi dei triangoli sono triangoli individuali specificati in un array a volte indicato come buffer. In un elenco di triangolo, ogni triangolo viene specificato individualmente. I punti di un triangolo possono essere condivisi utilizzando gli indici per ridurre la quantità di dati che devono essere passati all’hardware grafico.
- Ombanti-Definisce come trasformare i triangoli dallo spazio mondiale nello spazio dello schermo e calcolare il colore del pixel finale sul lato GPU
- Stati di rendita-Fornisce parametri per la GPU per rasterizzare i triangoli in pixel.
Lo OpenGL Shading Language (GLSL) è il linguaggio di ombreggiatura standard di alto livello per la grafica OpenGL API. Il metodo InitRenderer
nel file AssetBrowser/Controls/RenderView.cs
sotto l’applicazione demo (nome: AssetBrowser) dimostra il semplice utilizzo di GLSL utilizzando Aspose.3D API. Esistono tre tipi di shader comunemente usati: Vertex Shader, Frammento Shader e Geometry Shaders.
La classe GLSLSource
dice al renderer, il codice sorgente è per il linguaggio di ombreggiatura OpenGL, può essere compilato alla classe ShaderProgram
. La classe ShaderVariable
definisce le variabili utilizzate nello shader. La classe VariableSemantic
viene utilizzata per identificare la semantica della variabile shader, il renderer Aspose.3D preparerà automaticamente i valori delle variabili shader a seconda della semantica.
Campione di programmazione per Shader
Questo esempio di codice inizializza renderer e Shader per la griglia. Puoi scaricare il progetto di lavoro completo di questo esempio daQui.
Campione di programmazione per il buffer e lo stato di rendering
Questo esempio di codice inizializza il buffer e lo stato di rendering per la griglia.