GL_EXT_geometry_point_size#

Supported Hardware#

Series6XT

Valid APIs#

OpenGL ES 3.1

Description#

This extension adds programmable point size to the geometry shader and allows resizing of generated point sprites that come through as input. This is useful for things like particle effects.

Example#

#extension GL_EXT_geometry_shader : require
#extension GL_EXT_geometry_point_size : require
#extension GL_EXT_shader_io_blocks : require
// Take in point primitives.
layout(points) in;
// Output up to 1 line primitive - needs at least two vertices (one line).
layout(points, max_vertices = 1) out;
void main()
{
    // Re-emit the point primitive - at twice the size
    gl_Position = gl_in[0].gl_Position + vec4(0.0,-0.1, 0.0, 0.0);
    gl_PointSize = gl_in[0].gl_PointSize * 2.0f;
    EmitVertex();
    // End the (point) primitive
    EndPrimitive();
}