package speiger.src.coreengine.rendering.utils.values;

import org.lwjgl.opengl.GL20;
import org.lwjgl.opengl.GL32;
import org.lwjgl.opengl.GL40;

import speiger.src.coreengine.rendering.utils.values.IGLValue.IShaderType;

public enum ShaderType implements IShaderType {
	VERTEX(GL20.GL_VERTEX_SHADER),
	FRAGMENT(GL20.GL_FRAGMENT_SHADER),
	GEOMETRY(GL32.GL_GEOMETRY_SHADER),
	TESSELATION_CONTROL(GL40.GL_TESS_CONTROL_SHADER), 
	TESSELATION_EVALUATION(GL40.GL_TESS_EVALUATION_SHADER); 
	
	int glMode;
	
	private ShaderType(int glMode) {
		this.glMode = glMode;
	}
	
	@Override
	public int glValue() { return glMode; }
}
