2011 Khronos Group
gl_PointSize 3G
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 geoemtry 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 geoemetry 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

#VARTABLECOLS#
#VARTABLEHEADER#
gl_PointSize (vertex shader)#newin11#
gl_PointSize (geometry shader)#newin15#

## See Also

gl_Position, gl_ClipDistance

## Copyright

Copyright 2011 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/.