Package org.lwjgl.opengles
Class NVMeshShader
java.lang.Object
org.lwjgl.opengles.NVMeshShader
Native bindings to the NV_mesh_shader extension.
This extension provides a new mechanism allowing applications to use two new programmable shader types -- the task and mesh shader -- to generate collections of geometric primitives to be processed by fixed-function primitive assembly and rasterization logic. When the task and mesh shaders are drawn, they replace the standard programmable vertex processing pipeline, including vertex array attribute fetching, vertex shader processing, tessellation, and the geometry shader processing.
Requires GLES 3.2
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Accepted by thepname
parameter ofGetProgramiv
.static final int
Accepted by thepname
parameter ofGetProgramiv
.static final int
Accepted by thestages
parameter ofUseProgramStages
.static final int
static final int
Accepted by thepname
parameter ofGetProgramiv
.static final int
Accepted by thepname
parameter ofGetProgramiv
.static final int
Accepted in theprops
array ofGetProgramResourceiv
.static final int
Accepted in theprops
array ofGetProgramResourceiv
.static final int
Accepted by thestages
parameter ofUseProgramStages
.static final int
static final int
Accepted by thepname
parameter ofGetProgramiv
.static final int
Accepted by thepname
parameter ofGetActiveUniformBlockiv
.static final int
Accepted by thepname
parameter ofGetActiveUniformBlockiv
. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glDrawMeshTasksIndirectNV
(long indirect) static void
glDrawMeshTasksNV
(int first, int count) static void
glMultiDrawMeshTasksIndirectNV
(long indirect, int drawcount, int stride)
-
Field Details
-
GL_MESH_SHADER_NV
public static final int GL_MESH_SHADER_NV- See Also:
-
GL_TASK_SHADER_NV
public static final int GL_TASK_SHADER_NV- See Also:
-
GL_MAX_MESH_UNIFORM_BLOCKS_NV
public static final int GL_MAX_MESH_UNIFORM_BLOCKS_NV- See Also:
-
GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV
public static final int GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV- See Also:
-
GL_MAX_MESH_IMAGE_UNIFORMS_NV
public static final int GL_MAX_MESH_IMAGE_UNIFORMS_NV- See Also:
-
GL_MAX_MESH_UNIFORM_COMPONENTS_NV
public static final int GL_MAX_MESH_UNIFORM_COMPONENTS_NV- See Also:
-
GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV
public static final int GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV- See Also:
-
GL_MAX_MESH_ATOMIC_COUNTERS_NV
public static final int GL_MAX_MESH_ATOMIC_COUNTERS_NV- See Also:
-
GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV
public static final int GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV- See Also:
-
GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV
public static final int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV- See Also:
-
GL_MAX_TASK_UNIFORM_BLOCKS_NV
public static final int GL_MAX_TASK_UNIFORM_BLOCKS_NV- See Also:
-
GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV
public static final int GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV- See Also:
-
GL_MAX_TASK_IMAGE_UNIFORMS_NV
public static final int GL_MAX_TASK_IMAGE_UNIFORMS_NV- See Also:
-
GL_MAX_TASK_UNIFORM_COMPONENTS_NV
public static final int GL_MAX_TASK_UNIFORM_COMPONENTS_NV- See Also:
-
GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV
public static final int GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV- See Also:
-
GL_MAX_TASK_ATOMIC_COUNTERS_NV
public static final int GL_MAX_TASK_ATOMIC_COUNTERS_NV- See Also:
-
GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV
public static final int GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV- See Also:
-
GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV
public static final int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV- See Also:
-
GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV
public static final int GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV- See Also:
-
GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV
public static final int GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV- See Also:
-
GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV
public static final int GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV- See Also:
-
GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV
public static final int GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV- See Also:
-
GL_MAX_MESH_OUTPUT_VERTICES_NV
public static final int GL_MAX_MESH_OUTPUT_VERTICES_NV- See Also:
-
GL_MAX_MESH_OUTPUT_PRIMITIVES_NV
public static final int GL_MAX_MESH_OUTPUT_PRIMITIVES_NV- See Also:
-
GL_MAX_TASK_OUTPUT_COUNT_NV
public static final int GL_MAX_TASK_OUTPUT_COUNT_NV- See Also:
-
GL_MAX_DRAW_MESH_TASKS_COUNT_NV
public static final int GL_MAX_DRAW_MESH_TASKS_COUNT_NV- See Also:
-
GL_MAX_MESH_VIEWS_NV
public static final int GL_MAX_MESH_VIEWS_NV- See Also:
-
GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV
public static final int GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV- See Also:
-
GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV
public static final int GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV- See Also:
-
GL_MAX_MESH_WORK_GROUP_SIZE_NV
public static final int GL_MAX_MESH_WORK_GROUP_SIZE_NV- See Also:
-
GL_MAX_TASK_WORK_GROUP_SIZE_NV
public static final int GL_MAX_TASK_WORK_GROUP_SIZE_NV- See Also:
-
GL_MESH_WORK_GROUP_SIZE_NV
public static final int GL_MESH_WORK_GROUP_SIZE_NVAccepted by thepname
parameter ofGetProgramiv
.- See Also:
-
GL_TASK_WORK_GROUP_SIZE_NV
public static final int GL_TASK_WORK_GROUP_SIZE_NVAccepted by thepname
parameter ofGetProgramiv
.- See Also:
-
GL_MESH_VERTICES_OUT_NV
public static final int GL_MESH_VERTICES_OUT_NVAccepted by thepname
parameter ofGetProgramiv
.- See Also:
-
GL_MESH_PRIMITIVES_OUT_NV
public static final int GL_MESH_PRIMITIVES_OUT_NVAccepted by thepname
parameter ofGetProgramiv
.- See Also:
-
GL_MESH_OUTPUT_TYPE_NV
public static final int GL_MESH_OUTPUT_TYPE_NVAccepted by thepname
parameter ofGetProgramiv
.- See Also:
-
GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV
public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NVAccepted by thepname
parameter ofGetActiveUniformBlockiv
.- See Also:
-
GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV
public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NVAccepted by thepname
parameter ofGetActiveUniformBlockiv
.- See Also:
-
GL_REFERENCED_BY_MESH_SHADER_NV
public static final int GL_REFERENCED_BY_MESH_SHADER_NVAccepted in theprops
array ofGetProgramResourceiv
.- See Also:
-
GL_REFERENCED_BY_TASK_SHADER_NV
public static final int GL_REFERENCED_BY_TASK_SHADER_NVAccepted in theprops
array ofGetProgramResourceiv
.- See Also:
-
GL_MESH_SHADER_BIT_NV
public static final int GL_MESH_SHADER_BIT_NVAccepted by thestages
parameter ofUseProgramStages
.- See Also:
-
GL_TASK_SHADER_BIT_NV
public static final int GL_TASK_SHADER_BIT_NVAccepted by thestages
parameter ofUseProgramStages
.- See Also:
-
-
Method Details
-
glDrawMeshTasksNV
public static void glDrawMeshTasksNV(int first, int count) -
glDrawMeshTasksIndirectNV
public static void glDrawMeshTasksIndirectNV(long indirect) -
glMultiDrawMeshTasksIndirectNV
public static void glMultiDrawMeshTasksIndirectNV(long indirect, int drawcount, int stride)
-