GL_POINTSIZE(3G)

    .SH "NAME" gl_PointSize - contains size of rasterized points, in pixels
    .SH "DECLARATION"

        .PP gl_PointSize is a member of the gl_PerVertex named block:

    out gl_PerVertex {
        vec4 gl_Position;
        float gl_PointSize;
        float gl_ClipDistance[];
    };

    .SH "DESCRIPTION"
        .PP 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.
        .PP 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.
        .PP 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).
        .PP 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.

    .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{ OpenGL Shading Language Version T} T{ Variable Name T}:T{ 1.10 T}:T{ 1.20 T}:T{ 1.30 T}:T{ 1.40 T}:T{ 1.50 T}:T{ 3.30 T}:T{ 4.00 T}:T{ 4.10 T}:T{ 4.20 T}:T{ 4.30 T}:T{ 4.40 T}:T{ 4.50 T} l c c c c c c c c c c c c l c c c c c c c c c c c c l c c c c c c c c c c c c. T{ gl_PointSize (vertex shader) 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} T{ gl_PointSize (geometry shader) 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} T{ gl_PointSize (tessellation evaluation shader) 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}

    .SH "SEE ALSO"
        .PP gl_Position(), gl_ClipDistance()

    .SH "COPYRIGHT"
        .PP 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. https://opencontent.org/openpub/.

COPYRIGHT
Copyright © 2011-2014 Khronos Group