Provided by: opengl-4-man-doc_1.0~svn33624-1_all
NAME
gl_PointSize - contains size of rasterized points, in pixels
DECLARATION
gl_PointSize is a member of the gl_PerVertex named block: out gl_PerVertex { vec4 gl_Position; float gl_PointSize; float gl_ClipDistance[]; };
DESCRIPTION
In the vertex, tessellation evaluation and geometry languages, a single global instance of the gl_PerVertex named block is available and its gl_PointSize member is an output that receives the intended size of the point to be rasterized, in pixels. It may be written at any time during shader execution. If GL_PROGRAM_POINT_SIZE is enabled, gl_PointSize is used to determine the size of rasterized points, otherwise it is ignored by the rasterization stage. In the tessellation control language, the gl_PerVertex named block is used to construct an array, gl_out[], whose members become available as inputs to the subsequent tessellation evaluation shader. The value of gl_PointSize (or the gl_PointSize member of the gl_out[] 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_PointSize. It is also undefined after the geometry processing stage if the geometry shader executable calls EmitVertex() without having written gl_PointSize since the last call to EmitVertex() (or hasn't written it at all). In the tessellation control, tessellation evaluation and geometry languages, the gl_PerVertex named block is used to construct an array, gl_in[] of per-vertex or per-control point inputs whose content represents the corresponding outputs written by the previous stage.
VERSION SUPPORT
┌──────────────┬───────────────────────────────────────────────────────────────────────────────────┐ │ │ OpenGL Shading Language Version │ ├──────────────┼──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┤ │Variable │ 1.10 │ 1.20 │ 1.30 │ 1.40 │ 1.50 │ 3.30 │ 4.00 │ 4.10 │ 4.20 │ 4.30 │ 4.40 │ 4.50 │ │Name │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ │gl_PointSize │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ │(vertex │ │ │ │ │ │ │ │ │ │ │ │ │ │shader) │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ │gl_PointSize │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ │(geometry │ │ │ │ │ │ │ │ │ │ │ │ │ │shader) │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ │gl_PointSize │ - │ - │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ │(tessellation │ │ │ │ │ │ │ │ │ │ │ │ │ │evaluation │ │ │ │ │ │ │ │ │ │ │ │ │ │shader) │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
SEE ALSO
gl_Position(), gl_ClipDistance()
COPYRIGHT
Copyright © 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. http://opencontent.org/openpub/.
COPYRIGHT
Copyright © 2011-2014 Khronos Group [FIXME: source] 01/03/2018 GL_POINTSIZE(3G)