Package org.lwjgl.opengl
Class NVMeshShader
- java.lang.Object
-
- org.lwjgl.opengl.NVMeshShader
-
public class NVMeshShader extends java.lang.Object
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
OpenGL 4.5
.
-
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
glDrawMeshTasksIndirectNV(long indirect)
static void
glDrawMeshTasksNV(int first, int count)
static void
glMultiDrawMeshTasksIndirectCountNV(long indirect, long drawcount, int maxdrawcount, int stride)
static void
glMultiDrawMeshTasksIndirectNV(long indirect, int drawcount, int stride)
-
-
-
Field Detail
-
GL_MAX_MESH_UNIFORM_BLOCKS_NV, GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV, GL_MAX_MESH_IMAGE_UNIFORMS_NV, GL_MAX_MESH_UNIFORM_COMPONENTS_NV, GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV, GL_MAX_MESH_ATOMIC_COUNTERS_NV, GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV, GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV, GL_MAX_TASK_UNIFORM_BLOCKS_NV, GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV, GL_MAX_TASK_IMAGE_UNIFORMS_NV, GL_MAX_TASK_UNIFORM_COMPONENTS_NV, GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV, GL_MAX_TASK_ATOMIC_COUNTERS_NV, GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV, GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV, GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV, GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV, GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV, GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV, GL_MAX_MESH_OUTPUT_VERTICES_NV, GL_MAX_MESH_OUTPUT_PRIMITIVES_NV, GL_MAX_TASK_OUTPUT_COUNT_NV, GL_MAX_DRAW_MESH_TASKS_COUNT_NV, GL_MAX_MESH_VIEWS_NV, GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV, GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV
Accepted by thepname
parameter ofGetIntegerv
,GetBooleanv
,GetFloatv
,GetDoublev
andGetInteger64v
.
-
GL_MAX_MESH_WORK_GROUP_SIZE_NV, GL_MAX_TASK_WORK_GROUP_SIZE_NV
Accepted by thepname
parameter ofGetIntegeri_v
,GetBooleani_v
,GetFloati_v
,GetDoublei_v
andGetInteger64i_v
.
-
GL_MESH_WORK_GROUP_SIZE_NV, GL_TASK_WORK_GROUP_SIZE_NV, GL_MESH_VERTICES_OUT_NV, GL_MESH_PRIMITIVES_OUT_NV, GL_MESH_OUTPUT_TYPE_NV
Accepted by thepname
parameter ofGetProgramiv
.
-
GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV, GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV
Accepted by thepname
parameter ofGetActiveUniformBlockiv
.
-
GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV, GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV
Accepted by thepname
parameter ofGetActiveAtomicCounterBufferiv
.
-
GL_REFERENCED_BY_MESH_SHADER_NV, GL_REFERENCED_BY_TASK_SHADER_NV
Accepted in theprops
array ofGetProgramResourceiv
.
-
GL_MESH_SUBROUTINE_NV, GL_TASK_SUBROUTINE_NV, GL_MESH_SUBROUTINE_UNIFORM_NV, GL_TASK_SUBROUTINE_UNIFORM_NV
Accepted by theprogramInterface
parameter ofGetProgramInterfaceiv
,GetProgramResourceIndex
,GetProgramResourceName
,GetProgramResourceiv
,GetProgramResourceLocation
, andGetProgramResourceLocationIndex
.
-
GL_MESH_SHADER_BIT_NV, GL_TASK_SHADER_BIT_NV
Accepted by thestages
parameter ofUseProgramStages
.
-
-
Method Detail
-
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)
-
glMultiDrawMeshTasksIndirectCountNV
public static void glMultiDrawMeshTasksIndirectCountNV(long indirect, long drawcount, int maxdrawcount, int stride)
-
-