SimpleJavaEngine/src/main/java/speiger/src/coreengine/rendering/utils/values/textures/GLTextureType.java

39 lines
1.1 KiB
Java

package speiger.src.coreengine.rendering.utils.values.textures;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import org.lwjgl.opengl.GL30;
import org.lwjgl.opengl.GL31;
import org.lwjgl.opengl.GL32;
import org.lwjgl.opengl.GL40;
import org.lwjgl.opengl.GL46;
import speiger.src.coreengine.rendering.utils.values.IGLValue;
public enum GLTextureType implements IGLValue {
TEXTURE_1D(GL11.GL_TEXTURE_1D),
TEXTURE_1D_ARRAY(GL30.GL_TEXTURE_1D_ARRAY),
TEXTURE_2D(GL11.GL_TEXTURE_2D),
TEXTURE_2D_ARRAY(GL30.GL_TEXTURE_2D_ARRAY),
TEXTURE_2D_MULTISAMPLE(GL32.GL_TEXTURE_2D_MULTISAMPLE),
TEXTURE_2D_MULTISAMPLE_ARRAY(GL32.GL_TEXTURE_2D_MULTISAMPLE_ARRAY),
TEXTURE_3D(GL12.GL_TEXTURE_3D),
TEXTURE_CUBE_MAP(GL32.GL_TEXTURE_CUBE_MAP),
TEXTURE_CUBE_MAP_ARRAY(GL40.GL_TEXTURE_CUBE_MAP_ARRAY),
TEXTURE_RECTANGLE(GL31.GL_TEXTURE_RECTANGLE),
TEXTURE_BUFFER(GL31.GL_TEXTURE_BUFFER);
int glValue;
private GLTextureType(int glValue) {
this.glValue = glValue;
}
@Override
public int glValue() {
GL46.glBindTexture(glValue, glValue);
return glValue;
}
}