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

public interface IGLValue {
	public int glMode();
	
	public static interface IGLBuffer extends IGLValue {}
	public static interface ISourceFactor extends IGLValue {}
	public static interface IDestinationFactor extends IGLValue {}
	public static interface IGLMode extends IGLValue {
		public int primitiveLength();
		public boolean isConnective();
		public int indeciesCount(int vertecies);
	}
	public static interface IGLDataType extends IGLValue {
		public int byteSize();
		public boolean supportsIBO();
	}
	public static interface IShaderType extends IGLValue {};
	public static interface ITextureFormatType extends IGLValue {
		public boolean internal();
	}
	public static interface ITextureParameter extends IGLValue {
		public boolean isValid(int value);
	}
}
