39 lines
1.1 KiB
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;
|
|
}
|
|
|
|
}
|