gl_PointSize — contains size of rasterized points, in pixels
gl_PointSize
is a member of the
gl_PerVertex
named block:
out gl_PerVertex { vec4 gl_Position; float gl_PointSize; float gl_ClipDistance[]; };
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.
OpenGL Shading Language Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Variable Name | 1.10 | 1.20 | 1.30 | 1.40 | 1.50 | 3.30 | 4.00 | 4.10 | 4.20 | 4.30 | 4.40 | 4.50 |
gl_PointSize (vertex shader) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
gl_PointSize (geometry shader) | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
gl_PointSize (tessellation evaluation shader) | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
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/.