Hardware basiertes Rendern von 3D Geometrie
Hardware erstellen und eine 3D-Geometrie auszahlen
Um eine 3D-Geometrie zu rendern, sind ein Shader, Puffer und ein Render zustand erforderlich. Keiner von ihnen kann ohne einander arbeiten.
- Puffer-Dreiecks listen sind einzelne Dreiecke, die in einem Array angegeben sind, das manchmal als Puffer bezeichnet wird. In einer Dreiecks liste wird jedes Dreieck einzeln angegeben. Punkte eines Dreiecks können mithilfe von Indizes gemeinsam genutzt werden, um die Datenmenge zu reduzieren, die an die Grafik hardware übergeben werden muss.
- Shader-Es definiert, wie man die Dreiecke aus dem Weltall in den Bildschirm raum transform iert und die endgültige Pixel farbe in der GPU-Seite berechnet
- Render Staaten-Es bietet Parameter für die GPU, um die Dreiecke in Pixel zu rastern.
Die OpenGL Shading Language (GLSL) ist die Standard-Schattierung sprache auf hoher Ebene für die OpenGL-Grafik API. Es werden häufig drei Shader-Typen verwendet: Vertex-Shader, Fragment-Shader und Geometry-Shader.
Die GLSLSource
-Klasse teilt dem Renderer mit, dass der Quellcode für die OpenGL-Shading-Sprache gilt und zu einer ShaderProgram
-Klasse kompiliert werden kann. Die ShaderVariable
-Klasse definiert die im Shader verwendeten Variablen. Die VariableSemantic
-Klasse wird verwendet, um die semantische Aspose der Shader-Variable zu identifizieren. 3D Renderer bereitet automatisch Shader-Variablen werte vor, die von der Semantik abhängen.
Programmier probe für Shader
Dieses Code beispiel initial isiert Renderer und Shader für das Raster. Sie können das komplette Arbeits projekt dieses Beispiels von Hier herunter laden.
Programmier probe für den Puffer-und Render zustand
Dieses Code beispiel initial isiert den Puffer-und Render zustand für das Raster.