org.lwjgl.opengles.NVMeshShader Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-opengles Show documentation
Show all versions of lwjgl-opengles Show documentation
A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.
The newest version!
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.opengles;
import org.lwjgl.system.*;
/**
* 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 {@link GLES32 GLES 3.2}.
*/
public class NVMeshShader {
static { GLES.initialize(); }
/** Accepted by the {@code type} parameter of {@link GLES20#glCreateShader CreateShader} and returned by the {@code params} parameter of {@link GLES20#glGetShaderiv GetShaderiv}. */
public static final int
GL_MESH_SHADER_NV = 0x9559,
GL_TASK_SHADER_NV = 0x955A;
/** Accepted by the {@code pname} parameter of {@link GLES20#glGetIntegerv GetIntegerv}, {@link GLES20#glGetBooleanv GetBooleanv}, {@link GLES20#glGetFloatv GetFloatv}, and {@link GLES30#glGetInteger64v GetInteger64v}. */
public static final int
GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60,
GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61,
GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62,
GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63,
GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64,
GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65,
GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66,
GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67,
GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68,
GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69,
GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A,
GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B,
GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C,
GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D,
GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E,
GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F,
GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2,
GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3,
GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536,
GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537,
GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538,
GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539,
GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A,
GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D,
GL_MAX_MESH_VIEWS_NV = 0x9557,
GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF,
GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543;
/** Accepted by the {@code pname} parameter of {@link GLES30#glGetIntegeri_v GetIntegeri_v}, {@link GLES31#glGetBooleani_v GetBooleani_v}, and {@link GLES30#glGetInteger64i_v GetInteger64i_v}. */
public static final int
GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B,
GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C;
/** Accepted by the {@code pname} parameter of {@link GLES20#glGetProgramiv GetProgramiv}. */
public static final int
GL_MESH_WORK_GROUP_SIZE_NV = 0x953E,
GL_TASK_WORK_GROUP_SIZE_NV = 0x953F,
GL_MESH_VERTICES_OUT_NV = 0x9579,
GL_MESH_PRIMITIVES_OUT_NV = 0x957A,
GL_MESH_OUTPUT_TYPE_NV = 0x957B;
/** Accepted by the {@code pname} parameter of {@link GLES30#glGetActiveUniformBlockiv GetActiveUniformBlockiv}. */
public static final int
GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C,
GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D;
/** Accepted in the {@code props} array of {@link GLES31#glGetProgramResourceiv GetProgramResourceiv}. */
public static final int
GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0,
GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1;
/** Accepted by the {@code stages} parameter of {@link GLES31#glUseProgramStages UseProgramStages}. */
public static final int
GL_MESH_SHADER_BIT_NV = 0x40,
GL_TASK_SHADER_BIT_NV = 0x80;
protected NVMeshShader() {
throw new UnsupportedOperationException();
}
// --- [ glDrawMeshTasksNV ] ---
public static native void glDrawMeshTasksNV(@NativeType("GLuint") int first, @NativeType("GLuint") int count);
// --- [ glDrawMeshTasksIndirectNV ] ---
public static native void glDrawMeshTasksIndirectNV(@NativeType("GLintptr") long indirect);
// --- [ glMultiDrawMeshTasksIndirectNV ] ---
public static native void glMultiDrawMeshTasksIndirectNV(@NativeType("GLintptr") long indirect, @NativeType("GLsizei") int drawcount, @NativeType("GLsizei") int stride);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy