Geometry Shader/Defined Inputs Layered: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
separate page for built-in inputs.
 
Formatting.
Line 6: Line 6:
</source>
</source>


The {{code|gl_Layer}} output defines which layer in the layered image the primitive goes to. Each vertex in the primitive must get the same layer index. Note that when rendering to cubemap arrays, the {{code|gl_Layer}} value represents layer-faces (the faces within a layer), not the layers of cubemaps.
; {{code|gl_Layer}}
 
: output defines which layer in the layered image the primitive goes to. Each vertex in the primitive must get the same layer index. Note that when rendering to cubemap arrays, the {{code|gl_Layer}} value represents layer-faces (the faces within a layer), not the layers of cubemaps.
{{code|gl_ViewportIndex}}, which requires GL 4.1 or {{extref|viewport_array}}, specifies which viewport index to use with this primitive.
; {{code|gl_ViewportIndex}}
: specifies which viewport index to use with this primitive. This requires GL 4.1 or {{extref|viewport_array}}.


{{note|{{extref|viewport_array}}, while technically a 4.1 feature, is widely available on 3.3 hardware, from both NVIDIA and AMD.}}
{{note|{{extref|viewport_array}}, while technically a 4.1 feature, is widely available on 3.3 hardware, from both NVIDIA and AMD.}}

Revision as of 08:50, 26 July 2013

Layered rendering in the GS works via two special output variables:

out int gl_Layer;
out int gl_ViewportIndex; //Requires GL 4.1 or ARB_viewport_array.
gl_Layer
output defines which layer in the layered image the primitive goes to. Each vertex in the primitive must get the same layer index. Note that when rendering to cubemap arrays, the gl_Layer value represents layer-faces (the faces within a layer), not the layers of cubemaps.
gl_ViewportIndex
specifies which viewport index to use with this primitive. This requires GL 4.1 or ARB_viewport_array.
Note: ARB_viewport_array, while technically a 4.1 feature, is widely available on 3.3 hardware, from both NVIDIA and AMD.