Vertex Processing: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
(This is multiple stages, not just one.)
Line 1: Line 1:
{{pipeline float}}
{{pipeline float}}
'''Vertex Processing''' is the stage of the OpenGL rendering pipeline where [[Vertex Specification|a sequence of vertices]] are processed via a series of [[Shader]]s.
'''Vertex Processing''' represents the set of stages of the OpenGL rendering pipeline where [[Vertex Specification|a sequence of vertices]] are processed via a series of [[Shader]]s.


== Vertex Shader ==
== Vertex Shader ==

Revision as of 14:50, 31 December 2019

Vertex Processing represents the set of stages of the OpenGL rendering pipeline where a sequence of vertices are processed via a series of Shaders.

Vertex Shader

The vertex shader is the programmable stage in the rendering pipeline that handles the processing of individual vertices. A vertex shader receives a single vertex composed of a series of Vertex Attributes. This input vertex is processed arbitrarily to produce an output vertex. There must be a 1:1 mapping from input vertices to output vertices.

Tessellation

This stage takes the vertices output from the previous stage, pulls them into primitives, and tessellates those primitives based on shader logic and a fixed-function tessellation system. It is optional; if no tessellation evaluation shader exists, then the outputs from the vertex shader are passed to the next stage.

Geometry Shader

A geometry shader (GS) is a Shader program that governs the processing of primitives. A GS can create new primitives, unlike vertex shaders, which are limited to a 1:1 input to output ratio. A GS can also perform layered rendering, where different primitives can be rendered to different attached layered images.

The GS is optional; if it is not present, primitives passed from prior stages are given to the next stage directly.