'\" t .\" Title: gl_Position .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 05/21/2015 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GL_POSITION" "3G" "05/21/2015" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gl_Position \- contains the position of the current vertex .SH "DECLARATION" .PP \fIgl_Position\fR is a member of the \fIgl_PerVertex\fR named block: .sp .nf out gl_PerVertex { vec4 gl_Position; float gl_PointSize; float gl_ClipDistance[]; }; .fi .sp .SH "DESCRIPTION" .PP In the vertex, tessellation evaluation and geometry languages, a single global instance of the \fIgl_PerVertex\fR named block is available and its \fIgl_Position\fR member is an output that receives the homogeneous vertex position\&. It may be written at any time during shader execution\&. The value written to \fIgl_Position\fR will be used by primitive assembly, clipping, culling and other fixed functionality operations, if present, that operate on primitives after vertex processing has occurred\&. .PP In the tessellation control language, the \fIgl_PerVertex\fR named block is used to construct an array, \fIgl_out[]\fR, whose \fIgl_Position\fR members hold the homogeneous control point position, which become available as inputs to the subsequent tessellation evaluation shader\&. .PP The value of \fIgl_Position\fR (or the \fIgl_Position\fR member of the \fIgl_out[]\fR array, in the case of the tessellation control shader) is undefined after the vertex, tessellation control, and tessellation evaluation shading stages if the corresponding shader executable does not write to gl_Position\&. It is also undefined after the geometry processing stage if the geometry shader executable calls \fBEmitVertex\fR() without having written \fIgl_Position\fR since the last call to \fBEmitVertex\fR() (or hasn\*(Aqt written it at all)\&. .PP In the tessellation control, tessellation evaluation and geometry languages, the \fIgl_PerVertex\fR named block is used to construct an array, \fIgl_in[]\fR of per\-vertex or per\-control point inputs whose content represents the corresponding outputs written by the previous stage\&. .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Shading Language Version\fR T} T{ \fBFunction Name\fR T}:T{ \fB1\&.10\fR T}:T{ \fB1\&.20\fR T}:T{ \fB1\&.30\fR T}:T{ \fB1\&.40\fR T}:T{ \fB1\&.50\fR T}:T{ \fB3\&.30\fR T}:T{ \fB4\&.00\fR T}:T{ \fB4\&.10\fR T}:T{ \fB4\&.20\fR T}:T{ \fB4\&.30\fR T}:T{ \fB4\&.40\fR T}:T{ \fB4\&.50\fR T} .T& l c c c c c c c c c c c c. T{ gl_Position T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .PP Versions 1\&.10 to 1\&.40 \- vertex shader only\&. .PP Versions 1\&.50 to 3\&.30 \- vertex and geometry shaders only\&. .SH "SEE ALSO" .PP \fBgl_PointSize\fR(), \fBgl_ClipDistance\fR() .SH "COPYRIGHT" .PP Copyright \(co 2011\-2014 Khronos Group\&. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1\&.0, 8 June 1999\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2011-2014 Khronos Group .br