Portal:OpenGL Shading Language/Geometry Shader: Difference between revisions
Jump to navigation
Jump to search
Geometry shader summary |
m Proper link. |
||
Line 1: | Line 1: | ||
The '''Geometry Shader''' is the shader stage just before [[Vertex Post-Processing]]. It takes a [[Primitive]] as input and outputs zero or more primitives. Geometry Shaders are used to do setup work for [[Transform Feedback]] operations, as well as tag primitives as being rasterized to specific layers in the | The '''Geometry Shader''' is the shader stage just before [[Vertex Post-Processing]]. It takes a [[Primitive]] as input and outputs zero or more primitives. Geometry Shaders are used to do setup work for [[Transform Feedback]] operations, as well as tag primitives as being rasterized to [[Framebuffer_Object#Layered_Images|specific layers in the Framebuffer Object]]. | ||
Though Geometry Shaders can be used to implement a form of tessellation, you are advised to avoid using them for this purpose. On hardware that lacks [[Tessellation]] support, GS's will be quite slow at it. And on hardware with proper Tessellation support, you should just use that. | Though Geometry Shaders can be used to implement a form of tessellation, you are advised to avoid using them for this purpose. On hardware that lacks [[Tessellation]] support, GS's will be quite slow at it. And on hardware with proper Tessellation support, you should just use that. |
Revision as of 08:17, 25 July 2013
The Geometry Shader is the shader stage just before Vertex Post-Processing. It takes a Primitive as input and outputs zero or more primitives. Geometry Shaders are used to do setup work for Transform Feedback operations, as well as tag primitives as being rasterized to specific layers in the Framebuffer Object.
Though Geometry Shaders can be used to implement a form of tessellation, you are advised to avoid using them for this purpose. On hardware that lacks Tessellation support, GS's will be quite slow at it. And on hardware with proper Tessellation support, you should just use that.