SimpleJavaEngine/src/main/java/speiger/src/coreengine/rendering/utils/values/GLBuffer.java

37 lines
1.1 KiB
Java

package speiger.src.coreengine.rendering.utils.values;
import org.lwjgl.opengl.GL15;
import org.lwjgl.opengl.GL21;
import org.lwjgl.opengl.GL30;
import org.lwjgl.opengl.GL31;
import org.lwjgl.opengl.GL40;
import org.lwjgl.opengl.GL42;
import org.lwjgl.opengl.GL43;
import speiger.src.coreengine.rendering.utils.values.IGLValue.IGLBuffer;
public enum GLBuffer implements IGLBuffer {
ARRAY_BUFFER(GL15.GL_ARRAY_BUFFER),
ELEMENT_BUFFER(GL15.GL_ELEMENT_ARRAY_BUFFER),
UNIFORM_BUFFER(GL31.GL_UNIFORM_BUFFER),
DRAW_INDIRECT_BUFFER(GL40.GL_DRAW_INDIRECT_BUFFER),
TEXTURE_BUFFER(GL31.GL_TEXTURE_BUFFER),
PIXEL_PACK_BUFFER(GL21.GL_PIXEL_PACK_BUFFER),
PIXEL_UNPACK_BUFFER(GL21.GL_PIXEL_UNPACK_BUFFER),
TRANSFORM_FEEDBACK_BUFFER(GL30.GL_TRANSFORM_FEEDBACK_BUFFER),
COPY_READ_BUFFER(GL31.GL_COPY_READ_BUFFER),
COPY_WRITE_BUFFER(GL31.GL_COPY_WRITE_BUFFER),
ATOMIC_COUNTER_BUFFER(GL42.GL_ATOMIC_COUNTER_BUFFER),
DISPATCH_INDIRECT_BUFFER(GL43.GL_DISPATCH_INDIRECT_BUFFER),
SHADER_STORAGE_BUFFER(GL43.GL_SHADER_STORAGE_BUFFER);
int glMode;
private GLBuffer(int glMode) {
this.glMode = glMode;
}
@Override
public int glValue() { return glMode; }
}