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.