namespace Module.OpenGL {
	public enum GLEnum {
		// Hint Enum Value
		DONT_CARE = 0x1100,
		// 0/1
		ZERO = 0x0000,
		ONE = 0x0001,
		// Types
		BYTE = 0x1400,
		UNSIGNED_BYTE = 0x1401,
		SHORT = 0x1402,
		UNSIGNED_SHORT = 0x1403,
		INT = 0x1404,
		UNSIGNED_INT = 0x1405,
		FLOAT = 0x1406,
		HALF_FLOAT = 0x140B,
		UNSIGNED_SHORT_4_4_4_4_REV = 0x8365,
		UNSIGNED_SHORT_5_5_5_1_REV = 0x8366,
		UNSIGNED_INT_2_10_10_10_REV = 0x8368,
		UNSIGNED_SHORT_5_6_5 = 0x8363,
		UNSIGNED_INT_24_8 = 0x84FA,
		// Strings
		VENDOR = 0x1F00,
		RENDERER = 0x1F01,
		VERSION = 0x1F02,
		EXTENSIONS = 0x1F03,
		// Clear Mask
		COLOR_BUFFER_BIT = 0x4000,
		DEPTH_BUFFER_BIT = 0x0100,
		STENCIL_BUFFER_BIT = 0x0400,
		// Enable Caps
		SCISSOR_TEST = 0x0C11,
		DEPTH_TEST = 0x0B71,
		STENCIL_TEST = 0x0B90,
		// Polygons
		LINE = 0x1B01,
		FILL = 0x1B02,
		CW = 0x0900,
		CCW = 0x0901,
		FRONT = 0x0404,
		BACK = 0x0405,
		FRONT_AND_BACK = 0x0408,
		CULL_FACE = 0x0B44,
		POLYGON_OFFSET_FILL = 0x8037,
		// Texture Type
		TEXTURE_2D = 0x0DE1,
		TEXTURE_3D = 0x806F,
		TEXTURE_CUBE_MAP = 0x8513,
		TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515,
		// Blend Mode
		BLEND = 0x0BE2,
		SRC_COLOR = 0x0300,
		ONE_MINUS_SRC_COLOR = 0x0301,
		SRC_ALPHA = 0x0302,
		ONE_MINUS_SRC_ALPHA = 0x0303,
		DST_ALPHA = 0x0304,
		ONE_MINUS_DST_ALPHA = 0x0305,
		DST_COLOR = 0x0306,
		ONE_MINUS_DST_COLOR = 0x0307,
		SRC_ALPHA_SATURATE = 0x0308,
		CONSTANT_COLOR = 0x8001,
		ONE_MINUS_CONSTANT_COLOR = 0x8002,
		CONSTANT_ALPHA = 0x8003,
		ONE_MINUS_CONSTANT_ALPHA = 0x8004,
		SRC1_ALPHA = 0x8589,
		SRC1_COLOR = 0x88F9,
		ONE_MINUS_SRC1_COLOR = 0x88FA,
		ONE_MINUS_SRC1_ALPHA = 0x88FB,
		// Equations
		MIN = 0x8007,
		MAX = 0x8008,
		FUNC_ADD = 0x8006,
		FUNC_SUBTRACT = 0x800A,
		FUNC_REVERSE_SUBTRACT = 0x800B,
		// Comparisons
		NEVER = 0x0200,
		LESS = 0x0201,
		EQUAL = 0x0202,
		LEQUAL = 0x0203,
		GREATER = 0x0204,
		NOTEQUAL = 0x0205,
		GEQUAL = 0x0206,
		ALWAYS = 0x0207,
		// Stencil Operations
		INVERT = 0x150A,
		KEEP = 0x1E00,
		REPLACE = 0x1E01,
		INCR = 0x1E02,
		DECR = 0x1E03,
		INCR_WRAP = 0x8507,
		DECR_WRAP = 0x8508,
		// Wrap Modes
		REPEAT = 0x2901,
		CLAMP_TO_EDGE = 0x812F,
		MIRRORED_REPEAT = 0x8370,
		// Filters
		NEAREST = 0x2600,
		LINEAR = 0x2601,
		NEAREST_MIPMAP_NEAREST = 0x2700,
		NEAREST_MIPMAP_LINEAR = 0x2702,
		LINEAR_MIPMAP_NEAREST = 0x2701,
		LINEAR_MIPMAP_LINEAR = 0x2703,
		// Attachments
		COLOR_ATTACHMENT0 = 0x8CE0,
		DEPTH_ATTACHMENT = 0x8D00,
		STENCIL_ATTACHMENT = 0x8D20,
		DEPTH_STENCIL_ATTACHMENT = 0x821A,
		// Texture Formats
		RED = 0x1903,
		RGB = 0x1907,
		RGBA = 0x1908,
		LUMINANCE = 0x1909,
		RGB8 = 0x8051,
		RGBA8 = 0x8058,
		RGBA4 = 0x8056,
		RGB5_A1 = 0x8057,
		RGB10_A2_EXT = 0x8059,
		RGBA16 = 0x805B,
		BGRA = 0x80E1,
		DEPTH_COMPONENT16 = 0x81A5,
		DEPTH_COMPONENT24 = 0x81A6,
		RG = 0x8227,
		RG8 = 0x822B,
		RG16 = 0x822C,
		R16F = 0x822D,
		R32F = 0x822E,
		RG16F = 0x822F,
		RG32F = 0x8230,
		RGBA32F = 0x8814,
		RGBA16F = 0x881A,
		DEPTH24_STENCIL8 = 0x88F0,
		COMPRESSED_TEXTURE_FORMATS = 0x86A3,
		COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1,
		COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2,
		COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3,
		// Texture Internal Formats
		DEPTH_COMPONENT = 0x1902,
		DEPTH_STENCIL = 0x84F9,
		// Textures
		TEXTURE_WRAP_S = 0x2802,
		TEXTURE_WRAP_T = 0x2803,
		TEXTURE_WRAP_R = 0x8072,
		TEXTURE_MAG_FILTER = 0x2800,
		TEXTURE_MIN_FILTER = 0x2801,
		TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE,
		TEXTURE_BASE_LEVEL = 0x813C,
		TEXTURE_MAX_LEVEL = 0x813D,
		TEXTURE_LOD_BIAS = 0x8501,
		UNPACK_ALIGNMENT = 0x0CF5,
		// Multitexture
		TEXTURE0 = 0x84C0,
		MAX_TEXTURE_IMAGE_UNITS = 0x8872,
		MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C,
		// Buffer objects
		ARRAY_BUFFER = 0x8892,
		ELEMENT_ARRAY_BUFFER = 0x8893,
		STREAM_DRAW = 0x88E0,
		STATIC_DRAW = 0x88E4,
		DYNAMIC_DRAW = 0x88E8,
		MAX_VERTEX_ATTRIBS = 0x8869,
		// Render targets
		FRAMEBUFFER = 0x8D40,
		READ_FRAMEBUFFER = 0x8CA8,
		DRAW_FRAMEBUFFER = 0x8CA9,
		RENDERBUFFER = 0x8D41,
		MAX_DRAW_BUFFERS = 0x8824,
		// Draw Primitives
		POINTS = 0x0000,
		LINES = 0x0001,
		LINE_STRIP = 0x0003,
		TRIANGLES = 0x0004,
		TRIANGLE_STRIP = 0x0005,
		// Query Objects
		QUERY_RESULT = 0x8866,
		QUERY_RESULT_AVAILABLE = 0x8867,
		SAMPLES_PASSED = 0x8914,
		// Multisampling
		MULTISAMPLE = 0x809D,
		MAX_SAMPLES = 0x8D57,
		SAMPLE_MASK = 0x8E51,
		// Shaders
		FRAGMENT_SHADER = 0x8B30,
		VERTEX_SHADER = 0x8B31,
		ACTIVE_UNIFORMS = 0x8B86,
		ACTIVE_ATTRIBUTES = 0x8B89,
		FLOAT_VEC2 = 0x8B50,
		FLOAT_VEC3 = 0x8B51,
		FLOAT_VEC4 = 0x8B52,
		SAMPLER_2D = 0x8B5E,
		FLOAT_MAT3x2 = 0x8B67,
		FLOAT_MAT4 = 0x8B5C,
		COMPILE_STATUS = 0x8B81,
		LINK_STATUS = 0x8B82,
		// 3.2 Core Profile
		NUM_EXTENSIONS = 0x821D,
		// Source Enum Values
		DEBUG_SOURCE_API = 0x8246,
		DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247,
		DEBUG_SOURCE_SHADER_COMPILER = 0x8248,
		DEBUG_SOURCE_THIRD_PARTY = 0x8249,
		DEBUG_SOURCE_APPLICATION = 0x824A,
		DEBUG_SOURCE_OTHER = 0x824B,
		// Type Enum Values
		DEBUG_TYPE_ERROR = 0x824C,
		DEBUG_TYPE_PUSH_GROUP = 0x8269,
		DEBUG_TYPE_POP_GROUP = 0x826A,
		DEBUG_TYPE_MARKER = 0x8268,
		DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D,
		DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E,
		DEBUG_TYPE_PORTABILITY = 0x824F,
		DEBUG_TYPE_PERFORMANCE = 0x8250,
		DEBUG_TYPE_OTHER = 0x8251,
		// Severity Enum Values
		DEBUG_SEVERITY_HIGH = 0x9146,
		DEBUG_SEVERITY_MEDIUM = 0x9147,
		DEBUG_SEVERITY_LOW = 0x9148,
		DEBUG_SEVERITY_NOTIFICATION = 0x826B,
		// Debug
		DEBUG_OUTPUT = 0x92E0,
		DEBUG_OUTPUT_SYNCHRONOUS = 0x8242
	}
}