Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class EXTGeometryShader4

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to the EXT_geometry_shader4 extension.

EXT_geometry_shader4 defines a new shader type available to be run on the GPU, called a geometry shader. Geometry shaders are run after vertices are transformed, but prior to color clamping, flat shading and clipping.

A geometry shader begins with a single primitive (point, line, triangle). It can read the attributes of any of the vertices in the primitive and use them to generate new primitives. A geometry shader has a fixed output primitive type (point, line strip, or triangle strip) and emits vertices to define a new primitive. A geometry shader can emit multiple disconnected primitives. The primitives emitted by the geometry shader are clipped and then processed like an equivalent OpenGL primitive specified by the application.

Furthermore, EXT_geometry_shader4 provides four additional primitive types: lines with adjacency, line strips with adjacency, separate triangles with adjacency, and triangle strips with adjacency. Some of the vertices specified in these new primitive types are not part of the ordinary primitives, instead they represent neighboring vertices that are adjacent to the two line segment end points (lines/strips) or the three triangle edges (triangles/tstrips). These vertices can be accessed by geometry shaders and used to match up the vertices emitted by the geometry shader with those of neighboring primitives.

Since geometry shaders expect a specific input primitive type, an error will occur if the application presents primitives of a different type. For example, if a geometry shader expects points, an error will occur at Begin() time, if a primitive mode of TRIANGLES is specified.

Field Summary

Modifier and TypeField and Description
public static final int
GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT

Accepted by the pname parameter of GetFramebufferAttachment- ParameterivEXT.

public static final int
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT

Accepted by the pname parameter of GetFramebufferAttachment- ParameterivEXT.

public static final int
GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT

Returned by CheckFramebufferStatusEXT.

public static final int
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT

Returned by CheckFramebufferStatusEXT.

public static final int
GL_GEOMETRY_INPUT_TYPE_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

public static final int
GL_GEOMETRY_OUTPUT_TYPE_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

public static final int
GL_GEOMETRY_SHADER_EXT

Accepted by the type parameter of CreateShader and returned by the params parameter of GetShaderiv.

public static final int
GL_GEOMETRY_VERTICES_OUT_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

public static final int
GL_LINE_STRIP_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

public static final int
GL_LINES_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

public static final int
GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_MAX_VERTEX_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_PROGRAM_POINT_SIZE_EXT

Accepted by the cap parameter of Enable, Disable, and IsEnabled, and by the pname parameter of GetIntegerv, GetFloatv, GetDoublev, and GetBooleanv.

public static final int
GL_TRIANGLE_STRIP_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

public static final int
GL_TRIANGLES_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glFramebufferTextureEXT(int target, int attachment, int texture, int level)

public static native void
glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face)

public static void
glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer)

public static native void
glProgramParameteriEXT(int program, int pname, int value)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXTback to summary
public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT

Accepted by the pname parameter of GetFramebufferAttachment- ParameterivEXT.

GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXTback to summary
public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT

Accepted by the pname parameter of GetFramebufferAttachment- ParameterivEXT.

GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXTback to summary
public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT

Returned by CheckFramebufferStatusEXT.

GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXTback to summary
public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT

Returned by CheckFramebufferStatusEXT.

GL_GEOMETRY_INPUT_TYPE_EXTback to summary
public static final int GL_GEOMETRY_INPUT_TYPE_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

GL_GEOMETRY_OUTPUT_TYPE_EXTback to summary
public static final int GL_GEOMETRY_OUTPUT_TYPE_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

GL_GEOMETRY_SHADER_EXTback to summary
public static final int GL_GEOMETRY_SHADER_EXT

Accepted by the type parameter of CreateShader and returned by the params parameter of GetShaderiv.

GL_GEOMETRY_VERTICES_OUT_EXTback to summary
public static final int GL_GEOMETRY_VERTICES_OUT_EXT

Accepted by the pname parameter of ProgramParameteriEXT and GetProgramiv.

GL_LINE_STRIP_ADJACENCY_EXTback to summary
public static final int GL_LINE_STRIP_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

GL_LINES_ADJACENCY_EXTback to summary
public static final int GL_LINES_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXTback to summary
public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXTback to summary
public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXTback to summary
public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXTback to summary
public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXTback to summary
public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_VARYING_COMPONENTS_EXTback to summary
public static final int GL_MAX_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_MAX_VERTEX_VARYING_COMPONENTS_EXTback to summary
public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_PROGRAM_POINT_SIZE_EXTback to summary
public static final int GL_PROGRAM_POINT_SIZE_EXT

Accepted by the cap parameter of Enable, Disable, and IsEnabled, and by the pname parameter of GetIntegerv, GetFloatv, GetDoublev, and GetBooleanv.

GL_TRIANGLE_STRIP_ADJACENCY_EXTback to summary
public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

GL_TRIANGLES_ADJACENCY_EXTback to summary
public static final int GL_TRIANGLES_ADJACENCY_EXT

Accepted by the mode parameter of Begin, DrawArrays, MultiDrawArrays, DrawElements, MultiDrawElements, and DrawRangeElements.

Constructor Detail

EXTGeometryShader4back to summary
protected EXTGeometryShader4()

Method Detail

glFramebufferTextureEXTback to summary
public static native void glFramebufferTextureEXT(int target, int attachment, int texture, int level)
glFramebufferTextureFaceEXTback to summary
public static native void glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face)
glFramebufferTextureLayerEXTback to summary
public static void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer)
glProgramParameteriEXTback to summary
public static native void glProgramParameteriEXT(int program, int pname, int value)