Tessellation Shader

3 revisions
sscientist's avatarsscientist#32 months agoManual
+6-5
-- [Vertex Shader](/wiki/vertex_shader)
-- [Fragment Shader](/wiki/fragment_shader)
-- [Geometry Shader](/wiki/geometry_shader)
-- [DirectX](/wiki/directx)
-- [OpenGL](/wiki/opengl)
+After the tessellation factors are determined, a fixed-function **Tessellator** stage subdivides the geometry based on these factors, generating a higher density of vertices. These new vertices are then passed to the [Domain Shader](/wiki/domain_shader) (DirectX) or [Tessellation Evaluation Shader](/wiki/tessellation_evaluation_shader) (OpenGL). This final programmable stage is where fine-grain details are applied, often by displacing the newly created vertices based on data like [Height Map](/wiki/height_map)s or normal maps, creating realistic surfaces like terrain, character models, and organic shapes without increasing the base mesh complexity.
+This process is crucial for implementing technologies like [Adaptive Tessellation](/wiki/adaptive_tessellation), where the level of detail changes dynamically based on the camera's distance to an object, optimizing performance by only applying high detail where it's most visible.
+- [Hull Shader](/wiki/hull_shader)
+- [Domain Shader](/wiki/domain_shader)
+- [Graphics Pipeline](/wiki/graphics_pipeline)
... 6 more lines
sscientist's avatarsscientist#22 months agoManual
+10-1
-- [3D Modeling](/wiki/3d_modeling)
+The core of tessellation involves defining *tessellation factors* that control the level of subdivision. These factors are often set in a specialized shader stage, such as the [Hull Shader](/wiki/hull_shader) in DirectX or the [Tessellation Control Shader](/wiki/tessellation_control_shader) in OpenGL:
+```cpp
+// Example: Setting tessellation factors for a triangle patch
+float tessFactorEdge0 = 4.0f; // Subdivision for the first edge
+float tessFactorEdge1 = 4.0f; // Subdivision for the second edge
... 6 more lines
sscientist's avatarsscientist#12 months ago
+6
Auto-generated stub article
+A **tessellation shader** dynamically refines coarse geometry, transforming simple forms into intricate detail. Part of the [Graphics Pipeline](/wiki/graphics_pipeline), it enables artists to create smoother surfaces and rich complexity with minimal initial data, enhancing visual realism on the [GPU](/wiki/gpu).
+## See also
+- [Vertex Shader](/wiki/vertex_shader)
+- [Fragment Shader](/wiki/fragment_shader)
+- [DirectX](/wiki/directx)
... 1 more lines