Tessellation-Shader

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Zusammenhang zwischen innerem und äußeren Tessellationslevel

Als Tessellation-Shader wird ein Teil der Grafikpipeline in der 3D-Computergraphik bezeichnet. Technisch besteht er aus zwei getrennten Shadern und einem Fixed-Function Tessellator. Der Aufruf der Tessellation-Shader erfolgt nach dem Vertex-Shader und vor dem Geometry-Shader. Aufgabe der Tessellation-Shader ist die Zerlegung von Flächen, sogenannten Patches, in kleinere Flächen (üblicherweise Drei- oder Vierecke).

Funktion[Bearbeiten | Quelltext bearbeiten]

Zunächst wird der Tessellation-Control Shader aufgerufen, dieser arbeitet auf sogenannten „Patches“. Ein Patch besteht aus einer Menge von Punkten (Vertices) sowie weiteren dem Patch zugeordneten Daten, die u.a. die Feinheit der Tesellierung (Unterteilung) bestimmen. Der Fixed-Function Tessellator zerlegt nun jeden Input-Patch in (i.d.R. mehrere) Output-Patches, üblicherweise in Dreiecke oder Vierecke. Der zweite Shader, der Tessellation-Evaluation Shader kann nun die neu erzeugten Vertices verschieben. In Direct3D werden diese beiden Shader Hull-Shader bzw. Domain-Shader genannt.

Unterstützung[Bearbeiten | Quelltext bearbeiten]

OpenGL unterstützt Tessellation-Shader seit Version 4.0. Programme für den Shader können in der OpenGL Shading Language (GLSL) geschrieben werden. Direct3D unterstützt Tessellation-Shader seit Version 10.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]