fucken argh

This commit is contained in:
Robin Hübner 2018-09-30 18:22:59 +02:00
parent 44eb537564
commit 308bfeaff8
11 changed files with 945 additions and 2014 deletions

2
.gitignore vendored
View File

@ -6,3 +6,5 @@ docs/
*.o *.o
*.obj *.obj
*.lst *.lst
*.cap
imgui.ini

View File

@ -1,10 +0,0 @@
[Window][Debug##Default]
Pos=60,60
Size=400,400
Collapsed=0
[Window][Emulator Status]
Pos=425,47
Size=444,533
Collapsed=0

View File

@ -6,6 +6,340 @@ import glad.gl.all;
import window; import window;
import imgui; import imgui;
bool checkShaderError(GLuint shader, GLuint flag, bool is_program, in char[] shader_path) nothrow {
GLint result;
(is_program) ? glGetProgramiv(shader, flag, &result)
: glGetShaderiv(shader, flag, &result);
if (result == GL_FALSE) {
GLchar[256] log; //FIXME this is potentially fatal
(is_program) ? glGetProgramInfoLog(shader, log.sizeof, null, log.ptr)
: glGetShaderInfoLog(shader, log.sizeof, null, log.ptr);
printf("[OpenGL] Error in %s: %s\n", shader_path.ptr, log.ptr);
return false;
}
return true;
} // checkShaderError
struct PixelBuffer {
struct Shader {
private {
GLuint shader_prog;
}
@disable this(this);
void compile(const (GLchar*)* vs_source, const (GLchar*)* fs_source) {
import core.stdc.stdlib : exit;
GLuint new_vs_shader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(new_vs_shader, 1, vs_source, null);
glCompileShader(new_vs_shader);
if (!checkShaderError(new_vs_shader, GL_COMPILE_STATUS, false, "vertex_shader")) {
exit(-1);
}
GLuint new_fs_shader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(new_fs_shader, 1, fs_source, null);
glCompileShader(new_fs_shader);
if (!checkShaderError(new_fs_shader, GL_COMPILE_STATUS, false, "fragment_shader")) {
exit(-1);
}
GLuint new_shader = glCreateProgram();
glAttachShader(new_shader, new_vs_shader);
glAttachShader(new_shader, new_fs_shader);
// glBindAttribLocation(new_shader, 0, "screen_size");
glLinkProgram(new_shader);
if (!checkShaderError(new_shader, GL_LINK_STATUS, true, "shader_program")) {
exit(-1);
}
glValidateProgram(new_shader);
if (!checkShaderError(new_shader, GL_VALIDATE_STATUS, true, "shader_program")) {
exit(-1);
}
shader_prog = new_shader;
} // compile
void setUniforms(int w, int h) {
auto attr_loc = glGetUniformLocation(shader_prog, "screen_size");
glUniform2f(attr_loc, cast(float)w, cast(float)h);
} // setUniforms
void bind() {
glUseProgram(shader_prog);
} // bind
void unbind() {
glUseProgram(0);
} // unbind
} // Shader
struct Texture {
import derelict.sdl2.sdl;
import derelict.sdl2.image;
private {
GLuint texture_; //OpenGL handle for texture
GLenum input_format_, output_format_, data_type_;
int width_, height_;
}
@property @nogc nothrow {
int width() const { return width_; }
int height() const { return height_; }
GLuint handle() { return texture_; }
}
@disable this(this);
nothrow @nogc
this(int width, int height, GLenum input_format, GLenum output_format, GLenum unpack_alignment) {
width_ = width;
height_ = height;
input_format_ = input_format;
output_format_ = output_format;
data_type_ = GL_UNSIGNED_BYTE;
glGenTextures(1, &texture_);
glBindTexture(GL_TEXTURE_2D, texture_);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_alignment);
glTexImage2D(GL_TEXTURE_2D, 0, input_format_, width_, height_, 0, output_format_, GL_UNSIGNED_BYTE, cast(void*)0);
glBindTexture(GL_TEXTURE_2D, 0);
} //this
nothrow @nogc
void create(void* pixels, int width, int height, GLenum input_format = GL_RGB, GLenum output_format = GL_RGB, GLenum data_type = GL_UNSIGNED_BYTE) {
width_ = width;
height_ = height;
input_format_ = input_format;
output_format_ = output_format;
data_type_ = data_type;
//generate single texture, put handle in texture
glGenTextures(1, &texture_);
//normal 2d texture, bind to our texture handle
glBindTexture(GL_TEXTURE_2D, texture_);
//set texture parameters in currently bound texture, controls texture wrapping (or GL_CLAMP?)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
//linearly interpolate between pixels, MIN if texture is too small for drawing area, MAG if drawing area is smaller than texture
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//texture type, level, format to store as, width, height, border, format loaded in
glTexImage2D(GL_TEXTURE_2D, 0, input_format_, width_, height_, 0, output_format_, data_type_, pixels);
//UNBIND
glBindTexture(GL_TEXTURE_2D, 0);
} // this
~this() nothrow @nogc {
if (texture_ != 0) {
glDeleteTextures(1, &texture_);
}
} // ~this
/**
* Binds the texture handle, takes an argument for which texture unit to use.
*/
nothrow @nogc
void bind(int unit) {
assert(unit >= 0 && unit <= 31);
glActiveTexture(GL_TEXTURE0 + unit); //since this is sequential, this works
glBindTexture(GL_TEXTURE_2D, texture_);
} // bind
nothrow @nogc
void unbind() {
glBindTexture(GL_TEXTURE_2D, 0);
} // unbind
/**
* Updates the texture in place given the new texture buffer.
* Takes an optional offset to update only a part of the texture.
**/
nothrow @nogc
void update(void[] pixels, size_t offset = 0) {
bind(0);
glBufferSubData(GL_ARRAY_BUFFER, cast(GLintptr)offset, pixels.length, pixels.ptr);
unbind();
} // update
} // Texture
/**
* Generic VertexArray structure, used to upload data of any given vertex type to the GPU.
*/
struct VertexArray {
private {
GLuint vao_;
GLuint vbo_;
GLenum type_; // type of vertex data, GL_TRIANGLES etc
uint num_vertices_;
}
@disable this(this);
nothrow @nogc
void create(in float[2][] vertices, GLenum draw_type = GL_STATIC_DRAW, GLenum primitive = GL_TRIANGLES) {
this.num_vertices_ = cast(uint)vertices.length;
this.type_ = primitive;
glGenVertexArrays(1, &vao_);
glBindVertexArray(vao_);
glGenBuffers(1, &vbo_);
glBindBuffer(GL_ARRAY_BUFFER, vbo_);
glBufferData(GL_ARRAY_BUFFER, vertices.length * vertices[0].sizeof, vertices.ptr, draw_type);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0,
vertices[0].length,
GL_FLOAT,
GL_FALSE,
vertices[0].sizeof,
vertices.ptr
);
glBindVertexArray(0);
} // this
~this() nothrow @nogc {
if (vao_ != 0) {
glDeleteVertexArrays(1, &vao_);
}
} // ~this
void bind() nothrow @nogc {
glBindVertexArray(vao_);
} // bind
void draw() nothrow @nogc {
glDrawArrays(type_, 0, num_vertices_);
} // draw
void unbind() nothrow @nogc {
glBindVertexArray(0);
} // unbind
} // VertexArray
const char* vs_shader = q{
#version 330 core
uniform vec2 screen_size;
layout(location = 0) in vec2 pos;
layout(location = 1) in vec2 uv;
out vec2 frag_uv;
void main() {
frag_uv = uv;
gl_Position = vec4(pos, 0.0, 0.0);
}
};
const char* fs_shader = q{
#version 330 core
uniform sampler2D tex;
in vec2 frag_uv;
out vec4 out_col;
void main() {
out_col = texture(tex, frag_uv.st);
}
};
Shader shader;
VertexArray vao;
Texture tex;
void create(void* pixels, int w, int h) {
float[2][6] rect = [
[0.0f, 0.0f], // top left
[1.0f, 0.0f], // top right
[1.0f, 1.0f], // bottom right
[0.0f, 0.0f], // top left
[0.0f, 1.0f], // bottom left
[1.0f, 1.0f], // bottom right
];
vao.create(rect[]);
tex.create(pixels, w, h);
shader.compile(&vs_shader, &fs_shader);
} // create
void draw(int screen_w, int screen_h) {
vao.bind();
shader.bind();
shader.setUniforms(screen_w, screen_h);
tex.bind(0);
vao.draw();
} // draw
} // PixelBuffer
struct Chip8Status { struct Chip8Status {
//emu ptr //emu ptr
@ -47,6 +381,12 @@ struct Chip8Status {
} // getStackFrame } // getStackFrame
void resetShortcut() {
emu_.reset();
} // resetShortcut
void loadShortcut() { void loadShortcut() {
import std.file : read; import std.file : read;
@ -88,12 +428,12 @@ struct Chip8Status {
if (igBeginMenu("Menu")) { if (igBeginMenu("Menu")) {
if (igMenuItem("Load", "CTRL+L")) { if (igMenuItem("Reset", "CTRL+R")) {
loadShortcut(); resetShortcut();
} }
if (igMenuItem("Save", "CTRL+S")) { if (igMenuItem("Load", "CTRL+L")) {
saveShortcut(); loadShortcut();
} }
if (igMenuItem("Debug", "CTRL+D")) { if (igMenuItem("Debug", "CTRL+D")) {
@ -171,12 +511,12 @@ struct Chip8Status {
case SDL_KEYDOWN: case SDL_KEYDOWN:
if ((ev.key.keysym.mod & KMOD_CTRL) != 0) { if ((ev.key.keysym.mod & KMOD_CTRL) != 0) {
switch (ev.key.keysym.scancode) with (SDL_EventType) { switch (ev.key.keysym.scancode) with (SDL_EventType) {
case SDL_SCANCODE_R: resetShortcut(); break;
case SDL_SCANCODE_L: loadShortcut(); break; case SDL_SCANCODE_L: loadShortcut(); break;
case SDL_SCANCODE_S: saveShortcut(); break;
case SDL_SCANCODE_D: debugShortcut(); break; case SDL_SCANCODE_D: debugShortcut(); break;
case SDL_SCANCODE_G: redrawShortcut(); break; case SDL_SCANCODE_G: redrawShortcut(); break;
case SDL_SCANCODE_R: toggleRunShortcut(); break; case SDL_SCANCODE_T: toggleRunShortcut(); break;
case SDL_SCANCODE_T: stepShortcut(); break; case SDL_SCANCODE_S: stepShortcut(); break;
case SDL_SCANCODE_Q: quitShortcut(); case SDL_SCANCODE_Q: quitShortcut();
default: break; default: break;
} }
@ -193,6 +533,7 @@ struct Chip8Status {
} // Chip8Status } // Chip8Status
// this is a collosally awful solution, but if it works :D
string doCapture(string sym, uint start, uint end)(){ string doCapture(string sym, uint start, uint end)(){
import std.string : format; import std.string : format;
@ -274,6 +615,14 @@ struct Chip8 {
} // load } // load
void reset() {
cpu = cpu.init;
screen_buf = screen_buf.init;
screen_data = screen_data.init;
} // reset
void step() { void step() {
cpu.opcode = ram[cpu.pc] << 8 | ram[cpu.pc + 1]; cpu.opcode = ram[cpu.pc] << 8 | ram[cpu.pc + 1];
@ -288,16 +637,12 @@ struct Chip8 {
switch (cpu.opcode & 0x0FFF) { switch (cpu.opcode & 0x0FFF) {
case 0x00E0: // 0x00E0 Clears the screen. case 0x00E0: // 0x00E0 Clears the screen.
// screen_buf[0..$] = 0;
screen_buf[0..$] = 0;
draw_flag = true; draw_flag = true;
break; break;
case 0x00EE: // 0x00EE Returns from a subroutine. case 0x00EE: // 0x00EE Returns from a subroutine.
pc_target = stack[--sp]; pc_target = stack[--sp];
break; break;
default: // 0x0NNN Calls RCA 1802 program at address NNN. Not necessary for most ROMs. default: // 0x0NNN Calls RCA 1802 program at address NNN. Not necessary for most ROMs.
@ -309,9 +654,7 @@ struct Chip8 {
break; break;
case 0x1000: // 0x1NNN Jumps to address NNN. case 0x1000: // 0x1NNN Jumps to address NNN.
pc_target = cpu.opcode.capture!(0, 12); pc_target = cpu.opcode.capture!(0, 12);
break; break;
case 0x2000: // 0x2NNN Calls subroutine at NNN. case 0x2000: // 0x2NNN Calls subroutine at NNN.
@ -346,15 +689,11 @@ struct Chip8 {
break; break;
case 0x6000: // 0x6XNN Sets VX to NN. case 0x6000: // 0x6XNN Sets VX to NN.
cpu.v[cpu.opcode.capture!(8, 12)] = cpu.opcode.capture!(0, 8); cpu.v[cpu.opcode.capture!(8, 12)] = cpu.opcode.capture!(0, 8);
break; break;
case 0x7000: // 0x7XNN Adds NN to VX. case 0x7000: // 0x7XNN Adds NN to VX.
cpu.v[cpu.opcode.capture!(8, 12)] += cpu.opcode.capture!(0, 8); cpu.v[cpu.opcode.capture!(8, 12)] += cpu.opcode.capture!(0, 8);
break; break;
case 0x8000: case 0x8000:
@ -365,39 +704,27 @@ struct Chip8 {
switch (cpu.opcode & 0x000F) { switch (cpu.opcode & 0x000F) {
case 0x0000: // 0x8XY0 Sets VX to the value of VY. case 0x0000: // 0x8XY0 Sets VX to the value of VY.
cpu.v[x] = cpu.v[y]; cpu.v[x] = cpu.v[y];
break; break;
case 0x0001: // 0x8XY1 Sets VX to VX or VY. case 0x0001: // 0x8XY1 Sets VX to VX or VY.
cpu.v[x] = cpu.v[x] | cpu.v[y]; cpu.v[x] = cpu.v[x] | cpu.v[y];
break; break;
case 0x0002: // 0x8XY2 Sets VX to VX and VY. case 0x0002: // 0x8XY2 Sets VX to VX and VY.
cpu.v[x] = cpu.v[x] & cpu.v[y]; cpu.v[x] = cpu.v[x] & cpu.v[y];
break; break;
case 0x0003: // 0x8XY3 Sets VX to VX xor VY. case 0x0003: // 0x8XY3 Sets VX to VX xor VY.
cpu.v[x] = cpu.v[x] ^ cpu.v[y]; cpu.v[x] = cpu.v[x] ^ cpu.v[y];
break; break;
case 0x0004: // 0x8XY4 Adds VY to VX. VF is set to 1 when there's a carry, and to 0 when there isn't. case 0x0004: // 0x8XY4 Adds VY to VX. VF is set to 1 when there's a carry, and to 0 when there isn't.
cpu.v[x] += cpu.v[y]; //TODO carry flag cpu.v[x] += cpu.v[y]; //TODO carry flag
break; break;
case 0x0005: // 0x8XY5 VY is subtracted from VX. VF is set to 0 when there's a borrow, and 1 when there isn't. case 0x0005: // 0x8XY5 VY is subtracted from VX. VF is set to 0 when there's a borrow, and 1 when there isn't.
cpu.v[x] -= cpu.v[y]; //TODO borrow flag cpu.v[x] -= cpu.v[y]; //TODO borrow flag
break; break;
case 0x0006: // 0x8XY6 Shifts VX right by one. VF is set to the value of the least significant bit of VX before the shift. case 0x0006: // 0x8XY6 Shifts VX right by one. VF is set to the value of the least significant bit of VX before the shift.
@ -405,13 +732,10 @@ struct Chip8 {
auto vx = cpu.v[x]; auto vx = cpu.v[x];
cpu.v[0xF] = (vx & 0b10000000) >> 7; cpu.v[0xF] = (vx & 0b10000000) >> 7;
cpu.v[x] >>= 1; cpu.v[x] >>= 1;
break; break;
case 0x0007: // 0x8XY7 Sets VX to VY minus VX. VF is set to 0 when there's a borrow, and 1 when there isn't. case 0x0007: // 0x8XY7 Sets VX to VY minus VX. VF is set to 0 when there's a borrow, and 1 when there isn't.
cpu.v[x] = cast(Register)(cpu.v[y] - cpu.v[x]); // TODO borrow flag
cpu.v[x] = cast(Register)(cpu.v[y] - cpu.v[x]); //TODO borrow flag
break; break;
case 0x000E: // 0x8XYE Shifts VX left by one. VF is set to the value of the most significant bit of VX before the shift. case 0x000E: // 0x8XYE Shifts VX left by one. VF is set to the value of the most significant bit of VX before the shift.
@ -419,10 +743,9 @@ struct Chip8 {
auto vx = cpu.v[x]; auto vx = cpu.v[x];
cpu.v[0xF] = (vx & 0b10000000) >> 7; cpu.v[0xF] = (vx & 0b10000000) >> 7;
cpu.v[x] <<= 1; cpu.v[x] <<= 1;
break; break;
default: //unhandled for some reason default: // unhandled for some reason
writefln("unknown opcode: 0x%x", cpu.opcode); writefln("unknown opcode: 0x%x", cpu.opcode);
break; break;
@ -439,15 +762,11 @@ struct Chip8 {
break; break;
case 0xA000: // 0xANNN Sets I to the address NNN. case 0xA000: // 0xANNN Sets I to the address NNN.
cpu.i = cpu.opcode.capture!(0, 12); cpu.i = cpu.opcode.capture!(0, 12);
break; break;
case 0xB000: // 0xBNNN Jumps to the address NNN plus V0. case 0xB000: // 0xBNNN Jumps to the address NNN plus V0.
pc_target = cast(ubyte)cpu.opcode.capture!(0, 12) + cpu.v[0x0]; pc_target = cast(ubyte)cpu.opcode.capture!(0, 12) + cpu.v[0x0];
break; break;
case 0xC000: // 0xCXNN Sets VX to the result of a bitwise and operation on a random number and NN. case 0xC000: // 0xCXNN Sets VX to the result of a bitwise and operation on a random number and NN.
@ -455,7 +774,6 @@ struct Chip8 {
import std.random : uniform; import std.random : uniform;
auto x = cpu.opcode.capture!(8, 12); auto x = cpu.opcode.capture!(8, 12);
cpu.v[x] = uniform(Register.min, Register.max) & cpu.opcode.capture!(0, 8); cpu.v[x] = uniform(Register.min, Register.max) & cpu.opcode.capture!(0, 8);
break; break;
// 0xDXYN // 0xDXYN
@ -470,11 +788,10 @@ struct Chip8 {
auto x = cpu.opcode.capture!(8, 12); auto x = cpu.opcode.capture!(8, 12);
auto y = cpu.opcode.capture!(4, 8); auto y = cpu.opcode.capture!(4, 8);
auto n = cpu.opcode.capture!(0, 4); auto n = cpu.opcode.capture!(0, 4);
ushort pixel;
foreach(int row; 0 .. n) { foreach(int row; 0 .. n) {
pixel = ram[spr_addr + row]; ushort pixel = ram[spr_addr + row];
foreach (int col; 0 .. 8) { foreach (int col; 0 .. 8) {
if ((pixel & (0x80 >> col)) != 0) { if ((pixel & (0x80 >> col)) != 0) {
@ -519,9 +836,7 @@ struct Chip8 {
switch (cpu.opcode & 0x00FF) { switch (cpu.opcode & 0x00FF) {
case 0x0007: // 0xFX07 Sets VX to the value of the delay timer. case 0x0007: // 0xFX07 Sets VX to the value of the delay timer.
cpu.v[cpu.opcode.capture!(8, 12)] = cpu.delay_timer; cpu.v[cpu.opcode.capture!(8, 12)] = cpu.delay_timer;
break; break;
case 0x000A: // 0xFX0A A key press is awaited, and then stored in VX. case 0x000A: // 0xFX0A A key press is awaited, and then stored in VX.
@ -529,21 +844,15 @@ struct Chip8 {
break; break;
case 0x0015: // 0xFX15 Sets the delay timer to VX. case 0x0015: // 0xFX15 Sets the delay timer to VX.
cpu.delay_timer = cpu.v[cpu.opcode.capture!(8, 12)]; cpu.delay_timer = cpu.v[cpu.opcode.capture!(8, 12)];
break; break;
case 0x0018: // 0xFX18 Sets the sound timer to VX. case 0x0018: // 0xFX18 Sets the sound timer to VX.
cpu.sound_timer = cpu.v[cpu.opcode.capture!(8, 12)]; cpu.sound_timer = cpu.v[cpu.opcode.capture!(8, 12)];
break; break;
case 0x001E: // 0xFX1E Adds VX to I. case 0x001E: // 0xFX1E Adds VX to I.
cpu.i += cpu.v[cpu.opcode.capture!(8, 12)]; cpu.i += cpu.v[cpu.opcode.capture!(8, 12)];
break; break;
case 0x0029: // 0xFX29 Sets I to the location of the sprite for the character in VX. case 0x0029: // 0xFX29 Sets I to the location of the sprite for the character in VX.
@ -551,7 +860,6 @@ struct Chip8 {
auto vx = cpu.v[cpu.opcode.capture!(8, 12)]; auto vx = cpu.v[cpu.opcode.capture!(8, 12)];
ushort char_addr = 0x200 + (vx * 40); // base of char sprites + value of vx * bits per character ushort char_addr = 0x200 + (vx * 40); // base of char sprites + value of vx * bits per character
cpu.i = char_addr; cpu.i = char_addr;
break; break;
// 0xFX33 Stores the Binary-coded decimal representation of VX, // 0xFX33 Stores the Binary-coded decimal representation of VX,
@ -563,7 +871,6 @@ struct Chip8 {
ram[cpu.i] = vx / 100; ram[cpu.i] = vx / 100;
ram[cpu.i + 1] = (vx / 10) % 10; ram[cpu.i + 1] = (vx / 10) % 10;
ram[cpu.i + 2] = (vx % 100) % 10; ram[cpu.i + 2] = (vx % 100) % 10;
break; break;
case 0x0055: // 0xFX55 Stores V0 to VX in memory starting at address I. case 0x0055: // 0xFX55 Stores V0 to VX in memory starting at address I.
@ -607,7 +914,7 @@ struct Chip8 {
if (cpu.sound_timer != 0u) { if (cpu.sound_timer != 0u) {
if (cpu.sound_timer == 1) { if (cpu.sound_timer == 1u) {
writefln("beep!"); writefln("beep!");
} }
@ -683,6 +990,9 @@ struct Emulator {
Imgui imgui; Imgui imgui;
Chip8 emu; Chip8 emu;
// drawing
PixelBuffer buf;
void create() { void create() {
// create window // create window
@ -695,6 +1005,12 @@ struct Emulator {
// setup debug ui // setup debug ui
status.initialize(&this, &emu); status.initialize(&this, &emu);
// set up pixel buffer to poke at
emu.screen_data[0][] = 255;
buf.create(emu.screen_data.ptr, 64, 32);
emu.screen_buf[] = 255;
} }
void handleEvents() { void handleEvents() {
@ -741,6 +1057,11 @@ struct Emulator {
void draw() { void draw() {
window.renderClear(0x428bca); window.renderClear(0x428bca);
int w, h;
window.windowSize(w, h);
buf.draw(w, h);
imgui.newFrame(window); imgui.newFrame(window);
status.draw(); status.draw();

View File

@ -1,21 +1,22 @@
/* /*
OpenGL loader generated by glad 0.1.24a0 on Wed Jun 20 01:57:03 2018. OpenGL loader generated by glad 0.1.27 on Sun Sep 30 18:03:39 2018.
Language/Generator: D Language/Generator: D
Specification: gl Specification: gl
APIs: gl=3.3 APIs: gl=3.3
Profile: compatibility Profile: core
Extensions: Extensions:
GL_KHR_debug
Loader: True Loader: True
Local files: False Local files: False
Omit khrplatform: False Omit khrplatform: False
Reproducible: False
Commandline: Commandline:
--profile="compatibility" --api="gl=3.3" --generator="d" --spec="gl" --extensions="" --profile="core" --api="gl=3.3" --generator="d" --spec="gl" --extensions="GL_KHR_debug"
Online: Online:
http://glad.dav1d.de/#profile=compatibility&language=d&specification=gl&loader=on&api=gl%3D3.3 http://glad.dav1d.de/#profile=core&language=d&specification=gl&loader=on&api=gl%3D3.3&extensions=GL_KHR_debug
*/ */
module glad.gl.all; module glad.gl.all;

View File

@ -25,7 +25,6 @@ enum uint GL_LINE_STRIP = 0x0003;
enum uint GL_TRIANGLES = 0x0004; enum uint GL_TRIANGLES = 0x0004;
enum uint GL_TRIANGLE_STRIP = 0x0005; enum uint GL_TRIANGLE_STRIP = 0x0005;
enum uint GL_TRIANGLE_FAN = 0x0006; enum uint GL_TRIANGLE_FAN = 0x0006;
enum uint GL_QUADS = 0x0007;
enum uint GL_NEVER = 0x0200; enum uint GL_NEVER = 0x0200;
enum uint GL_LESS = 0x0201; enum uint GL_LESS = 0x0201;
enum uint GL_EQUAL = 0x0202; enum uint GL_EQUAL = 0x0202;
@ -130,8 +129,6 @@ enum uint GL_UNSIGNED_SHORT = 0x1403;
enum uint GL_INT = 0x1404; enum uint GL_INT = 0x1404;
enum uint GL_UNSIGNED_INT = 0x1405; enum uint GL_UNSIGNED_INT = 0x1405;
enum uint GL_FLOAT = 0x1406; enum uint GL_FLOAT = 0x1406;
enum uint GL_STACK_OVERFLOW = 0x0503;
enum uint GL_STACK_UNDERFLOW = 0x0504;
enum uint GL_CLEAR = 0x1500; enum uint GL_CLEAR = 0x1500;
enum uint GL_AND = 0x1501; enum uint GL_AND = 0x1501;
enum uint GL_AND_REVERSE = 0x1502; enum uint GL_AND_REVERSE = 0x1502;
@ -182,257 +179,6 @@ enum uint GL_TEXTURE_MIN_FILTER = 0x2801;
enum uint GL_TEXTURE_WRAP_S = 0x2802; enum uint GL_TEXTURE_WRAP_S = 0x2802;
enum uint GL_TEXTURE_WRAP_T = 0x2803; enum uint GL_TEXTURE_WRAP_T = 0x2803;
enum uint GL_REPEAT = 0x2901; enum uint GL_REPEAT = 0x2901;
enum uint GL_CURRENT_BIT = 0x00000001;
enum uint GL_POINT_BIT = 0x00000002;
enum uint GL_LINE_BIT = 0x00000004;
enum uint GL_POLYGON_BIT = 0x00000008;
enum uint GL_POLYGON_STIPPLE_BIT = 0x00000010;
enum uint GL_PIXEL_MODE_BIT = 0x00000020;
enum uint GL_LIGHTING_BIT = 0x00000040;
enum uint GL_FOG_BIT = 0x00000080;
enum uint GL_ACCUM_BUFFER_BIT = 0x00000200;
enum uint GL_VIEWPORT_BIT = 0x00000800;
enum uint GL_TRANSFORM_BIT = 0x00001000;
enum uint GL_ENABLE_BIT = 0x00002000;
enum uint GL_HINT_BIT = 0x00008000;
enum uint GL_EVAL_BIT = 0x00010000;
enum uint GL_LIST_BIT = 0x00020000;
enum uint GL_TEXTURE_BIT = 0x00040000;
enum uint GL_SCISSOR_BIT = 0x00080000;
enum uint GL_ALL_ATTRIB_BITS = 0xFFFFFFFF;
enum uint GL_QUAD_STRIP = 0x0008;
enum uint GL_POLYGON = 0x0009;
enum uint GL_ACCUM = 0x0100;
enum uint GL_LOAD = 0x0101;
enum uint GL_RETURN = 0x0102;
enum uint GL_MULT = 0x0103;
enum uint GL_ADD = 0x0104;
enum uint GL_AUX0 = 0x0409;
enum uint GL_AUX1 = 0x040A;
enum uint GL_AUX2 = 0x040B;
enum uint GL_AUX3 = 0x040C;
enum uint GL_2D = 0x0600;
enum uint GL_3D = 0x0601;
enum uint GL_3D_COLOR = 0x0602;
enum uint GL_3D_COLOR_TEXTURE = 0x0603;
enum uint GL_4D_COLOR_TEXTURE = 0x0604;
enum uint GL_PASS_THROUGH_TOKEN = 0x0700;
enum uint GL_POINT_TOKEN = 0x0701;
enum uint GL_LINE_TOKEN = 0x0702;
enum uint GL_POLYGON_TOKEN = 0x0703;
enum uint GL_BITMAP_TOKEN = 0x0704;
enum uint GL_DRAW_PIXEL_TOKEN = 0x0705;
enum uint GL_COPY_PIXEL_TOKEN = 0x0706;
enum uint GL_LINE_RESET_TOKEN = 0x0707;
enum uint GL_EXP = 0x0800;
enum uint GL_EXP2 = 0x0801;
enum uint GL_COEFF = 0x0A00;
enum uint GL_ORDER = 0x0A01;
enum uint GL_DOMAIN = 0x0A02;
enum uint GL_PIXEL_MAP_I_TO_I = 0x0C70;
enum uint GL_PIXEL_MAP_S_TO_S = 0x0C71;
enum uint GL_PIXEL_MAP_I_TO_R = 0x0C72;
enum uint GL_PIXEL_MAP_I_TO_G = 0x0C73;
enum uint GL_PIXEL_MAP_I_TO_B = 0x0C74;
enum uint GL_PIXEL_MAP_I_TO_A = 0x0C75;
enum uint GL_PIXEL_MAP_R_TO_R = 0x0C76;
enum uint GL_PIXEL_MAP_G_TO_G = 0x0C77;
enum uint GL_PIXEL_MAP_B_TO_B = 0x0C78;
enum uint GL_PIXEL_MAP_A_TO_A = 0x0C79;
enum uint GL_CURRENT_COLOR = 0x0B00;
enum uint GL_CURRENT_INDEX = 0x0B01;
enum uint GL_CURRENT_NORMAL = 0x0B02;
enum uint GL_CURRENT_TEXTURE_COORDS = 0x0B03;
enum uint GL_CURRENT_RASTER_COLOR = 0x0B04;
enum uint GL_CURRENT_RASTER_INDEX = 0x0B05;
enum uint GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06;
enum uint GL_CURRENT_RASTER_POSITION = 0x0B07;
enum uint GL_CURRENT_RASTER_POSITION_VALID = 0x0B08;
enum uint GL_CURRENT_RASTER_DISTANCE = 0x0B09;
enum uint GL_POINT_SMOOTH = 0x0B10;
enum uint GL_LINE_STIPPLE = 0x0B24;
enum uint GL_LINE_STIPPLE_PATTERN = 0x0B25;
enum uint GL_LINE_STIPPLE_REPEAT = 0x0B26;
enum uint GL_LIST_MODE = 0x0B30;
enum uint GL_MAX_LIST_NESTING = 0x0B31;
enum uint GL_LIST_BASE = 0x0B32;
enum uint GL_LIST_INDEX = 0x0B33;
enum uint GL_POLYGON_STIPPLE = 0x0B42;
enum uint GL_EDGE_FLAG = 0x0B43;
enum uint GL_LIGHTING = 0x0B50;
enum uint GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51;
enum uint GL_LIGHT_MODEL_TWO_SIDE = 0x0B52;
enum uint GL_LIGHT_MODEL_AMBIENT = 0x0B53;
enum uint GL_SHADE_MODEL = 0x0B54;
enum uint GL_COLOR_MATERIAL_FACE = 0x0B55;
enum uint GL_COLOR_MATERIAL_PARAMETER = 0x0B56;
enum uint GL_COLOR_MATERIAL = 0x0B57;
enum uint GL_FOG = 0x0B60;
enum uint GL_FOG_INDEX = 0x0B61;
enum uint GL_FOG_DENSITY = 0x0B62;
enum uint GL_FOG_START = 0x0B63;
enum uint GL_FOG_END = 0x0B64;
enum uint GL_FOG_MODE = 0x0B65;
enum uint GL_FOG_COLOR = 0x0B66;
enum uint GL_ACCUM_CLEAR_VALUE = 0x0B80;
enum uint GL_MATRIX_MODE = 0x0BA0;
enum uint GL_NORMALIZE = 0x0BA1;
enum uint GL_MODELVIEW_STACK_DEPTH = 0x0BA3;
enum uint GL_PROJECTION_STACK_DEPTH = 0x0BA4;
enum uint GL_TEXTURE_STACK_DEPTH = 0x0BA5;
enum uint GL_MODELVIEW_MATRIX = 0x0BA6;
enum uint GL_PROJECTION_MATRIX = 0x0BA7;
enum uint GL_TEXTURE_MATRIX = 0x0BA8;
enum uint GL_ATTRIB_STACK_DEPTH = 0x0BB0;
enum uint GL_ALPHA_TEST = 0x0BC0;
enum uint GL_ALPHA_TEST_FUNC = 0x0BC1;
enum uint GL_ALPHA_TEST_REF = 0x0BC2;
enum uint GL_LOGIC_OP = 0x0BF1;
enum uint GL_AUX_BUFFERS = 0x0C00;
enum uint GL_INDEX_CLEAR_VALUE = 0x0C20;
enum uint GL_INDEX_WRITEMASK = 0x0C21;
enum uint GL_INDEX_MODE = 0x0C30;
enum uint GL_RGBA_MODE = 0x0C31;
enum uint GL_RENDER_MODE = 0x0C40;
enum uint GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50;
enum uint GL_POINT_SMOOTH_HINT = 0x0C51;
enum uint GL_FOG_HINT = 0x0C54;
enum uint GL_TEXTURE_GEN_S = 0x0C60;
enum uint GL_TEXTURE_GEN_T = 0x0C61;
enum uint GL_TEXTURE_GEN_R = 0x0C62;
enum uint GL_TEXTURE_GEN_Q = 0x0C63;
enum uint GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0;
enum uint GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1;
enum uint GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2;
enum uint GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3;
enum uint GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4;
enum uint GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5;
enum uint GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6;
enum uint GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7;
enum uint GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8;
enum uint GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9;
enum uint GL_MAP_COLOR = 0x0D10;
enum uint GL_MAP_STENCIL = 0x0D11;
enum uint GL_INDEX_SHIFT = 0x0D12;
enum uint GL_INDEX_OFFSET = 0x0D13;
enum uint GL_RED_SCALE = 0x0D14;
enum uint GL_RED_BIAS = 0x0D15;
enum uint GL_ZOOM_X = 0x0D16;
enum uint GL_ZOOM_Y = 0x0D17;
enum uint GL_GREEN_SCALE = 0x0D18;
enum uint GL_GREEN_BIAS = 0x0D19;
enum uint GL_BLUE_SCALE = 0x0D1A;
enum uint GL_BLUE_BIAS = 0x0D1B;
enum uint GL_ALPHA_SCALE = 0x0D1C;
enum uint GL_ALPHA_BIAS = 0x0D1D;
enum uint GL_DEPTH_SCALE = 0x0D1E;
enum uint GL_DEPTH_BIAS = 0x0D1F;
enum uint GL_MAX_EVAL_ORDER = 0x0D30;
enum uint GL_MAX_LIGHTS = 0x0D31;
enum uint GL_MAX_CLIP_PLANES = 0x0D32;
enum uint GL_MAX_PIXEL_MAP_TABLE = 0x0D34;
enum uint GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35;
enum uint GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36;
enum uint GL_MAX_NAME_STACK_DEPTH = 0x0D37;
enum uint GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38;
enum uint GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39;
enum uint GL_INDEX_BITS = 0x0D51;
enum uint GL_RED_BITS = 0x0D52;
enum uint GL_GREEN_BITS = 0x0D53;
enum uint GL_BLUE_BITS = 0x0D54;
enum uint GL_ALPHA_BITS = 0x0D55;
enum uint GL_DEPTH_BITS = 0x0D56;
enum uint GL_STENCIL_BITS = 0x0D57;
enum uint GL_ACCUM_RED_BITS = 0x0D58;
enum uint GL_ACCUM_GREEN_BITS = 0x0D59;
enum uint GL_ACCUM_BLUE_BITS = 0x0D5A;
enum uint GL_ACCUM_ALPHA_BITS = 0x0D5B;
enum uint GL_NAME_STACK_DEPTH = 0x0D70;
enum uint GL_AUTO_NORMAL = 0x0D80;
enum uint GL_MAP1_COLOR_4 = 0x0D90;
enum uint GL_MAP1_INDEX = 0x0D91;
enum uint GL_MAP1_NORMAL = 0x0D92;
enum uint GL_MAP1_TEXTURE_COORD_1 = 0x0D93;
enum uint GL_MAP1_TEXTURE_COORD_2 = 0x0D94;
enum uint GL_MAP1_TEXTURE_COORD_3 = 0x0D95;
enum uint GL_MAP1_TEXTURE_COORD_4 = 0x0D96;
enum uint GL_MAP1_VERTEX_3 = 0x0D97;
enum uint GL_MAP1_VERTEX_4 = 0x0D98;
enum uint GL_MAP2_COLOR_4 = 0x0DB0;
enum uint GL_MAP2_INDEX = 0x0DB1;
enum uint GL_MAP2_NORMAL = 0x0DB2;
enum uint GL_MAP2_TEXTURE_COORD_1 = 0x0DB3;
enum uint GL_MAP2_TEXTURE_COORD_2 = 0x0DB4;
enum uint GL_MAP2_TEXTURE_COORD_3 = 0x0DB5;
enum uint GL_MAP2_TEXTURE_COORD_4 = 0x0DB6;
enum uint GL_MAP2_VERTEX_3 = 0x0DB7;
enum uint GL_MAP2_VERTEX_4 = 0x0DB8;
enum uint GL_MAP1_GRID_DOMAIN = 0x0DD0;
enum uint GL_MAP1_GRID_SEGMENTS = 0x0DD1;
enum uint GL_MAP2_GRID_DOMAIN = 0x0DD2;
enum uint GL_MAP2_GRID_SEGMENTS = 0x0DD3;
enum uint GL_TEXTURE_COMPONENTS = 0x1003;
enum uint GL_TEXTURE_BORDER = 0x1005;
enum uint GL_AMBIENT = 0x1200;
enum uint GL_DIFFUSE = 0x1201;
enum uint GL_SPECULAR = 0x1202;
enum uint GL_POSITION = 0x1203;
enum uint GL_SPOT_DIRECTION = 0x1204;
enum uint GL_SPOT_EXPONENT = 0x1205;
enum uint GL_SPOT_CUTOFF = 0x1206;
enum uint GL_CONSTANT_ATTENUATION = 0x1207;
enum uint GL_LINEAR_ATTENUATION = 0x1208;
enum uint GL_QUADRATIC_ATTENUATION = 0x1209;
enum uint GL_COMPILE = 0x1300;
enum uint GL_COMPILE_AND_EXECUTE = 0x1301;
enum uint GL_2_BYTES = 0x1407;
enum uint GL_3_BYTES = 0x1408;
enum uint GL_4_BYTES = 0x1409;
enum uint GL_EMISSION = 0x1600;
enum uint GL_SHININESS = 0x1601;
enum uint GL_AMBIENT_AND_DIFFUSE = 0x1602;
enum uint GL_COLOR_INDEXES = 0x1603;
enum uint GL_MODELVIEW = 0x1700;
enum uint GL_PROJECTION = 0x1701;
enum uint GL_COLOR_INDEX = 0x1900;
enum uint GL_LUMINANCE = 0x1909;
enum uint GL_LUMINANCE_ALPHA = 0x190A;
enum uint GL_BITMAP = 0x1A00;
enum uint GL_RENDER = 0x1C00;
enum uint GL_FEEDBACK = 0x1C01;
enum uint GL_SELECT = 0x1C02;
enum uint GL_FLAT = 0x1D00;
enum uint GL_SMOOTH = 0x1D01;
enum uint GL_S = 0x2000;
enum uint GL_T = 0x2001;
enum uint GL_R = 0x2002;
enum uint GL_Q = 0x2003;
enum uint GL_MODULATE = 0x2100;
enum uint GL_DECAL = 0x2101;
enum uint GL_TEXTURE_ENV_MODE = 0x2200;
enum uint GL_TEXTURE_ENV_COLOR = 0x2201;
enum uint GL_TEXTURE_ENV = 0x2300;
enum uint GL_EYE_LINEAR = 0x2400;
enum uint GL_OBJECT_LINEAR = 0x2401;
enum uint GL_SPHERE_MAP = 0x2402;
enum uint GL_TEXTURE_GEN_MODE = 0x2500;
enum uint GL_OBJECT_PLANE = 0x2501;
enum uint GL_EYE_PLANE = 0x2502;
enum uint GL_CLAMP = 0x2900;
enum uint GL_CLIP_PLANE0 = 0x3000;
enum uint GL_CLIP_PLANE1 = 0x3001;
enum uint GL_CLIP_PLANE2 = 0x3002;
enum uint GL_CLIP_PLANE3 = 0x3003;
enum uint GL_CLIP_PLANE4 = 0x3004;
enum uint GL_CLIP_PLANE5 = 0x3005;
enum uint GL_LIGHT0 = 0x4000;
enum uint GL_LIGHT1 = 0x4001;
enum uint GL_LIGHT2 = 0x4002;
enum uint GL_LIGHT3 = 0x4003;
enum uint GL_LIGHT4 = 0x4004;
enum uint GL_LIGHT5 = 0x4005;
enum uint GL_LIGHT6 = 0x4006;
enum uint GL_LIGHT7 = 0x4007;
enum uint GL_COLOR_LOGIC_OP = 0x0BF2; enum uint GL_COLOR_LOGIC_OP = 0x0BF2;
enum uint GL_POLYGON_OFFSET_UNITS = 0x2A00; enum uint GL_POLYGON_OFFSET_UNITS = 0x2A00;
enum uint GL_POLYGON_OFFSET_POINT = 0x2A01; enum uint GL_POLYGON_OFFSET_POINT = 0x2A01;
@ -463,80 +209,6 @@ enum uint GL_RGBA8 = 0x8058;
enum uint GL_RGB10_A2 = 0x8059; enum uint GL_RGB10_A2 = 0x8059;
enum uint GL_RGBA12 = 0x805A; enum uint GL_RGBA12 = 0x805A;
enum uint GL_RGBA16 = 0x805B; enum uint GL_RGBA16 = 0x805B;
enum uint GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
enum uint GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
enum uint GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF;
enum uint GL_VERTEX_ARRAY_POINTER = 0x808E;
enum uint GL_NORMAL_ARRAY_POINTER = 0x808F;
enum uint GL_COLOR_ARRAY_POINTER = 0x8090;
enum uint GL_INDEX_ARRAY_POINTER = 0x8091;
enum uint GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092;
enum uint GL_EDGE_FLAG_ARRAY_POINTER = 0x8093;
enum uint GL_FEEDBACK_BUFFER_POINTER = 0x0DF0;
enum uint GL_SELECTION_BUFFER_POINTER = 0x0DF3;
enum uint GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1;
enum uint GL_INDEX_LOGIC_OP = 0x0BF1;
enum uint GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B;
enum uint GL_FEEDBACK_BUFFER_SIZE = 0x0DF1;
enum uint GL_FEEDBACK_BUFFER_TYPE = 0x0DF2;
enum uint GL_SELECTION_BUFFER_SIZE = 0x0DF4;
enum uint GL_VERTEX_ARRAY = 0x8074;
enum uint GL_NORMAL_ARRAY = 0x8075;
enum uint GL_COLOR_ARRAY = 0x8076;
enum uint GL_INDEX_ARRAY = 0x8077;
enum uint GL_TEXTURE_COORD_ARRAY = 0x8078;
enum uint GL_EDGE_FLAG_ARRAY = 0x8079;
enum uint GL_VERTEX_ARRAY_SIZE = 0x807A;
enum uint GL_VERTEX_ARRAY_TYPE = 0x807B;
enum uint GL_VERTEX_ARRAY_STRIDE = 0x807C;
enum uint GL_NORMAL_ARRAY_TYPE = 0x807E;
enum uint GL_NORMAL_ARRAY_STRIDE = 0x807F;
enum uint GL_COLOR_ARRAY_SIZE = 0x8081;
enum uint GL_COLOR_ARRAY_TYPE = 0x8082;
enum uint GL_COLOR_ARRAY_STRIDE = 0x8083;
enum uint GL_INDEX_ARRAY_TYPE = 0x8085;
enum uint GL_INDEX_ARRAY_STRIDE = 0x8086;
enum uint GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088;
enum uint GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089;
enum uint GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A;
enum uint GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C;
enum uint GL_TEXTURE_LUMINANCE_SIZE = 0x8060;
enum uint GL_TEXTURE_INTENSITY_SIZE = 0x8061;
enum uint GL_TEXTURE_PRIORITY = 0x8066;
enum uint GL_TEXTURE_RESIDENT = 0x8067;
enum uint GL_ALPHA4 = 0x803B;
enum uint GL_ALPHA8 = 0x803C;
enum uint GL_ALPHA12 = 0x803D;
enum uint GL_ALPHA16 = 0x803E;
enum uint GL_LUMINANCE4 = 0x803F;
enum uint GL_LUMINANCE8 = 0x8040;
enum uint GL_LUMINANCE12 = 0x8041;
enum uint GL_LUMINANCE16 = 0x8042;
enum uint GL_LUMINANCE4_ALPHA4 = 0x8043;
enum uint GL_LUMINANCE6_ALPHA2 = 0x8044;
enum uint GL_LUMINANCE8_ALPHA8 = 0x8045;
enum uint GL_LUMINANCE12_ALPHA4 = 0x8046;
enum uint GL_LUMINANCE12_ALPHA12 = 0x8047;
enum uint GL_LUMINANCE16_ALPHA16 = 0x8048;
enum uint GL_INTENSITY = 0x8049;
enum uint GL_INTENSITY4 = 0x804A;
enum uint GL_INTENSITY8 = 0x804B;
enum uint GL_INTENSITY12 = 0x804C;
enum uint GL_INTENSITY16 = 0x804D;
enum uint GL_V2F = 0x2A20;
enum uint GL_V3F = 0x2A21;
enum uint GL_C4UB_V2F = 0x2A22;
enum uint GL_C4UB_V3F = 0x2A23;
enum uint GL_C3F_V3F = 0x2A24;
enum uint GL_N3F_V3F = 0x2A25;
enum uint GL_C4F_N3F_V3F = 0x2A26;
enum uint GL_T2F_V3F = 0x2A27;
enum uint GL_T4F_V4F = 0x2A28;
enum uint GL_T2F_C4UB_V3F = 0x2A29;
enum uint GL_T2F_C3F_V3F = 0x2A2A;
enum uint GL_T2F_N3F_V3F = 0x2A2B;
enum uint GL_T2F_C4F_N3F_V3F = 0x2A2C;
enum uint GL_T4F_C4F_N3F_V4F = 0x2A2D;
enum uint GL_UNSIGNED_BYTE_3_3_2 = 0x8032; enum uint GL_UNSIGNED_BYTE_3_3_2 = 0x8032;
enum uint GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; enum uint GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033;
enum uint GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; enum uint GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034;
@ -573,11 +245,6 @@ enum uint GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
enum uint GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22; enum uint GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
enum uint GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; enum uint GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
enum uint GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; enum uint GL_ALIASED_LINE_WIDTH_RANGE = 0x846E;
enum uint GL_RESCALE_NORMAL = 0x803A;
enum uint GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8;
enum uint GL_SINGLE_COLOR = 0x81F9;
enum uint GL_SEPARATE_SPECULAR_COLOR = 0x81FA;
enum uint GL_ALIASED_POINT_SIZE_RANGE = 0x846D;
enum uint GL_TEXTURE0 = 0x84C0; enum uint GL_TEXTURE0 = 0x84C0;
enum uint GL_TEXTURE1 = 0x84C1; enum uint GL_TEXTURE1 = 0x84C1;
enum uint GL_TEXTURE2 = 0x84C2; enum uint GL_TEXTURE2 = 0x84C2;
@ -637,43 +304,6 @@ enum uint GL_TEXTURE_COMPRESSED = 0x86A1;
enum uint GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; enum uint GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
enum uint GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; enum uint GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3;
enum uint GL_CLAMP_TO_BORDER = 0x812D; enum uint GL_CLAMP_TO_BORDER = 0x812D;
enum uint GL_CLIENT_ACTIVE_TEXTURE = 0x84E1;
enum uint GL_MAX_TEXTURE_UNITS = 0x84E2;
enum uint GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3;
enum uint GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4;
enum uint GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5;
enum uint GL_TRANSPOSE_COLOR_MATRIX = 0x84E6;
enum uint GL_MULTISAMPLE_BIT = 0x20000000;
enum uint GL_NORMAL_MAP = 0x8511;
enum uint GL_REFLECTION_MAP = 0x8512;
enum uint GL_COMPRESSED_ALPHA = 0x84E9;
enum uint GL_COMPRESSED_LUMINANCE = 0x84EA;
enum uint GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB;
enum uint GL_COMPRESSED_INTENSITY = 0x84EC;
enum uint GL_COMBINE = 0x8570;
enum uint GL_COMBINE_RGB = 0x8571;
enum uint GL_COMBINE_ALPHA = 0x8572;
enum uint GL_SOURCE0_RGB = 0x8580;
enum uint GL_SOURCE1_RGB = 0x8581;
enum uint GL_SOURCE2_RGB = 0x8582;
enum uint GL_SOURCE0_ALPHA = 0x8588;
enum uint GL_SOURCE1_ALPHA = 0x8589;
enum uint GL_SOURCE2_ALPHA = 0x858A;
enum uint GL_OPERAND0_RGB = 0x8590;
enum uint GL_OPERAND1_RGB = 0x8591;
enum uint GL_OPERAND2_RGB = 0x8592;
enum uint GL_OPERAND0_ALPHA = 0x8598;
enum uint GL_OPERAND1_ALPHA = 0x8599;
enum uint GL_OPERAND2_ALPHA = 0x859A;
enum uint GL_RGB_SCALE = 0x8573;
enum uint GL_ADD_SIGNED = 0x8574;
enum uint GL_INTERPOLATE = 0x8575;
enum uint GL_SUBTRACT = 0x84E7;
enum uint GL_CONSTANT = 0x8576;
enum uint GL_PRIMARY_COLOR = 0x8577;
enum uint GL_PREVIOUS = 0x8578;
enum uint GL_DOT3_RGB = 0x86AE;
enum uint GL_DOT3_RGBA = 0x86AF;
enum uint GL_BLEND_DST_RGB = 0x80C8; enum uint GL_BLEND_DST_RGB = 0x80C8;
enum uint GL_BLEND_SRC_RGB = 0x80C9; enum uint GL_BLEND_SRC_RGB = 0x80C9;
enum uint GL_BLEND_DST_ALPHA = 0x80CA; enum uint GL_BLEND_DST_ALPHA = 0x80CA;
@ -690,29 +320,6 @@ enum uint GL_DECR_WRAP = 0x8508;
enum uint GL_TEXTURE_DEPTH_SIZE = 0x884A; enum uint GL_TEXTURE_DEPTH_SIZE = 0x884A;
enum uint GL_TEXTURE_COMPARE_MODE = 0x884C; enum uint GL_TEXTURE_COMPARE_MODE = 0x884C;
enum uint GL_TEXTURE_COMPARE_FUNC = 0x884D; enum uint GL_TEXTURE_COMPARE_FUNC = 0x884D;
enum uint GL_POINT_SIZE_MIN = 0x8126;
enum uint GL_POINT_SIZE_MAX = 0x8127;
enum uint GL_POINT_DISTANCE_ATTENUATION = 0x8129;
enum uint GL_GENERATE_MIPMAP = 0x8191;
enum uint GL_GENERATE_MIPMAP_HINT = 0x8192;
enum uint GL_FOG_COORDINATE_SOURCE = 0x8450;
enum uint GL_FOG_COORDINATE = 0x8451;
enum uint GL_FRAGMENT_DEPTH = 0x8452;
enum uint GL_CURRENT_FOG_COORDINATE = 0x8453;
enum uint GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454;
enum uint GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455;
enum uint GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456;
enum uint GL_FOG_COORDINATE_ARRAY = 0x8457;
enum uint GL_COLOR_SUM = 0x8458;
enum uint GL_CURRENT_SECONDARY_COLOR = 0x8459;
enum uint GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A;
enum uint GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B;
enum uint GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C;
enum uint GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D;
enum uint GL_SECONDARY_COLOR_ARRAY = 0x845E;
enum uint GL_TEXTURE_FILTER_CONTROL = 0x8500;
enum uint GL_DEPTH_TEXTURE_MODE = 0x884B;
enum uint GL_COMPARE_R_TO_TEXTURE = 0x884E;
enum uint GL_BLEND_COLOR = 0x8005; enum uint GL_BLEND_COLOR = 0x8005;
enum uint GL_BLEND_EQUATION = 0x8009; enum uint GL_BLEND_EQUATION = 0x8009;
enum uint GL_CONSTANT_COLOR = 0x8001; enum uint GL_CONSTANT_COLOR = 0x8001;
@ -752,28 +359,6 @@ enum uint GL_DYNAMIC_READ = 0x88E9;
enum uint GL_DYNAMIC_COPY = 0x88EA; enum uint GL_DYNAMIC_COPY = 0x88EA;
enum uint GL_SAMPLES_PASSED = 0x8914; enum uint GL_SAMPLES_PASSED = 0x8914;
enum uint GL_SRC1_ALPHA = 0x8589; enum uint GL_SRC1_ALPHA = 0x8589;
enum uint GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896;
enum uint GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897;
enum uint GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898;
enum uint GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899;
enum uint GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A;
enum uint GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B;
enum uint GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C;
enum uint GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D;
enum uint GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E;
enum uint GL_FOG_COORD_SRC = 0x8450;
enum uint GL_FOG_COORD = 0x8451;
enum uint GL_CURRENT_FOG_COORD = 0x8453;
enum uint GL_FOG_COORD_ARRAY_TYPE = 0x8454;
enum uint GL_FOG_COORD_ARRAY_STRIDE = 0x8455;
enum uint GL_FOG_COORD_ARRAY_POINTER = 0x8456;
enum uint GL_FOG_COORD_ARRAY = 0x8457;
enum uint GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D;
enum uint GL_SRC0_RGB = 0x8580;
enum uint GL_SRC1_RGB = 0x8581;
enum uint GL_SRC2_RGB = 0x8582;
enum uint GL_SRC0_ALPHA = 0x8588;
enum uint GL_SRC2_ALPHA = 0x858A;
enum uint GL_BLEND_EQUATION_RGB = 0x8009; enum uint GL_BLEND_EQUATION_RGB = 0x8009;
enum uint GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; enum uint GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
enum uint GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; enum uint GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
@ -854,10 +439,6 @@ enum uint GL_UPPER_LEFT = 0x8CA2;
enum uint GL_STENCIL_BACK_REF = 0x8CA3; enum uint GL_STENCIL_BACK_REF = 0x8CA3;
enum uint GL_STENCIL_BACK_VALUE_MASK = 0x8CA4; enum uint GL_STENCIL_BACK_VALUE_MASK = 0x8CA4;
enum uint GL_STENCIL_BACK_WRITEMASK = 0x8CA5; enum uint GL_STENCIL_BACK_WRITEMASK = 0x8CA5;
enum uint GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643;
enum uint GL_POINT_SPRITE = 0x8861;
enum uint GL_COORD_REPLACE = 0x8862;
enum uint GL_MAX_TEXTURE_COORDS = 0x8871;
enum uint GL_PIXEL_PACK_BUFFER = 0x88EB; enum uint GL_PIXEL_PACK_BUFFER = 0x88EB;
enum uint GL_PIXEL_UNPACK_BUFFER = 0x88EC; enum uint GL_PIXEL_UNPACK_BUFFER = 0x88EC;
enum uint GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED; enum uint GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
@ -874,13 +455,6 @@ enum uint GL_SRGB_ALPHA = 0x8C42;
enum uint GL_SRGB8_ALPHA8 = 0x8C43; enum uint GL_SRGB8_ALPHA8 = 0x8C43;
enum uint GL_COMPRESSED_SRGB = 0x8C48; enum uint GL_COMPRESSED_SRGB = 0x8C48;
enum uint GL_COMPRESSED_SRGB_ALPHA = 0x8C49; enum uint GL_COMPRESSED_SRGB_ALPHA = 0x8C49;
enum uint GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F;
enum uint GL_SLUMINANCE_ALPHA = 0x8C44;
enum uint GL_SLUMINANCE8_ALPHA8 = 0x8C45;
enum uint GL_SLUMINANCE = 0x8C46;
enum uint GL_SLUMINANCE8 = 0x8C47;
enum uint GL_COMPRESSED_SLUMINANCE = 0x8C4A;
enum uint GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B;
enum uint GL_COMPARE_REF_TO_TEXTURE = 0x884E; enum uint GL_COMPARE_REF_TO_TEXTURE = 0x884E;
enum uint GL_CLIP_DISTANCE0 = 0x3000; enum uint GL_CLIP_DISTANCE0 = 0x3000;
enum uint GL_CLIP_DISTANCE1 = 0x3001; enum uint GL_CLIP_DISTANCE1 = 0x3001;
@ -1077,9 +651,6 @@ enum uint GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54;
enum uint GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; enum uint GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55;
enum uint GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; enum uint GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
enum uint GL_MAX_SAMPLES = 0x8D57; enum uint GL_MAX_SAMPLES = 0x8D57;
enum uint GL_INDEX = 0x8222;
enum uint GL_TEXTURE_LUMINANCE_TYPE = 0x8C14;
enum uint GL_TEXTURE_INTENSITY_TYPE = 0x8C15;
enum uint GL_FRAMEBUFFER_SRGB = 0x8DB9; enum uint GL_FRAMEBUFFER_SRGB = 0x8DB9;
enum uint GL_HALF_FLOAT = 0x140B; enum uint GL_HALF_FLOAT = 0x140B;
enum uint GL_MAP_READ_BIT = 0x0001; enum uint GL_MAP_READ_BIT = 0x0001;
@ -1115,9 +686,6 @@ enum uint GL_RG16UI = 0x823A;
enum uint GL_RG32I = 0x823B; enum uint GL_RG32I = 0x823B;
enum uint GL_RG32UI = 0x823C; enum uint GL_RG32UI = 0x823C;
enum uint GL_VERTEX_ARRAY_BINDING = 0x85B5; enum uint GL_VERTEX_ARRAY_BINDING = 0x85B5;
enum uint GL_CLAMP_VERTEX_COLOR = 0x891A;
enum uint GL_CLAMP_FRAGMENT_COLOR = 0x891B;
enum uint GL_ALPHA_INTEGER = 0x8D97;
enum uint GL_SAMPLER_2D_RECT = 0x8B63; enum uint GL_SAMPLER_2D_RECT = 0x8B63;
enum uint GL_SAMPLER_2D_RECT_SHADOW = 0x8B64; enum uint GL_SAMPLER_2D_RECT_SHADOW = 0x8B64;
enum uint GL_SAMPLER_BUFFER = 0x8DC2; enum uint GL_SAMPLER_BUFFER = 0x8DC2;
@ -1257,3 +825,84 @@ enum uint GL_TEXTURE_SWIZZLE_RGBA = 0x8E46;
enum uint GL_TIME_ELAPSED = 0x88BF; enum uint GL_TIME_ELAPSED = 0x88BF;
enum uint GL_TIMESTAMP = 0x8E28; enum uint GL_TIMESTAMP = 0x8E28;
enum uint GL_INT_2_10_10_10_REV = 0x8D9F; enum uint GL_INT_2_10_10_10_REV = 0x8D9F;
enum uint GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242;
enum uint GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243;
enum uint GL_DEBUG_CALLBACK_FUNCTION = 0x8244;
enum uint GL_DEBUG_CALLBACK_USER_PARAM = 0x8245;
enum uint GL_DEBUG_SOURCE_API = 0x8246;
enum uint GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247;
enum uint GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248;
enum uint GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249;
enum uint GL_DEBUG_SOURCE_APPLICATION = 0x824A;
enum uint GL_DEBUG_SOURCE_OTHER = 0x824B;
enum uint GL_DEBUG_TYPE_ERROR = 0x824C;
enum uint GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D;
enum uint GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E;
enum uint GL_DEBUG_TYPE_PORTABILITY = 0x824F;
enum uint GL_DEBUG_TYPE_PERFORMANCE = 0x8250;
enum uint GL_DEBUG_TYPE_OTHER = 0x8251;
enum uint GL_DEBUG_TYPE_MARKER = 0x8268;
enum uint GL_DEBUG_TYPE_PUSH_GROUP = 0x8269;
enum uint GL_DEBUG_TYPE_POP_GROUP = 0x826A;
enum uint GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B;
enum uint GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C;
enum uint GL_DEBUG_GROUP_STACK_DEPTH = 0x826D;
enum uint GL_BUFFER = 0x82E0;
enum uint GL_SHADER = 0x82E1;
enum uint GL_PROGRAM = 0x82E2;
enum uint GL_VERTEX_ARRAY = 0x8074;
enum uint GL_QUERY = 0x82E3;
enum uint GL_PROGRAM_PIPELINE = 0x82E4;
enum uint GL_SAMPLER = 0x82E6;
enum uint GL_MAX_LABEL_LENGTH = 0x82E8;
enum uint GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143;
enum uint GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144;
enum uint GL_DEBUG_LOGGED_MESSAGES = 0x9145;
enum uint GL_DEBUG_SEVERITY_HIGH = 0x9146;
enum uint GL_DEBUG_SEVERITY_MEDIUM = 0x9147;
enum uint GL_DEBUG_SEVERITY_LOW = 0x9148;
enum uint GL_DEBUG_OUTPUT = 0x92E0;
enum uint GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002;
enum uint GL_STACK_OVERFLOW = 0x0503;
enum uint GL_STACK_UNDERFLOW = 0x0504;
enum uint GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242;
enum uint GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243;
enum uint GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244;
enum uint GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245;
enum uint GL_DEBUG_SOURCE_API_KHR = 0x8246;
enum uint GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247;
enum uint GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248;
enum uint GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249;
enum uint GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A;
enum uint GL_DEBUG_SOURCE_OTHER_KHR = 0x824B;
enum uint GL_DEBUG_TYPE_ERROR_KHR = 0x824C;
enum uint GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D;
enum uint GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E;
enum uint GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F;
enum uint GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250;
enum uint GL_DEBUG_TYPE_OTHER_KHR = 0x8251;
enum uint GL_DEBUG_TYPE_MARKER_KHR = 0x8268;
enum uint GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269;
enum uint GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A;
enum uint GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B;
enum uint GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C;
enum uint GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D;
enum uint GL_BUFFER_KHR = 0x82E0;
enum uint GL_SHADER_KHR = 0x82E1;
enum uint GL_PROGRAM_KHR = 0x82E2;
enum uint GL_VERTEX_ARRAY_KHR = 0x8074;
enum uint GL_QUERY_KHR = 0x82E3;
enum uint GL_PROGRAM_PIPELINE_KHR = 0x82E4;
enum uint GL_SAMPLER_KHR = 0x82E6;
enum uint GL_MAX_LABEL_LENGTH_KHR = 0x82E8;
enum uint GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143;
enum uint GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144;
enum uint GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145;
enum uint GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146;
enum uint GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147;
enum uint GL_DEBUG_SEVERITY_LOW_KHR = 0x9148;
enum uint GL_DEBUG_OUTPUT_KHR = 0x92E0;
enum uint GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002;
enum uint GL_STACK_OVERFLOW_KHR = 0x0503;
enum uint GL_STACK_UNDERFLOW_KHR = 0x0504;
enum uint GL_DISPLAY_LIST = 0x82E7;

View File

@ -4,7 +4,52 @@ module glad.gl.ext;
private import glad.gl.types; private import glad.gl.types;
private import glad.gl.enums; private import glad.gl.enums;
private import glad.gl.funcs; private import glad.gl.funcs;
bool GL_KHR_debug;
nothrow @nogc extern(System) { nothrow @nogc extern(System) {
alias fp_glDebugMessageControl = void function(GLenum, GLenum, GLenum, GLsizei, const(GLuint)*, GLboolean);
alias fp_glDebugMessageInsert = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*);
alias fp_glDebugMessageCallback = void function(GLDEBUGPROC, const(void)*);
alias fp_glGetDebugMessageLog = GLuint function(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
alias fp_glPushDebugGroup = void function(GLenum, GLuint, GLsizei, const(GLchar)*);
alias fp_glPopDebugGroup = void function();
alias fp_glObjectLabel = void function(GLenum, GLuint, GLsizei, const(GLchar)*);
alias fp_glGetObjectLabel = void function(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
alias fp_glObjectPtrLabel = void function(const(void)*, GLsizei, const(GLchar)*);
alias fp_glGetObjectPtrLabel = void function(const(void)*, GLsizei, GLsizei*, GLchar*);
alias fp_glGetPointerv = void function(GLenum, void**);
alias fp_glDebugMessageControlKHR = void function(GLenum, GLenum, GLenum, GLsizei, const(GLuint)*, GLboolean);
alias fp_glDebugMessageInsertKHR = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*);
alias fp_glDebugMessageCallbackKHR = void function(GLDEBUGPROCKHR, const(void)*);
alias fp_glGetDebugMessageLogKHR = GLuint function(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
alias fp_glPushDebugGroupKHR = void function(GLenum, GLuint, GLsizei, const(GLchar)*);
alias fp_glPopDebugGroupKHR = void function();
alias fp_glObjectLabelKHR = void function(GLenum, GLuint, GLsizei, const(GLchar)*);
alias fp_glGetObjectLabelKHR = void function(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
alias fp_glObjectPtrLabelKHR = void function(const(void)*, GLsizei, const(GLchar)*);
alias fp_glGetObjectPtrLabelKHR = void function(const(void)*, GLsizei, GLsizei*, GLchar*);
alias fp_glGetPointervKHR = void function(GLenum, void**);
} }
__gshared { __gshared {
fp_glGetObjectLabelKHR glGetObjectLabelKHR;
fp_glGetDebugMessageLog glGetDebugMessageLog;
fp_glObjectLabel glObjectLabel;
fp_glGetObjectPtrLabelKHR glGetObjectPtrLabelKHR;
fp_glDebugMessageControlKHR glDebugMessageControlKHR;
fp_glGetObjectPtrLabel glGetObjectPtrLabel;
fp_glObjectLabelKHR glObjectLabelKHR;
fp_glGetObjectLabel glGetObjectLabel;
fp_glDebugMessageControl glDebugMessageControl;
fp_glDebugMessageInsert glDebugMessageInsert;
fp_glGetDebugMessageLogKHR glGetDebugMessageLogKHR;
fp_glGetPointervKHR glGetPointervKHR;
fp_glDebugMessageCallbackKHR glDebugMessageCallbackKHR;
fp_glPushDebugGroup glPushDebugGroup;
fp_glGetPointerv glGetPointerv;
fp_glPushDebugGroupKHR glPushDebugGroupKHR;
fp_glDebugMessageCallback glDebugMessageCallback;
fp_glDebugMessageInsertKHR glDebugMessageInsertKHR;
fp_glPopDebugGroupKHR glPopDebugGroupKHR;
fp_glObjectPtrLabel glObjectPtrLabel;
fp_glObjectPtrLabelKHR glObjectPtrLabelKHR;
fp_glPopDebugGroup glPopDebugGroup;
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,402 +3,268 @@ module glad.gl.gl;
public import glad.gl.types; public import glad.gl.types;
public import glad.gl.funcs : public import glad.gl.funcs :
glCopyTexImage1D, glVertexAttribI3ui, glWindowPos2s, glWindowPos2i, glWindowPos2f, glMultiTexCoordP2uiv, glCopyTexImage1D, glVertexAttribI3ui, glStencilMaskSeparate, glVertexAttribP1uiv,
glWindowPos2d, glVertex2fv, glColor4ub, glIndexi, glFramebufferRenderbuffer, glLinkProgram, glHint, glGetUniformiv, glFramebufferRenderbuffer, glGetString,
glRectdv, glCompressedTexSubImage3D, glEvalCoord2d, glEvalCoord2f, glIndexd, glVertexAttribP2uiv, glCompressedTexSubImage3D, glDetachShader, glTexCoordP3uiv, glVertexAttrib1sv,
glVertexAttrib1sv, glIndexf, glBindSampler, glLineWidth, glColorP3uiv, glBindSampler, glLineWidth, glColorP3uiv, glGetIntegeri_v, glVertexAttribI2ui,
glGetIntegeri_v, glGetMapfv, glIndexs, glCompileShader, glGetTransformFeedbackVarying, glCompileShader, glGetTransformFeedbackVarying, glColorMask, glDeleteTextures, glStencilOpSeparate,
glVertex3sv, glIndexfv, glFogiv, glStencilMaskSeparate, glRasterPos2fv, glCopyBufferSubData, glDeleteQueries, glNormalP3uiv, glVertexAttrib4f, glUniformMatrix3x4fv,
glLightModeliv, glRectd, glSecondaryColor3fv, glMultiTexCoordP3ui, glFogfv, glGetBufferParameteri64v, glVertexAttribIPointer, glMultiTexCoordP3ui, glBeginConditionalRender, glDrawElementsBaseVertex,
glVertexP4ui, glEnablei, glVertex4iv, glEvalCoord1fv, glWindowPos2sv, glVertexP4ui, glEnablei, glSampleCoverage, glSamplerParameteri, glSamplerParameterf,
glVertexAttribP4ui, glCreateShader, glIsBuffer, glGetMultisamplefv, glGenRenderbuffers, glUniform1f, glGetVertexAttribfv, glGetCompressedTexImage, glVertexAttribP4ui, glCreateShader,
glCopyTexSubImage2D, glCompressedTexImage2D, glVertexAttrib1f, glBlendFuncSeparate, glVertex4fv, glIsBuffer, glGetMultisamplefv, glGenRenderbuffers, glCopyTexSubImage2D, glCompressedTexImage2D,
glDrawBuffers, glVertexAttrib1s, glTexCoord2fv, glSampleMaski, glVertexP2ui, glVertexAttrib1f, glVertexP3ui, glBlendFuncSeparate, glLogicOp, glDrawBuffers,
glTexCoord1i, glTexCoord4fv, glUniformMatrix3x2fv, glPointSize, glVertexAttrib2dv, glVertexAttrib1s, glUniform4ui, glSampleMaski, glVertexP2ui, glBindFramebuffer,
glDeleteProgram, glColor4bv, glRasterPos2f, glRasterPos2d, glLoadIdentity, glCullFace, glUniformMatrix3x2fv, glPointSize, glVertexAttribI2uiv, glVertexAttrib2dv,
glRasterPos2i, glUniformMatrix4x3fv, glColor3b, glClearBufferfv, glEdgeFlag, glDeleteProgram, glVertexAttrib4Nuiv, glRenderbufferStorage, glWaitSync, glAttachShader,
glFogCoordf, glVertex3d, glVertex3f, glVertex3i, glColor3i, glUniformMatrix4x3fv, glUniform3i, glClearBufferfv, glQueryCounter, glProvokingVertex,
glUniform3f, glVertexAttrib4ubv, glColor3s, glVertex3s, glTexCoordP2ui, glUniform3f, glVertexAttrib4ubv, glGetBufferParameteriv, glTexCoordP2ui, glDrawElements,
glColorMaski, glEnableClientState, glClearBufferfi, glTexCoord1iv, glMultiTexCoord1iv, glColorMaski, glClearBufferfi, glGenVertexArrays, glVertexAttribI4sv, glMultiTexCoordP2ui,
glMultiTexCoordP2ui, glGetSamplerParameterIiv, glGetFragDataIndex, glRasterPos4i, glVertex2iv, glGetQueryObjectiv, glGetSamplerParameterIiv, glGetFragDataIndex, glSecondaryColorP3uiv, glTexParameterIuiv,
glColor3sv, glGetVertexAttribdv, glUniformMatrix3x4fv, glNormalPointer, glTexCoordP3uiv, glDrawArraysInstanced, glMultiDrawArrays, glGenerateMipmap, glGetVertexAttribdv, glSamplerParameteriv,
glVertex4sv, glPassThrough, glMultiTexCoordP4ui, glFogi, glBegin, glVertexAttrib3f, glVertexAttrib4uiv, glVertexAttrib3d, glBlendColor, glSamplerParameterIuiv,
glEvalCoord2dv, glColor3ubv, glVertexPointer, glScaled, glDeleteFramebuffers, glUnmapBuffer, glPointParameterf, glMultiTexCoordP4ui, glVertexAttribI4iv, glEndQuery,
glDrawArrays, glUniform1ui, glMultiTexCoord1d, glMultiTexCoord1f, glLightfv, glBindRenderbuffer, glDeleteFramebuffers, glDrawArrays, glUniform1ui, glIsProgram,
glClear, glMultiTexCoord1i, glGetActiveUniformName, glMultiTexCoord1s, glStencilOp, glVertexAttrib4bv, glTexCoordP1ui, glVertexAttribI2i, glClear, glVertexAttrib4fv,
glTexCoord1s, glFramebufferTexture2D, glGetFramebufferAttachmentParameteriv, glTranslatef, glVertexAttrib4Nub, glGetActiveUniformName, glUniform4i, glActiveTexture, glEnableVertexAttribArray, glDrawRangeElements,
glTranslated, glTexCoord3sv, glGetFragDataLocation, glTexImage1D, glTexParameteriv, glBindTexture, glIsEnabled, glStencilOp, glReadPixels, glVertexAttribI3iv,
glCopyPixels, glSecondaryColor3bv, glGetMaterialfv, glGetTexImage, glFogCoordfv, glUniform4f, glFramebufferTexture2D, glGetFramebufferAttachmentParameteriv, glVertexAttrib4Nub, glUniformMatrix3fv,
glVertexAttrib4iv, glPixelMapuiv, glColor4ubv, glGetQueryObjecti64v, glGenFramebuffers, glGetFragDataLocation, glTexImage1D, glDrawElementsInstancedBaseVertex, glTexParameteriv, glGetTexImage,
glIndexsv, glGetAttachedShaders, glIsRenderbuffer, glVertex3iv, glBitmap, glGetTexLevelParameterfv, glUniform1iv, glGetQueryObjecti64v, glGenFramebuffers, glStencilFunc,
glMateriali, glIsVertexArray, glDisableVertexAttribArray, glGetQueryiv, glTexCoord4f, glGetAttachedShaders, glUniformBlockBinding, glIsRenderbuffer, glDeleteVertexArrays, glMapBufferRange,
glTexCoord4d, glGetSamplerParameterfv, glTexCoord4i, glMaterialf, glTexCoord4s, glVertexAttrib4Nubv, glIsVertexArray, glDisableVertexAttribArray, glReadBuffer, glGetQueryiv,
glGetUniformIndices, glIsShader, glFeedbackBuffer, glVertexAttribI4ubv, glVertex3dv, glGetSamplerParameterfv, glGetShaderInfoLog, glGetUniformIndices, glIsShader, glVertexAttribI4ubv,
glPointParameteriv, glDisable, glEnable, glGetActiveUniformsiv, glColor4fv, glGetInteger64v, glVertexAttribI4i, glPointParameteriv, glDisable, glGetBufferSubData,
glTexCoord1fv, glTexCoord2sv, glVertexAttrib4dv, glMultiTexCoord1dv, glGetMapiv, glBindAttribLocation, glEnable, glGetActiveUniformsiv, glBindBufferRange, glTexParameterfv,
glTexCoord3fv, glSecondaryColor3usv, glMultiTexCoordP3uiv, glVertexAttribP3ui, glGetPointerv, glBlendEquationSeparate, glVertexAttribI1ui, glGenBuffers, glGetAttribLocation, glVertexAttrib4dv,
glPolygonOffset, glGetUniformuiv, glNormal3fv, glDepthRange, glFrustum, glTexCoordP1uiv, glVertexAttrib2fv, glBlendFunc, glCreateProgram, glTexImage3D,
glMultiTexCoord2f, glDrawBuffer, glPushMatrix, glRasterPos3fv, glOrtho, glMultiTexCoordP3uiv, glVertexAttribP3ui, glIsFramebuffer, glPrimitiveRestartIndex, glGetUniformfv,
glDrawElementsInstanced, glWindowPos3sv, glVertexAttrib4d, glClearIndex, glMap1d, glGetUniformuiv, glGetVertexAttribIiv, glDrawBuffer, glColorP4ui, glClearBufferuiv,
glMap1f, glFlush, glGetRenderbufferParameteriv, glIndexiv, glRasterPos3sv, glDrawElementsInstanced, glVertexAttrib4d, glGetBooleanv, glVertexP2uiv, glGetTexParameteriv,
glGetVertexAttribPointerv, glPixelZoom, glDeleteBuffers, glFenceSync, glDeleteVertexArrays, glFlush, glGetRenderbufferParameteriv, glClearColor, glVertexAttribI2iv, glGetUniformBlockIndex,
glColorP3ui, glVertexAttrib3sv, glVertexAttrib4s, glGetTexLevelParameteriv, glLighti, glVertexAttrib4Niv, glClearBufferiv, glPointParameteri, glGetVertexAttribPointerv, glColorP4uiv,
glMultiTexCoordP4uiv, glLightf, glGetAttribLocation, glStencilFuncSeparate, glGenSamplers, glGetStringi, glFenceSync, glUniform3ui, glColorP3ui, glVertexAttrib3sv,
glClampColor, glUniform4iv, glClearStencil, glVertexAttrib2sv, glMultiTexCoord3fv, glVertexAttrib4s, glVertexAttribI4uiv, glGetTexLevelParameteriv, glUniform2fv, glMultiTexCoordP4uiv,
glGetPixelMapuiv, glGenTextures, glTexCoord4iv, glGetTexParameterIuiv, glIndexPointer, glGetSamplerParameterIuiv, glStencilFuncSeparate, glTexCoordP3ui, glGenSamplers, glClampColor,
glVertexAttrib4Nbv, glGetQueryObjectiv, glIsSync, glVertex2f, glVertex2d, glUniform4iv, glClearStencil, glVertexAttrib2sv, glUniformMatrix2x3fv, glGetVertexAttribIuiv,
glDeleteRenderbuffers, glUniform2i, glMapGrid2d, glMapGrid2f, glShaderSource, glVertexAttrib4Nusv, glGenTextures, glDepthFunc, glCompressedTexSubImage2D, glGetTexParameterIuiv,
glVertex2i, glVertexAttribPointer, glFramebufferTextureLayer, glVertex2s, glNormal3bv, glVertexAttribI4bv, glVertexAttrib4Nbv, glGetTexParameterfv, glMultiTexCoordP1ui, glVertexAttrib3s,
glFlushMappedBufferRange, glSecondaryColor3sv, glPointParameteri, glWindowPos2iv, glGenQueries, glIsSync, glGetActiveUniformBlockName, glClientWaitSync, glUniform2i, glUniform2f,
glGetPixelMapfv, glTexEnvf, glVertexAttribP1ui, glTexSubImage3D, glGetInteger64i_v, glShaderSource, glGetProgramiv, glVertexAttribPointer, glFramebufferTextureLayer, glTexParameterIiv,
glFogCoordd, glDeleteSamplers, glCopyTexImage2D, glTexEnvi, glBlitFramebuffer, glBlendEquation, glGetUniformLocation, glGetSamplerParameteriv, glEndTransformFeedback, glFlushMappedBufferRange,
glIsEnabledi, glSecondaryColorP3ui, glBindFragDataLocationIndexed, glMultiTexCoord2dv, glUniform2iv, glVertexAttrib4usv, glUniform4fv, glBeginTransformFeedback, glVertexAttribI1iv, glIsSampler,
glUniform4uiv, glMatrixMode, glMultiTexCoord2s, glColor3uiv, glMultiTexCoord2i, glVertexAttribP4uiv, glVertexAttribDivisor, glGenQueries, glCompressedTexImage1D, glVertexAttribP1ui,
glFramebufferTexture1D, glGetShaderiv, glMultiTexCoord2d, glMultiTexCoord4sv, glBindFragDataLocation, glCopyTexSubImage1D, glDrawRangeElementsBaseVertex, glCheckFramebufferStatus, glTexSubImage3D, glGetInteger64i_v,
glPrioritizeTextures, glCallList, glSecondaryColor3ubv, glGetDoublev, glMultiTexCoord3iv, glDeleteSamplers, glCopyTexImage2D, glVertexP3uiv, glBlitFramebuffer, glIsEnabledi,
glVertexAttrib1d, glLightModelf, glVertexAttrib1fv, glVertex2sv, glLightModeli, glUniformMatrix4x2fv, glSecondaryColorP3ui, glBindFragDataLocationIndexed, glVertexAttrib1dv, glUniform2iv,
glBindBufferRange, glWindowPos3iv, glMultiTexCoordP1uiv, glUniform3fv, glCallLists, glGetQueryObjectuiv, glSamplerParameterIiv, glBufferSubData, glVertexAttrib4iv, glUniform4uiv,
glMapBuffer, glSecondaryColor3d, glTexCoord3i, glMultiTexCoord4fv, glRasterPos3i, glFramebufferTexture, glUniform1i, glFramebufferTexture1D, glGetShaderiv, glVertexP4uiv,
glSecondaryColor3b, glRasterPos3d, glRasterPos3f, glCompressedTexImage3D, glTexCoord3f, glGetActiveAttrib, glBindFragDataLocation, glVertexAttrib2d, glPolygonOffset, glDisablei,
glDeleteSync, glMultiTexCoordP1ui, glGetVertexAttribiv, glSecondaryColor3s, glVertexAttrib3fv, glGetDoublev, glTexCoordP4ui, glVertexAttrib1d, glVertexAttribI3uiv, glTexSubImage2D,
glTexCoord3s, glUniform3iv, glRasterPos3s, glPolygonMode, glGetActiveUniformBlockiv, glGetSynciv, glVertexAttrib1fv, glTexCoordP2uiv, glVertexAttribI4ui, glTexImage2DMultisample,
glAreTexturesResident, glIsList, glRasterPos4sv, glCopyTexSubImage3D, glColor4s, glBeginQuery, glMultiTexCoordP1uiv, glUniform3fv, glDepthRange, glMapBuffer,
glUseProgram, glLineStipple, glSamplerParameterIuiv, glMultiTexCoord1sv, glGetProgramInfoLog, glUniformMatrix2x4fv, glBindBuffer, glBufferData, glGetTexParameterIiv, glCompressedTexImage3D,
glMultiTexCoord2iv, glTexCoord1sv, glBindVertexArray, glColor4b, glSecondaryColor3f, glDeleteSync, glCopyTexSubImage3D, glGetError, glDeleteRenderbuffers, glGetVertexAttribiv,
glColor4f, glColor4d, glColor4i, glMultiDrawElementsBaseVertex, glUniform4fv, glMultiDrawElements, glVertexAttrib3fv, glGetFloatv, glTexSubImage1D, glUniform3iv,
glRasterPos3iv, glVertex2dv, glTexCoord4sv, glUniform2uiv, glCompressedTexSubImage1D, glNormalP3ui, glPolygonMode, glVertexAttribI1i, glVertexAttribP3uiv, glGetActiveUniformBlockiv,
glFinish, glClipPlane, glDeleteShader, glRasterPos2s, glGetMapdv, glGetIntegerv, glGetBufferPointerv, glFramebufferTexture3D, glRenderbufferStorageMultisample, glIsQuery,
glVertexAttrib4Nsv, glTexGendv, glViewport, glBindBufferBase, glVertexP3uiv, glUniformMatrix2fv, glUseProgram, glVertexAttrib4sv, glTexImage2D, glGetProgramInfoLog,
glTransformFeedbackVaryings, glIndexdv, glTexCoord3d, glTexCoord3iv, glVertexAttribI3i, glStencilMask, glSamplerParameterfv, glBindVertexArray, glIsTexture, glUniform1fv,
glClearDepth, glVertexAttribI4usv, glTexParameterf, glTexParameteri, glGetShaderSource, glDeleteBuffers, glMultiDrawElementsBaseVertex, glEndConditionalRender, glScissor, glTexCoordP4uiv,
glTexBuffer, glPixelStorei, glValidateProgram, glPixelStoref, glSecondaryColor3iv, glUniform2uiv, glCompressedTexSubImage1D, glFinish, glDeleteShader, glPointParameterfv,
glRasterPos4fv, glEvalCoord1dv, glMultiTexCoordP2uiv, glRecti, glMultiDrawElements, glVertexAttrib4Nsv, glViewport, glBindBufferBase, glVertexAttribI1uiv, glUniform1uiv,
glRectf, glColor4ui, glNormal3sv, glGetFloatv, glColor4us, glTransformFeedbackVaryings, glVertexAttrib2f, glVertexAttrib3dv, glGetQueryObjectui64v, glUniform2ui,
glVertexAttribP1uiv, glLinkProgram, glTexSubImage1D, glBindTexture, glRects, glDepthMask, glVertexAttribI3i, glVertexAttrib2s, glTexImage3DMultisample, glUniformMatrix4fv,
glTexCoord2dv, glRasterPos4iv, glGetString, glVertexAttribP2uiv, glEdgeFlagv, glClearDepth, glGetActiveUniform, glVertexAttribI4usv, glTexParameterf, glTexParameteri,
glDetachShader, glScalef, glEndQuery, glSecondaryColor3uiv, glEdgeFlagPointer, glFrontFace, glGetShaderSource, glTexBuffer, glPixelStorei, glValidateProgram,
glVertexAttrib4Nuiv, glVertexAttribI2ui, glPopAttrib, glDeleteTextures, glStencilOpSeparate, glPixelStoref, glUniform3uiv, glVertexAttribP2ui, glGetBooleani_v;
glDeleteQueries, glNormalP3uiv, glVertexAttrib4f, glRenderbufferStorage, glInitNames,
glColor3dv, glPixelMapfv, glGetTexParameteriv, glWaitSync, glBeginConditionalRender, public import glad.gl.ext :
glDrawElementsBaseVertex, glSampleCoverage, glSamplerParameteri, glSamplerParameterf, glUniform1f, glObjectPtrLabel, glGetDebugMessageLog, glPushDebugGroup, glDebugMessageCallbackKHR, glObjectLabelKHR,
glGetVertexAttribfv, glRenderMode, glGetCompressedTexImage, glWindowPos2dv, glUniform1i, glGetObjectPtrLabelKHR, glGetPointerv, glDebugMessageControlKHR, glGetObjectPtrLabel, glObjectLabel,
glGetActiveAttrib, glUniform3i, glPixelTransferi, glTexSubImage2D, glGetUniformiv, glDebugMessageCallback, glDebugMessageInsertKHR, glPopDebugGroupKHR, glGetObjectLabel, glDebugMessageControl,
glLogicOp, glEvalPoint2, glPixelTransferf, glUniform4ui, glColor3f, glDebugMessageInsert, glObjectPtrLabelKHR, glGetObjectLabelKHR, glPopDebugGroup, glPushDebugGroupKHR,
glBindFramebuffer, glGetTexEnvfv, glRectfv, glCullFace, glGetLightfv, glGetDebugMessageLogKHR, glGetPointervKHR;
glTexGenf, glTexGend, glTexGeni, glMultiTexCoord3s, glVertexAttribI2uiv,
glMultiTexCoord3i, glMultiTexCoord3f, glMultiTexCoord3d, glAttachShader, glFogCoorddv,
glGetTexGenfv, glQueryCounter, glFogCoordPointer, glProvokingVertex, glRasterPos4dv,
glTexGeniv, glDrawElements, glColorMaterial, glSecondaryColor3dv, glClientActiveTexture,
glVertexAttribI4sv, glTexCoord2iv, glUniform1iv, glGetBufferParameteriv, glReadBuffer,
glTexParameterIuiv, glDrawArraysInstanced, glGenerateMipmap, glWindowPos3fv, glLightModelfv,
glSamplerParameteriv, glDeleteLists, glGetClipPlane, glVertexAttrib3f, glTexCoord2d,
glVertexAttrib3d, glTexCoord2f, glRasterPos2dv, glIndexubv, glUnmapBuffer,
glTexCoord2i, glRasterPos4d, glRasterPos4f, glVertexAttrib3s, glTexCoord2s,
glBindRenderbuffer, glVertex3fv, glTexCoord4dv, glMaterialiv, glVertexAttribP4uiv,
glIsProgram, glPointParameterfv, glVertex4s, glPopMatrix, glVertexAttrib4fv,
glNormal3dv, glUniform4i, glActiveTexture, glEnableVertexAttribArray, glRotated,
glRotatef, glVertex4i, glArrayElement, glReadPixels, glVertexAttribI3iv,
glStencilMask, glUniform4f, glRenderbufferStorageMultisample, glColor3d, glGenVertexArrays,
glShadeModel, glMapGrid1d, glGetUniformfv, glMapGrid1f, glDrawPixels,
glDisableClientState, glMultiTexCoord3sv, glDrawElementsInstancedBaseVertex, glSecondaryColorPointer, glAlphaFunc,
glMultiTexCoord4iv, glTexEnvfv, glStencilFunc, glTexCoord3dv, glUniformBlockBinding,
glColor4uiv, glRectiv, glColorP4ui, glRasterPos3dv, glEvalMesh2,
glEvalMesh1, glTexCoordPointer, glLoadMatrixf, glVertexAttribI4iv, glEvalCoord2fv,
glGetShaderInfoLog, glLoadTransposeMatrixd, glLoadTransposeMatrixf, glVertexAttribI4i, glRasterPos2iv,
glGetBufferSubData, glTexEnviv, glBlendEquationSeparate, glVertexAttribI1ui, glGenBuffers,
glSelectBuffer, glTexCoordP1uiv, glPushAttrib, glVertexAttribIPointer, glBlendFunc,
glCreateProgram, glTexImage3D, glIsFramebuffer, glLightiv, glPrimitiveRestartIndex,
glTexGenfv, glTexCoord1dv, glEnd, glGetInteger64v, glScissor,
glTexCoordP4uiv, glGetBooleanv, glPushName, glMaterialfv, glIndexub,
glVertexP2uiv, glUniform3uiv, glMultTransposeMatrixf, glMultTransposeMatrixd, glClearColor,
glVertexAttrib4uiv, glPolygonStipple, glVertexAttrib4Niv, glClearBufferiv, glGetBufferParameteri64v,
glColorP4uiv, glBlendColor, glWindowPos3d, glGetStringi, glColor4iv,
glUniform3ui, glSecondaryColor3us, glVertexAttribI4uiv, glVertexAttrib4bv, glUniform2fv,
glSecondaryColor3ub, glSecondaryColor3ui, glMultiTexCoord1fv, glGetSamplerParameterIuiv, glNormal3i,
glTexCoordP3ui, glNormal3iv, glWindowPos3s, glPointParameterf, glColor3us,
glWindowPos3i, glUniformMatrix2x3fv, glWindowPos3f, glGetVertexAttribIuiv, glMultiTexCoord4s,
glVertexAttrib4Nusv, glGetLightiv, glDepthFunc, glCompressedTexSubImage2D, glListBase,
glMultiTexCoord4f, glColor3ub, glMultiTexCoord4d, glVertexAttribI4bv, glGetTexParameterfv,
glColor3ui, glMultiTexCoord4i, glGetPolygonStipple, glClientWaitSync, glVertexAttribI4ui,
glPixelMapusv, glColorMask, glTexParameterIiv, glBlendEquation, glGetUniformLocation,
glGetTexGeniv, glRasterPos4s, glEndTransformFeedback, glVertexAttrib4usv, glTexImage2DMultisample,
glColor4sv, glPopClientAttrib, glColor4dv, glBeginTransformFeedback, glFogf,
glVertexAttribI1iv, glIsSampler, glVertexP3ui, glVertexAttribDivisor, glColor3iv,
glCompressedTexImage1D, glCopyTexSubImage1D, glDrawRangeElementsBaseVertex, glCheckFramebufferStatus, glTexCoord1d,
glTexCoord1f, glEndConditionalRender, glUniform1uiv, glBindAttribLocation, glUniformMatrix4x2fv,
glMultiTexCoord2sv, glVertexAttrib1dv, glDrawRangeElements, glGetQueryObjectuiv, glSamplerParameterIiv,
glBufferSubData, glVertexAttribI2i, glGenLists, glColor3bv, glMapBufferRange,
glFramebufferTexture, glGetTexGendv, glMultiDrawArrays, glEndList, glVertexP4uiv,
glUniform2ui, glVertexAttribI2iv, glColor3usv, glWindowPos2fv, glDisablei,
glIndexMask, glPushClientAttrib, glVertex4dv, glTexCoordP4ui, glGetActiveUniformBlockName,
glVertexAttribI3uiv, glClearAccum, glGetSynciv, glTexCoordP2uiv, glUniform2f,
glBeginQuery, glUniformMatrix4fv, glBindBuffer, glMap2d, glMap2f,
glRasterPos2sv, glUniformMatrix2fv, glUniformMatrix2x4fv, glBufferData, glEvalPoint1,
glGetTexParameterIiv, glIsEnabled, glTexCoordP1ui, glGetError, glGetTexEnviv,
glGetProgramiv, glVertexAttribP2ui, glNewList, glSecondaryColor3i, glMultiTexCoord2fv,
glNormalP3ui, glEvalCoord1d, glGetTexLevelParameterfv, glEvalCoord1f, glVertexAttribI1i,
glVertex4d, glVertexAttribP3uiv, glGetPixelMapusv, glSecondaryColorP3uiv, glGetIntegerv,
glAccum, glGetBufferPointerv, glGetVertexAttribIiv, glFramebufferTexture3D, glVertexAttrib2fv,
glIsQuery, glVertexAttrib4sv, glWindowPos3dv, glTexImage2D, glLoadName,
glSamplerParameterfv, glMultMatrixd, glMultMatrixf, glIsTexture, glGetMaterialiv,
glUniform1fv, glVertexAttrib4Nubv, glLoadMatrixd, glTexParameterfv, glUniformMatrix3fv,
glVertex4f, glRectsv, glColor4usv, glNormal3s, glInterleavedArrays,
glHint, glNormal3f, glNormal3d, glNormal3b, glMultiTexCoord4dv,
glGetSamplerParameteriv, glPopName, glCopyBufferSubData, glVertexAttribI1uiv, glVertexAttrib2d,
glVertexAttrib2f, glVertexAttrib3dv, glGetQueryObjectui64v, glDepthMask, glVertexAttrib2s,
glColor3fv, glTexImage3DMultisample, glGetUniformBlockIndex, glMultiTexCoord3dv, glGetActiveUniform,
glColorPointer, glFrontFace, glGetBooleani_v, glClearBufferuiv;
public import glad.gl.enums : public import glad.gl.enums :
GL_INDEX_CLEAR_VALUE, GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL_FOG_INDEX, GL_ALPHA_TEST_FUNC, GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL_UNSIGNED_INT_VEC2, GL_UNSIGNED_INT_VEC3, GL_UNSIGNED_INT_VEC4,
GL_SOURCE1_ALPHA, GL_NORMAL_MAP, GL_DITHER, GL_QUERY_RESULT, GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, GL_UNSIGNED_SHORT_5_6_5, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_DEPTH_ATTACHMENT, GL_DITHER, GL_RGB16UI,
GL_R16_SNORM, GL_FOG_COORD_ARRAY, GL_FLOAT, GL_PROXY_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MAX_LOD, GL_QUERY_RESULT, GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR, GL_FLOAT_VEC2, GL_FLOAT_VEC3,
GL_RGB16_SNORM, GL_SAMPLER_2D_RECT, GL_RGB9_E5, GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_TEXTURE_COMPRESSED, GL_R16_SNORM, GL_FLOAT_VEC4, GL_FLOAT, GL_RGB32UI, GL_TEXTURE_MAX_LOD,
GL_T2F_C4UB_V3F, GL_EDGE_FLAG_ARRAY_POINTER, GL_PROXY_TEXTURE_3D, GL_MAX_LIST_NESTING, GL_COLOR_ATTACHMENT22, GL_BUFFER_MAP_OFFSET, GL_MIN_PROGRAM_TEXEL_OFFSET, GL_BUFFER_SIZE, GL_RGB16_SNORM, GL_SAMPLER_2D_RECT,
GL_SOURCE0_ALPHA, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_BYTE, GL_TIMEOUT_IGNORED, GL_RGB9_E5, GL_UNIFORM_BUFFER_START, GL_TEXTURE_COMPRESSED, GL_TEXTURE_COMPRESSION_HINT, GL_RGBA32UI,
GL_COLOR_ARRAY, GL_ZOOM_Y, GL_ZOOM_X, GL_RENDERBUFFER_SAMPLES, GL_HINT_BIT, GL_UNSIGNED_INT_SAMPLER_2D, GL_VERTEX_ARRAY_KHR, GL_TEXTURE_MIN_LOD, GL_DEBUG_TYPE_OTHER_KHR, GL_TEXTURE9,
GL_COLOR_CLEAR_VALUE, GL_LINEAR_MIPMAP_LINEAR, GL_DEPTH_WRITEMASK, GL_TEXTURE_GEN_MODE, GL_3D_COLOR_TEXTURE, GL_MAX_VARYING_FLOATS, GL_TEXTURE4, GL_TEXTURE5, GL_TEXTURE6, GL_TEXTURE7,
GL_COLOR_ARRAY_POINTER, GL_TEXTURE_DEPTH_SIZE, GL_FLOAT_MAT3x2, GL_PIXEL_MAP_G_TO_G, GL_RENDER, GL_TEXTURE0, GL_LINEAR_MIPMAP_LINEAR, GL_TEXTURE2, GL_TEXTURE3, GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
GL_MAX_TEXTURE_COORDS, GL_FLOAT_MAT3x4, GL_COLOR_ATTACHMENT28, GL_TEXTURE_BINDING_2D_MULTISAMPLE, GL_COLOR_ATTACHMENT24, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_DOUBLE, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_BYTE, GL_BOOL_VEC3,
GL_BOOL_VEC2, GL_TIMEOUT_IGNORED, GL_RENDERBUFFER_SAMPLES, GL_ONE, GL_RG,
GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_COLOR_CLEAR_VALUE, GL_MAX_SAMPLES, GL_DEPTH_WRITEMASK, GL_DEBUG_SOURCE_THIRD_PARTY,
GL_UNPACK_IMAGE_HEIGHT, GL_GREEN_INTEGER, GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR, GL_TEXTURE_DEPTH_SIZE, GL_FLOAT_MAT3x2,
GL_TRIANGLE_STRIP, GL_NOOP, GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_FLOAT_MAT3x4, GL_CONTEXT_FLAGS,
GL_FRONT_LEFT, GL_COLOR_ATTACHMENT28, GL_COLOR_ATTACHMENT29, GL_DEBUG_SEVERITY_NOTIFICATION, GL_COLOR_ATTACHMENT24,
GL_COLOR_ATTACHMENT25, GL_COLOR_ATTACHMENT26, GL_COLOR_ATTACHMENT27, GL_COLOR_ATTACHMENT20, GL_COLOR_ATTACHMENT21, GL_COLOR_ATTACHMENT25, GL_COLOR_ATTACHMENT26, GL_COLOR_ATTACHMENT27, GL_COLOR_ATTACHMENT20, GL_COLOR_ATTACHMENT21,
GL_COMPRESSED_RGBA, GL_COLOR_ATTACHMENT23, GL_CLIENT_ATTRIB_STACK_DEPTH, GL_UNSIGNED_SHORT_5_5_5_1, GL_TEXTURE_COMPONENTS, GL_COMPRESSED_RGBA, GL_COLOR_ATTACHMENT23, GL_RGBA32I, GL_TRANSFORM_FEEDBACK_BUFFER, GL_QUERY_WAIT,
GL_QUERY_NO_WAIT, GL_PROVOKING_VERTEX, GL_SIGNED_NORMALIZED, GL_CURRENT_RASTER_TEXTURE_COORDS, GL_EXP, GL_UNSIGNED_SHORT_5_5_5_1, GL_TIMEOUT_EXPIRED, GL_QUERY_NO_WAIT, GL_PROVOKING_VERTEX, GL_UNPACK_SWAP_BYTES,
GL_LINE_STRIP_ADJACENCY, GL_POINT_SIZE, GL_TEXTURE_COMPARE_FUNC, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL_BITMAP_TOKEN, GL_STENCIL_FUNC, GL_MAX_TEXTURE_LOD_BIAS, GL_ALIASED_LINE_WIDTH_RANGE, GL_LINE_STRIP_ADJACENCY, GL_POINT_SIZE,
GL_RGB10, GL_RGB16, GL_POLYGON_OFFSET_FILL, GL_LINE_TOKEN, GL_DOUBLEBUFFER, GL_INVERT, GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR, GL_TEXTURE_COMPARE_FUNC, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL_RGB12,
GL_MAX_CLIP_PLANES, GL_FOG_COORDINATE_ARRAY_STRIDE, GL_RGB_INTEGER, GL_COMPILE_AND_EXECUTE, GL_MULT, GL_INT, GL_RGB10, GL_RGB16, GL_DEBUG_TYPE_POP_GROUP, GL_CLIP_DISTANCE1,
GL_STENCIL_CLEAR_VALUE, GL_GREEN_BITS, GL_SHADING_LANGUAGE_VERSION, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_SRC2_RGB, GL_BGRA, GL_POLYGON_OFFSET_FILL, GL_CLIP_DISTANCE2, GL_CLIP_DISTANCE5, GL_CLIP_DISTANCE4,
GL_FRAGMENT_SHADER, GL_UNSIGNED_INT_2_10_10_10_REV, GL_INDEX_ARRAY_TYPE, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_TEXTURE_DEPTH, GL_CLIP_DISTANCE7, GL_CLIP_DISTANCE6, GL_DOUBLEBUFFER, GL_FRONT_AND_BACK, GL_R8,
GL_VIEWPORT, GL_DRAW_BUFFER6, GL_DRAW_BUFFER7, GL_DRAW_BUFFER4, GL_DRAW_BUFFER5, GL_POINT, GL_RGB_INTEGER, GL_BUFFER_KHR, GL_STENCIL_CLEAR_VALUE, GL_SRGB,
GL_DRAW_BUFFER2, GL_DRAW_BUFFER3, GL_DRAW_BUFFER0, GL_DRAW_BUFFER1, GL_LIGHT1, GL_SYNC_FENCE, GL_ONE_MINUS_CONSTANT_COLOR, GL_UNSIGNED_INT_8_8_8_8, GL_SHADING_LANGUAGE_VERSION, GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
GL_LIGHT0, GL_LIGHT3, GL_LIGHT2, GL_COPY, GL_LIGHT4, GL_RGB8_SNORM, GL_TEXTURE_ALPHA_SIZE, GL_DEBUG_LOGGED_MESSAGES, GL_DEBUG_GROUP_STACK_DEPTH_KHR, GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
GL_BLEND_SRC, GL_LIGHT6, GL_MAP_STENCIL, GL_QUADRATIC_ATTENUATION, GL_TEXTURE_CUBE_MAP_SEAMLESS, GL_FRAGMENT_SHADER, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
GL_TEXTURE_RECTANGLE, GL_FILL, GL_SRC_COLOR, GL_SAMPLER_BINDING, GL_DEPTH24_STENCIL8, GL_TEXTURE_DEPTH, GL_STENCIL_BACK_REF, GL_DEBUG_OUTPUT, GL_NO_ERROR, GL_VIEWPORT,
GL_SAMPLE_BUFFERS, GL_RGBA_INTEGER, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_COLOR_INDEX, GL_EXTENSIONS, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, GL_BLEND_SRC_ALPHA, GL_DRAW_BUFFER6, GL_DRAW_BUFFER7, GL_DRAW_BUFFER4,
GL_MAP2_NORMAL, GL_BUFFER_SIZE, GL_PASS_THROUGH_TOKEN, GL_MAX_EVAL_ORDER, GL_UPPER_LEFT, GL_DRAW_BUFFER5, GL_DRAW_BUFFER2, GL_DRAW_BUFFER3, GL_AND_REVERSE, GL_DRAW_BUFFER1,
GL_TEXTURE_COMPARE_MODE, GL_ANY_SAMPLES_PASSED, GL_LAST_VERTEX_CONVENTION, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_DEPTH_BUFFER_BIT, GL_RENDERBUFFER, GL_MAX_LABEL_LENGTH_KHR, GL_COPY, GL_QUERY_RESULT_AVAILABLE, GL_MAX_DEBUG_MESSAGE_LENGTH,
GL_STENCIL_BACK_PASS_DEPTH_FAIL, GL_UNSIGNALED, GL_UNIFORM_BUFFER, GL_MAP_WRITE_BIT, GL_SHADE_MODEL, GL_DRAW_BUFFER9, GL_MAX_DRAW_BUFFERS, GL_KEEP, GL_VERTEX_ARRAY_BINDING, GL_ONE_MINUS_DST_ALPHA,
GL_COMPRESSED_SLUMINANCE, GL_CCW, GL_RGB32I, GL_DEPTH_COMPONENT24, GL_INDEX_SHIFT, GL_TEXTURE_CUBE_MAP_SEAMLESS, GL_R32UI, GL_RGBA8_SNORM, GL_FILL, GL_INT_SAMPLER_3D,
GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_LIST_BIT, GL_ONE_MINUS_SRC1_COLOR, GL_STREAM_READ, GL_LINEAR, GL_DEBUG_TYPE_PUSH_GROUP_KHR, GL_SRC_COLOR, GL_SAMPLER_BINDING, GL_AND, GL_DEPTH24_STENCIL8,
GL_R32F, GL_VERTEX_ARRAY, GL_OR_REVERSE, GL_LUMINANCE12_ALPHA4, GL_LOGIC_OP, GL_SAMPLE_BUFFERS, GL_SAMPLER_CUBE, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, GL_MAJOR_VERSION, GL_STATIC_COPY,
GL_VERTEX_ARRAY_BUFFER_BINDING, GL_PIXEL_MAP_R_TO_R, GL_FOG_COORDINATE_SOURCE, GL_UNSIGNED_SHORT_5_6_5_REV, GL_TEXTURE_BORDER, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_EXTENSIONS, GL_BGR_INTEGER, GL_PROXY_TEXTURE_RECTANGLE, GL_UPPER_LEFT,
GL_GREATER, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_MAX_TEXTURE_IMAGE_UNITS, GL_RGB32F, GL_UNIFORM_BUFFER_BINDING, GL_UNIFORM_TYPE, GL_RENDERBUFFER_BLUE_SIZE, GL_TEXTURE_COMPARE_MODE, GL_ANY_SAMPLES_PASSED,
GL_FLOAT_MAT2, GL_FLOAT_MAT3, GL_FRONT_FACE, GL_DEPTH, GL_REPLACE, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_DEBUG_TYPE_ERROR, GL_DEPTH_BUFFER_BIT, GL_STENCIL_BACK_PASS_DEPTH_FAIL, GL_DEBUG_CALLBACK_USER_PARAM_KHR,
GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL_OPERAND1_RGB, GL_RGBA32UI, GL_RG8I, GL_UNIFORM_BUFFER, GL_MAP_WRITE_BIT, GL_SMOOTH_POINT_SIZE_RANGE, GL_SAMPLE_MASK, GL_CCW,
GL_RGBA8I, GL_TEXTURE_FILTER_CONTROL, GL_ACCUM_CLEAR_VALUE, GL_SRC1_ALPHA, GL_RG32F, GL_FRONT_RIGHT, GL_RGB32I, GL_MAP_INVALIDATE_BUFFER_BIT, GL_DEPTH_COMPONENT24, GL_UNSIGNED_INT_5_9_9_9_REV,
GL_R3_G3_B2, GL_ALPHA_BIAS, GL_RENDERBUFFER_BINDING, GL_TEXTURE_STACK_DEPTH, GL_TEXTURE_LUMINANCE_SIZE, GL_DEPTH_TEST, GL_SYNC_GPU_COMMANDS_COMPLETE, GL_SAMPLER_KHR, GL_UNSIGNED_INT_SAMPLER_BUFFER, GL_VERTEX_ATTRIB_ARRAY_INTEGER,
GL_TEXTURE_MIN_LOD, GL_FOG_COORDINATE_ARRAY, GL_BLEND, GL_FEEDBACK_BUFFER_TYPE, GL_MAP1_TEXTURE_COORD_3, GL_DEBUG_SOURCE_THIRD_PARTY_KHR, GL_MULTISAMPLE, GL_MAX_GEOMETRY_OUTPUT_VERTICES, GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_ONE_MINUS_SRC1_COLOR,
GL_R16UI, GL_MAP1_TEXTURE_COORD_1, GL_UNSIGNED_SHORT, GL_MIN, GL_MAP1_TEXTURE_COORD_4, GL_STREAM_READ, GL_LINEAR, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_FUNC_SUBTRACT, GL_R32F,
GL_COMPRESSED_SRGB_ALPHA, GL_ONE_MINUS_SRC_COLOR, GL_TEXTURE, GL_INTENSITY12, GL_MAX_PROJECTION_STACK_DEPTH, GL_VERTEX_ARRAY, GL_OR_REVERSE, GL_MAX_VARYING_COMPONENTS, GL_SAMPLER_BUFFER, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
GL_RGB_SCALE, GL_MAX_CLIP_DISTANCES, GL_PERSPECTIVE_CORRECTION_HINT, GL_LIST_MODE, GL_TIMESTAMP, GL_CLAMP_TO_BORDER, GL_UNSIGNED_SHORT_5_6_5_REV, GL_COLOR_ATTACHMENT14, GL_COLOR_ATTACHMENT17, GL_DEPTH_RANGE,
GL_ACTIVE_UNIFORMS, GL_VERTEX_PROGRAM_POINT_SIZE, GL_MAX_COLOR_ATTACHMENTS, GL_TEXTURE_BINDING_CUBE_MAP, GL_OPERAND2_RGB, GL_GREATER, GL_CLAMP_TO_EDGE, GL_COLOR_ATTACHMENT13, GL_COLOR_ATTACHMENT12, GL_NEAREST,
GL_R, GL_SRGB_ALPHA, GL_S, GL_NUM_COMPRESSED_TEXTURE_FORMATS, GL_PACK_SKIP_ROWS, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, GL_COMPRESSED_TEXTURE_FORMATS, GL_COLOR_ATTACHMENT19, GL_TEXTURE21, GL_MAX_TEXTURE_IMAGE_UNITS,
GL_T, GL_MAX_TEXTURE_UNITS, GL_SLUMINANCE8, GL_MAX_TEXTURE_BUFFER_SIZE, GL_MAP1_COLOR_4, GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR, GL_FLOAT_MAT2, GL_FLOAT_MAT3, GL_FRONT_FACE, GL_DEPTH,
GL_GEOMETRY_SHADER, GL_R8I, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_BLEND_COLOR, GL_SHADER, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
GL_ALPHA_BITS, GL_LINE_STIPPLE, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_ONE_MINUS_CONSTANT_ALPHA, GL_NEAREST_MIPMAP_LINEAR, GL_SAMPLER_2D_RECT_SHADOW, GL_STACK_OVERFLOW_KHR, GL_TEXTURE30, GL_TEXTURE31, GL_RG8I,
GL_ALPHA8, GL_BLEND_EQUATION, GL_SRC2_ALPHA, GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER, GL_ALPHA4, GL_UNSIGNED_INT_SAMPLER_1D, GL_RGBA8I, GL_DEBUG_SEVERITY_NOTIFICATION_KHR, GL_DEPTH_CLEAR_VALUE, GL_GEOMETRY_INPUT_TYPE,
GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, GL_FOG_END, GL_SAMPLER_1D, GL_LINE, GL_STENCIL_BITS, GL_BACK_LEFT, GL_BUFFER_MAP_POINTER, GL_LINE_SMOOTH, GL_RENDERBUFFER_BINDING, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
GL_FOG_COORDINATE_ARRAY_TYPE, GL_SAMPLES_PASSED, GL_RENDERBUFFER_RED_SIZE, GL_COMPRESSED_SLUMINANCE_ALPHA, GL_BLUE_INTEGER, GL_QUERY, GL_QUERY_COUNTER_BITS, GL_MAX_3D_TEXTURE_SIZE, GL_COPY_WRITE_BUFFER, GL_BLEND,
GL_DYNAMIC_COPY, GL_CURRENT_FOG_COORD, GL_SYNC_FLAGS, GL_RG32I, GL_UNSIGNED_BYTE_2_3_3_REV, GL_DEBUG_SEVERITY_HIGH, GL_R16UI, GL_TEXTURE_BINDING_3D, GL_UNSIGNED_SHORT, GL_MIN,
GL_RENDERBUFFER_INTERNAL_FORMAT, GL_CLIENT_ACTIVE_TEXTURE, GL_TEXTURE_HEIGHT, GL_RGBA16I, GL_RGBA16F, GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL_COMPRESSED_SRGB_ALPHA, GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DELETE_STATUS,
GL_OPERAND2_ALPHA, GL_SAMPLE_ALPHA_TO_COVERAGE, GL_FOG_DENSITY, GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL_CONSTANT_ATTENUATION, GL_TEXTURE, GL_TEXTURE8, GL_PROXY_TEXTURE_1D_ARRAY, GL_MAX_CLIP_DISTANCES, GL_DEBUG_SOURCE_SHADER_COMPILER_KHR,
GL_RED, GL_DEPTH_BIAS, GL_EQUIV, GL_POLYGON_OFFSET_LINE, GL_FUNC_REVERSE_SUBTRACT, GL_DEBUG_SOURCE_SHADER_COMPILER, GL_PIXEL_PACK_BUFFER_BINDING, GL_MAX_DEBUG_GROUP_STACK_DEPTH, GL_TIMESTAMP, GL_COLOR_BUFFER_BIT,
GL_GREEN, GL_INVALID_OPERATION, GL_CLAMP_READ_COLOR, GL_RED_INTEGER, GL_TEXTURE_BINDING_BUFFER, GL_DONT_CARE, GL_ACTIVE_UNIFORMS, GL_VERTEX_PROGRAM_POINT_SIZE, GL_TEXTURE_BINDING_CUBE_MAP, GL_SAMPLER_2D,
GL_COLOR_ATTACHMENT5, GL_COLOR_ATTACHMENT4, GL_MAP2_TEXTURE_COORD_2, GL_COLOR_ATTACHMENT6, GL_MAP2_TEXTURE_COORD_4, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, GL_SRGB_ALPHA, GL_DRAW_BUFFER12, GL_NEAREST_MIPMAP_NEAREST, GL_NUM_COMPRESSED_TEXTURE_FORMATS,
GL_COLOR_ATTACHMENT0, GL_4_BYTES, GL_COLOR_ATTACHMENT2, GL_MAX_MODELVIEW_STACK_DEPTH, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, GL_PACK_SKIP_ROWS, GL_TEXTURE_MAG_FILTER, GL_STENCIL_INDEX1, GL_TEXTURE1, GL_BLEND_EQUATION_RGB,
GL_COLOR_ATTACHMENT9, GL_COLOR_ATTACHMENT8, GL_PACK_IMAGE_HEIGHT, GL_PIXEL_MAP_B_TO_B_SIZE, GL_BUFFER_USAGE, GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, GL_LINK_STATUS, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, GL_TEXTURE_MAX_LEVEL, GL_R32I,
GL_CULL_FACE_MODE, GL_UNSIGNED_INT_8_8_8_8_REV, GL_BOOL, GL_MAX_COMBINED_UNIFORM_BLOCKS, GL_3D_COLOR, GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, GL_BLEND_COLOR, GL_BOOL_VEC4, GL_PROGRAM_PIPELINE_KHR, GL_ONE_MINUS_CONSTANT_ALPHA,
GL_GREEN_INTEGER, GL_DST_COLOR, GL_T2F_V3F, GL_UNSIGNED_INT, GL_OPERAND0_ALPHA, GL_NEAREST_MIPMAP_LINEAR, GL_INT_2_10_10_10_REV, GL_SAMPLER_CUBE_SHADOW, GL_LEFT, GL_AND_INVERTED,
GL_ALWAYS, GL_NOOP, GL_V3F, GL_POINT_SPRITE_COORD_ORIGIN, GL_POINT_SIZE_RANGE, GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, GL_CULL_FACE, GL_WAIT_FAILED, GL_SAMPLER_1D, GL_LINE,
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_LUMINANCE16, GL_GREEN_BIAS, GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, GL_LUMINANCE12, GL_POLYGON_OFFSET_POINT, GL_INT_SAMPLER_1D_ARRAY, GL_MAX_TEXTURE_SIZE, GL_RG32F, GL_DEBUG_TYPE_MARKER,
GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_SHADER_TYPE, GL_RG16_SNORM, GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL_COLOR_ARRAY_TYPE, GL_DEBUG_OUTPUT_KHR, GL_SAMPLES_PASSED, GL_ARRAY_BUFFER, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT16,
GL_QUERY_COUNTER_BITS, GL_MODULATE, GL_RG_INTEGER, GL_DRAW_BUFFER10, GL_FOG_COORD_ARRAY_BUFFER_BINDING, GL_RENDERBUFFER_RED_SIZE, GL_MAX_SAMPLE_MASK_WORDS, GL_UNSIGNALED, GL_BLUE_INTEGER, GL_RGBA16_SNORM,
GL_TEXTURE_LUMINANCE_TYPE, GL_RENDERBUFFER_HEIGHT, GL_RG16UI, GL_INTERLEAVED_ATTRIBS, GL_TEXTURE_ALPHA_TYPE, GL_TEXTURE_1D, GL_BLEND_SRC_RGB, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, GL_BGRA_INTEGER, GL_PROXY_TEXTURE_2D_MULTISAMPLE,
GL_COLOR_ATTACHMENT29, GL_MAP2_TEXTURE_COORD_1, GL_DRAW_BUFFER14, GL_FOG_COORD_ARRAY_STRIDE, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, GL_SYNC_FLAGS, GL_FALSE, GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL_ONE_MINUS_SRC_ALPHA, GL_RG32I,
GL_MAP2_TEXTURE_COORD_3, GL_TEXTURE_BLUE_TYPE, GL_COLOR_ATTACHMENT1, GL_C4F_N3F_V3F, GL_COMBINE_RGB, GL_UNSIGNED_BYTE_2_3_3_REV, GL_SAMPLE_ALPHA_TO_ONE, GL_RENDERBUFFER_INTERNAL_FORMAT, GL_COMPRESSED_SIGNED_RED_RGTC1, GL_TEXTURE_HEIGHT,
GL_STEREO, GL_ALREADY_SIGNALED, GL_T4F_V4F, GL_STREAM_COPY, GL_LIGHT_MODEL_LOCAL_VIEWER, GL_PROGRAM_POINT_SIZE, GL_RGBA16I, GL_R8I, GL_STENCIL_INDEX8, GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
GL_SOURCE0_RGB, GL_EYE_PLANE, GL_TEXTURE_CUBE_MAP, GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_SAMPLE_ALPHA_TO_COVERAGE, GL_INT_SAMPLER_2D, GL_SAMPLER_2D_MULTISAMPLE, GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL_STENCIL_PASS_DEPTH_FAIL,
GL_CLIP_PLANE1, GL_CLIP_PLANE0, GL_CLIP_PLANE3, GL_CLIP_PLANE2, GL_CLIP_PLANE5, GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR, GL_RED, GL_POLYGON_OFFSET_LINE, GL_FUNC_REVERSE_SUBTRACT, GL_RGBA8UI,
GL_CLIP_PLANE4, GL_ORDER, GL_NORMAL_ARRAY_TYPE, GL_TEXTURE_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, GL_COLOR_ATTACHMENT15, GL_GREEN, GL_INVALID_OPERATION, GL_MAX_RECTANGLE_TEXTURE_SIZE, GL_FIXED_ONLY,
GL_LINE_STIPPLE_REPEAT, GL_POINTS, GL_LIGHTING_BIT, GL_SYNC_STATUS, GL_RENDERBUFFER_BLUE_SIZE, GL_CLAMP_READ_COLOR, GL_RED_INTEGER, GL_NONE, GL_POLYGON_MODE, GL_COLOR_ATTACHMENT5,
GL_UNIFORM_NAME_LENGTH, GL_FASTEST, GL_LUMINANCE8, GL_LUMINANCE4, GL_POLYGON, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_COLOR_ATTACHMENT7, GL_UNIFORM_BLOCK_NAME_LENGTH, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT0,
GL_NAND, GL_MAP1_INDEX, GL_LINE_WIDTH_GRANULARITY, GL_ADD_SIGNED, GL_MAX_3D_TEXTURE_SIZE, GL_COLOR_ATTACHMENT3, GL_COLOR_ATTACHMENT2, GL_BACK, GL_FRAMEBUFFER_DEFAULT, GL_COLOR_ATTACHMENT9,
GL_CLIENT_PIXEL_STORE_BIT, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_DONT_CARE, GL_COLOR_ATTACHMENT8, GL_LINE_SMOOTH_HINT, GL_COLOR_ATTACHMENT10, GL_PACK_IMAGE_HEIGHT, GL_NAND,
GL_POLYGON_BIT, GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, GL_QUERY_WAIT, GL_MAP_FLUSH_EXPLICIT_BIT, GL_TEXTURE_COORD_ARRAY_SIZE, GL_UNIFORM_BLOCK_DATA_SIZE, GL_BUFFER_USAGE, GL_DEBUG_TYPE_PERFORMANCE, GL_CULL_FACE_MODE, GL_UNSIGNED_INT_8_8_8_8_REV,
GL_RED_SCALE, GL_SRGB8, GL_CURRENT_NORMAL, GL_COMPRESSED_SIGNED_RED_RGTC1, GL_FRAGMENT_DEPTH, GL_RG32UI, GL_CONTEXT_FLAG_DEBUG_BIT_KHR, GL_NUM_EXTENSIONS, GL_UNIFORM_IS_ROW_MAJOR, GL_MAX_UNIFORM_BLOCK_SIZE,
GL_UNIFORM_BLOCK_BINDING, GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, GL_SRC0_ALPHA, GL_LEQUAL, GL_PIXEL_MAP_A_TO_A_SIZE, GL_BOOL, GL_MAX_COMBINED_UNIFORM_BLOCKS, GL_FRAMEBUFFER_BINDING, GL_RGB32F, GL_ALPHA,
GL_TEXTURE_WIDTH, GL_ONE_MINUS_SRC1_ALPHA, GL_MAP_COLOR, GL_UNIFORM_SIZE, GL_POINT_SPRITE, GL_SET, GL_COLOR_WRITEMASK, GL_DST_COLOR, GL_UNSIGNED_INT_SAMPLER_1D_ARRAY, GL_UNSIGNED_INT,
GL_FLOAT_MAT4x2, GL_SHADER_SOURCE_LENGTH, GL_DOT3_RGBA, GL_COMPRESSED_RG, GL_UNPACK_SWAP_BYTES, GL_DEPTH_FUNC, GL_TEXTURE_WRAP_R, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_DST_ALPHA,
GL_CURRENT_VERTEX_ATTRIB, GL_POLYGON_OFFSET_UNITS, GL_LUMINANCE6_ALPHA2, GL_MAX_COLOR_TEXTURE_SAMPLES, GL_COLOR_ATTACHMENT7, GL_UNIFORM_BLOCK_BINDING, GL_STENCIL_BACK_VALUE_MASK, GL_INT_SAMPLER_2D_ARRAY, GL_POINT_SPRITE_COORD_ORIGIN, GL_POINT_SIZE_RANGE,
GL_PRIMARY_COLOR, GL_C3F_V3F, GL_OUT_OF_MEMORY, GL_AUX_BUFFERS, GL_NORMAL_ARRAY_STRIDE, GL_COMPRESSED_RGB, GL_TIME_ELAPSED, GL_DEPTH_COMPONENT, GL_SRC1_COLOR, GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_SMOOTH, GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, GL_GEOMETRY_OUTPUT_TYPE, GL_RASTERIZER_DISCARD, GL_BLEND_SRC, GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_RECTANGLE, GL_SHADER_TYPE, GL_RG16_SNORM,
GL_MAX_TEXTURE_LOD_BIAS, GL_CURRENT_TEXTURE_COORDS, GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, GL_FRONT_RIGHT, GL_COMPARE_REF_TO_TEXTURE, GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, GL_TRUE, GL_TEXTURE_MIN_FILTER,
GL_EDGE_FLAG_ARRAY, GL_INT_SAMPLER_2D_MULTISAMPLE, GL_RETURN, GL_STENCIL_TEST, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION, GL_FLOAT_MAT4, GL_STACK_UNDERFLOW, GL_RG_INTEGER, GL_TEXTURE_SWIZZLE_R, GL_PACK_SWAP_BYTES,
GL_R11F_G11F_B10F, GL_LUMINANCE_ALPHA, GL_PIXEL_UNPACK_BUFFER_BINDING, GL_INVERT, GL_PROXY_TEXTURE_1D, GL_EQUAL, GL_TEXTURE_SWIZZLE_G, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER_HEIGHT, GL_RG16UI,
GL_COMPRESSED_INTENSITY, GL_TRANSFORM_FEEDBACK_VARYINGS, GL_DEPTH_COMPONENT32F, GL_TRIANGLE_FAN, GL_LIST_BASE, GL_TEXTURE_BINDING_1D_ARRAY, GL_INTERLEAVED_ATTRIBS, GL_TEXTURE_ALPHA_TYPE, GL_TEXTURE_BINDING_2D_MULTISAMPLE, GL_DEBUG_TYPE_ERROR_KHR,
GL_MAX_ELEMENTS_VERTICES, GL_CURRENT_COLOR, GL_INVALID_FRAMEBUFFER_OPERATION, GL_RGB12, GL_UNIFORM_BUFFER_SIZE, GL_LINE_WIDTH_GRANULARITY, GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH, GL_COMPRESSED_RED_RGTC1, GL_BLUE, GL_DRAW_BUFFER14,
GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING, GL_DEPTH32F_STENCIL8, GL_MAX_ARRAY_TEXTURE_LAYERS, GL_RED_BITS, GL_MAX_SERVER_WAIT_TIMEOUT, GL_SHADER_SOURCE_LENGTH, GL_POINT_FADE_THRESHOLD_SIZE, GL_INT_SAMPLER_BUFFER, GL_COLOR_ATTACHMENT6, GL_VERTEX_ATTRIB_ARRAY_POINTER,
GL_NOR, GL_FLAT, GL_PACK_ALIGNMENT, GL_PIXEL_MAP_S_TO_S, GL_UNPACK_LSB_FIRST, GL_TEXTURE_BLUE_TYPE, GL_UNPACK_ALIGNMENT, GL_COMPILE_STATUS, GL_STEREO, GL_PROGRAM,
GL_BGRA, GL_ACTIVE_UNIFORM_BLOCKS, GL_SOURCE1_RGB, GL_UNPACK_SKIP_IMAGES, GL_RGB16I, GL_ALREADY_SIGNALED, GL_LINE_STRIP, GL_STREAM_COPY, GL_PACK_ROW_LENGTH, GL_BUFFER,
GL_ACTIVE_TEXTURE, GL_TEXTURE_BASE_LEVEL, GL_RGB16F, GL_SMOOTH_LINE_WIDTH_RANGE, GL_ALPHA_INTEGER, GL_TEXTURE_CUBE_MAP, GL_COLOR_ATTACHMENT22, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, GL_COLOR, GL_INT_SAMPLER_2D_RECT,
GL_GREEN_SCALE, GL_CLIP_DISTANCE7, GL_FOG_BIT, GL_TRANSPOSE_TEXTURE_MATRIX, GL_UNSIGNED_INT_SAMPLER_3D, GL_TRIANGLE_STRIP_ADJACENCY, GL_RENDERBUFFER_DEPTH_SIZE, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_DYNAMIC_READ, GL_TEXTURE_BUFFER,
GL_SAMPLE_MASK, GL_INT_VEC4, GL_INT_VEC3, GL_INT_VEC2, GL_STENCIL_FAIL, GL_TEXTURE_BINDING_RECTANGLE, GL_DEPTH_STENCIL, GL_DEBUG_SOURCE_APPLICATION_KHR, GL_UNPACK_SKIP_PIXELS, GL_RG8UI,
GL_CURRENT_FOG_COORDINATE, GL_CONDITION_SATISFIED, GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, GL_FRAMEBUFFER_UNSUPPORTED, GL_RED_BIAS, GL_MAX_VERTEX_OUTPUT_COMPONENTS, GL_POINTS, GL_SYNC_STATUS, GL_READ_WRITE, GL_PROXY_TEXTURE_2D,
GL_DST_ALPHA, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_R8, GL_RENDER_MODE, GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, GL_UNIFORM_NAME_LENGTH, GL_FASTEST, GL_SYNC_CONDITION, GL_FRONT, GL_HALF_FLOAT,
GL_MAX_CUBE_MAP_TEXTURE_SIZE, GL_TEXTURE_1D_ARRAY, GL_RENDERBUFFER_WIDTH, GL_READ_FRAMEBUFFER_BINDING, GL_FRAMEBUFFER_ATTACHMENT_LAYERED, GL_TEXTURE_RED_TYPE, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, GL_SCISSOR_BOX, GL_OR, GL_MAP_INVALIDATE_RANGE_BIT,
GL_TEXTURE_BLUE_SIZE, GL_COORD_REPLACE, GL_RGBA2, GL_RGBA4, GL_MULTISAMPLE_BIT, GL_TEXTURE23, GL_TEXTURE22, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, GL_TEXTURE20, GL_TEXTURE27,
GL_FOG_COLOR, GL_DRAW_BUFFER11, GL_DRAW_BUFFER12, GL_DRAW_BUFFER13, GL_UNSIGNED_INT_10_10_10_2, GL_TEXTURE26, GL_TEXTURE25, GL_TEXTURE24, GL_R8_SNORM, GL_TEXTURE29,
GL_DRAW_BUFFER15, GL_INFO_LOG_LENGTH, GL_R16F, GL_RENDERBUFFER_STENCIL_SIZE, GL_CONSTANT_ALPHA, GL_TEXTURE28, GL_SAMPLER_1D_ARRAY, GL_ELEMENT_ARRAY_BUFFER_BINDING, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_PRIMITIVE_RESTART_INDEX,
GL_RESCALE_NORMAL, GL_R16I, GL_POINT_SIZE_GRANULARITY, GL_STATIC_READ, GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TRIANGLES_ADJACENCY, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_LINE_LOOP, GL_REPLACE,
GL_COMPARE_R_TO_TEXTURE, GL_PREVIOUS, GL_MAP_READ_BIT, GL_SPOT_DIRECTION, GL_DEPTH_SCALE, GL_DEBUG_SEVERITY_LOW, GL_READ_BUFFER, GL_MAP_FLUSH_EXPLICIT_BIT, GL_PACK_SKIP_PIXELS, GL_BACK_RIGHT,
GL_STENCIL, GL_SAMPLE_MASK_VALUE, GL_LINE_BIT, GL_DIFFUSE, GL_MAX_RENDERBUFFER_SIZE, GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, GL_RGBA, GL_DEBUG_SOURCE_WINDOW_SYSTEM, GL_R16F, GL_RIGHT,
GL_T2F_N3F_V3F, GL_TRANSFORM_BIT, GL_COLOR_ATTACHMENT30, GL_STENCIL_PASS_DEPTH_PASS, GL_INCR_WRAP, GL_DEBUG_SOURCE_APPLICATION, GL_DISPLAY_LIST, GL_GEQUAL, GL_R3_G3_B2, GL_DEBUG_OUTPUT_SYNCHRONOUS,
GL_SOURCE2_RGB, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_Q, GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, GL_LINE_WIDTH, GL_UNIFORM_OFFSET, GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_LEQUAL,
GL_RENDERBUFFER_ALPHA_SIZE, GL_ALPHA12, GL_LIGHT_MODEL_TWO_SIDE, GL_ALPHA16, GL_DECR_WRAP, GL_UNSIGNED_INT_SAMPLER_CUBE, GL_TEXTURE_WIDTH, GL_ONE_MINUS_SRC1_ALPHA, GL_COLOR_ATTACHMENT4, GL_UNIFORM_SIZE,
GL_POLYGON_SMOOTH, GL_COMPILE, GL_SAMPLE_POSITION, GL_TRANSPOSE_MODELVIEW_MATRIX, GL_INCR, GL_DEPTH_CLAMP, GL_SRC1_ALPHA, GL_FUNC_ADD, GL_FLOAT_MAT4x2, GL_FLOAT_MAT4x3,
GL_POINT_SIZE_MIN, GL_MAX_RECTANGLE_TEXTURE_SIZE, GL_RGBA12, GL_GENERATE_MIPMAP_HINT, GL_ALPHA_TEST_REF, GL_BUFFER_ACCESS, GL_UNSIGNED_BYTE, GL_VERSION, GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR, GL_SIGNED_NORMALIZED,
GL_RGBA16, GL_UNPACK_SKIP_ROWS, GL_MAP1_NORMAL, GL_SOURCE2_ALPHA, GL_DEPTH_CLAMP, GL_CURRENT_VERTEX_ATTRIB, GL_ARRAY_BUFFER_BINDING, GL_TEXTURE_2D, GL_MAX_COLOR_TEXTURE_SAMPLES, GL_DYNAMIC_DRAW,
GL_POLYGON_STIPPLE_BIT, GL_BLEND_DST_ALPHA, GL_INT_SAMPLER_CUBE, GL_CURRENT_QUERY, GL_RGB5_A1, GL_OUT_OF_MEMORY, GL_LINES_ADJACENCY, GL_NICEST, GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, GL_UNSIGNED_SHORT_4_4_4_4_REV,
GL_EXP2, GL_UNPACK_SKIP_PIXELS, GL_RGB16UI, GL_COPY_INVERTED, GL_TEXTURE_PRIORITY, GL_UNPACK_ROW_LENGTH, GL_CURRENT_PROGRAM, GL_QUERY_KHR, GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, GL_GEOMETRY_OUTPUT_TYPE,
GL_MAX_GEOMETRY_INPUT_COMPONENTS, GL_LOWER_LEFT, GL_FOG_HINT, GL_TEXTURE_BINDING_1D, GL_PROJECTION_MATRIX, GL_RASTERIZER_DISCARD, GL_RENDERBUFFER_GREEN_SIZE, GL_DEBUG_TYPE_PUSH_GROUP, GL_STREAM_DRAW, GL_POLYGON_SMOOTH_HINT,
GL_AUX0, GL_PIXEL_UNPACK_BUFFER, GL_LINEAR_MIPMAP_NEAREST, GL_POINT_DISTANCE_ATTENUATION, GL_TEXTURE_BUFFER_DATA_STORE_BINDING, GL_DEBUG_SEVERITY_MEDIUM, GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, GL_SIGNALED, GL_PIXEL_PACK_BUFFER,
GL_RGB10_A2, GL_AMBIENT_AND_DIFFUSE, GL_ZERO, GL_ELEMENT_ARRAY_BUFFER, GL_CONTEXT_CORE_PROFILE_BIT, GL_FRAMEBUFFER, GL_INT_SAMPLER_2D_MULTISAMPLE, GL_STENCIL_TEST, GL_R16, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
GL_SCISSOR_BIT, GL_READ_ONLY, GL_MAX_FRAGMENT_INPUT_COMPONENTS, GL_MAP1_GRID_DOMAIN, GL_PIXEL_MAP_I_TO_A_SIZE, GL_R11F_G11F_B10F, GL_SRGB8, GL_MAX_SERVER_WAIT_TIMEOUT, GL_BUFFER_MAPPED, GL_DEBUG_CALLBACK_USER_PARAM,
GL_UNSIGNED_NORMALIZED, GL_SMOOTH_POINT_SIZE_GRANULARITY, GL_CLAMP_VERTEX_COLOR, GL_MAP2_INDEX, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL_PIXEL_UNPACK_BUFFER_BINDING, GL_DECR, GL_PROXY_TEXTURE_1D, GL_STENCIL_BACK_FAIL, GL_POLYGON_OFFSET_FACTOR,
GL_PIXEL_MAP_I_TO_R_SIZE, GL_NOTEQUAL, GL_TEXTURE_COORD_ARRAY, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL_MAP2_GRID_DOMAIN, GL_MAX_LABEL_LENGTH, GL_DEBUG_TYPE_PORTABILITY, GL_DEBUG_GROUP_STACK_DEPTH, GL_DEPTH_COMPONENT32F, GL_TRIANGLE_FAN,
GL_COMPRESSED_RED, GL_INT_SAMPLER_1D_ARRAY, GL_DRAW_PIXEL_TOKEN, GL_MAX_LIGHTS, GL_RGBA16_SNORM, GL_PROGRAM_KHR, GL_COMPRESSED_RG, GL_DRAW_FRAMEBUFFER_BINDING, GL_MAX_ELEMENTS_VERTICES, GL_STENCIL_BACK_WRITEMASK,
GL_OBJECT_LINEAR, GL_LIST_INDEX, GL_TEXTURE_BORDER_COLOR, GL_LUMINANCE16_ALPHA16, GL_TEXTURE_SHARED_SIZE, GL_UNSIGNED_INT_SAMPLER_2D_ARRAY, GL_INVALID_FRAMEBUFFER_OPERATION, GL_BUFFER_ACCESS_FLAGS, GL_UNIFORM_BUFFER_SIZE, GL_TEXTURE_BINDING_BUFFER,
GL_COMPILE_STATUS, GL_LOGIC_OP_MODE, GL_LUMINANCE8_ALPHA8, GL_RENDERBUFFER_DEPTH_SIZE, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL_TRIANGLES, GL_SAMPLER_2D_ARRAY_SHADOW, GL_DEPTH32F_STENCIL8, GL_MAX_ARRAY_TEXTURE_LAYERS, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
GL_SLUMINANCE_ALPHA, GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL_FEEDBACK_BUFFER_POINTER, GL_SPOT_EXPONENT, GL_SHORT, GL_UNIFORM_MATRIX_STRIDE, GL_MAX_DEPTH_TEXTURE_SAMPLES, GL_MAX_DEBUG_MESSAGE_LENGTH_KHR, GL_QUERY_BY_REGION_WAIT, GL_NOR,
GL_BLUE, GL_CW, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_BYTE, GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_SRGB8_ALPHA8, GL_RGBA16F, GL_DEBUG_CALLBACK_FUNCTION_KHR, GL_TRANSFORM_FEEDBACK_VARYINGS, GL_PACK_ALIGNMENT,
GL_QUADS, GL_DEPTH_TEXTURE_MODE, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_R16, GL_PIXEL_PACK_BUFFER, GL_DEBUG_CALLBACK_FUNCTION, GL_DEBUG_TYPE_POP_GROUP_KHR, GL_SAMPLER_2D_ARRAY, GL_RENDERER, GL_UNPACK_LSB_FIRST,
GL_PACK_LSB_FIRST, GL_RENDERBUFFER, GL_UNSIGNED_BYTE_3_3_2, GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_RGB8I, GL_MAX_COLOR_ATTACHMENTS, GL_CLIP_DISTANCE0, GL_ACTIVE_UNIFORM_BLOCKS, GL_CLIP_DISTANCE3, GL_UNPACK_SKIP_IMAGES,
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_DRAW_BUFFER, GL_STENCIL_INDEX1, GL_STENCIL_INDEX4, GL_SAMPLER_3D, GL_PROGRAM_PIPELINE, GL_STENCIL_BACK_FUNC, GL_RGB16I, GL_STACK_UNDERFLOW_KHR, GL_ACTIVE_TEXTURE,
GL_TEXTURE_GREEN_TYPE, GL_STENCIL_INDEX8, GL_DEPTH_BITS, GL_OR_INVERTED, GL_RGB8UI, GL_TEXTURE_BASE_LEVEL, GL_RGB16F, GL_SMOOTH_LINE_WIDTH_RANGE, GL_FIRST_VERTEX_CONVENTION, GL_COLOR_LOGIC_OP,
GL_STENCIL_INDEX16, GL_STENCIL_BACK_REF, GL_SELECT, GL_INTENSITY4, GL_BLEND_DST_RGB, GL_MINOR_VERSION, GL_LAST_VERTEX_CONVENTION, GL_UNSIGNED_INT_SAMPLER_3D, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL_ALWAYS,
GL_INTENSITY8, GL_LIGHT5, GL_LINE_RESET_TOKEN, GL_MAP1_VERTEX_3, GL_TEXTURE_BINDING_2D_ARRAY, GL_INT_VEC4, GL_INT_VEC3, GL_INT_VEC2, GL_STENCIL_FAIL, GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
GL_VERTEX_ATTRIB_ARRAY_DIVISOR, GL_CLEAR, GL_DRAW_BUFFER8, GL_CURRENT_RASTER_POSITION_VALID, GL_FOG_COORD_SRC, GL_MAX_VERTEX_ATTRIBS, GL_CONDITION_SATISFIED, GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, GL_LINE_WIDTH_RANGE, GL_XOR,
GL_DRAW_BUFFER9, GL_SRC0_RGB, GL_PIXEL_PACK_BUFFER_BINDING, GL_DECAL, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL_FRAMEBUFFER_UNSUPPORTED, GL_INVALID_ENUM, GL_CONTEXT_PROFILE_MASK, GL_DYNAMIC_COPY, GL_LESS,
GL_2D, GL_SELECTION_BUFFER_POINTER, GL_SELECTION_BUFFER_SIZE, GL_SAMPLES, GL_UNSIGNED_INT_VEC2, GL_MAX_CUBE_MAP_TEXTURE_SIZE, GL_FRAMEBUFFER_UNDEFINED, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_STENCIL_SIZE, GL_RENDERBUFFER_WIDTH,
GL_UNSIGNED_INT_VEC3, GL_UNSIGNED_INT_VEC4, GL_UNSIGNED_SHORT_5_6_5, GL_CURRENT_RASTER_POSITION, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_READ_FRAMEBUFFER_BINDING, GL_FRAMEBUFFER_ATTACHMENT_LAYERED, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_DEPTH_TYPE, GL_INT_SAMPLER_1D,
GL_VERTEX_SHADER, GL_RGBA_MODE, GL_FLOAT_VEC2, GL_FLOAT_VEC3, GL_FLOAT_VEC4, GL_RGBA2, GL_RGBA4, GL_DRAW_BUFFER10, GL_DRAW_BUFFER11, GL_RGBA8,
GL_COEFF, GL_RGB32UI, GL_BUFFER_MAP_OFFSET, GL_MIN_PROGRAM_TEXEL_OFFSET, GL_PROXY_TEXTURE_RECTANGLE, GL_DRAW_BUFFER13, GL_UNSIGNED_INT_10_10_10_2, GL_DRAW_BUFFER15, GL_INFO_LOG_LENGTH, GL_COMPRESSED_RG_RGTC2,
GL_UNSIGNED_INT_SAMPLER_BUFFER, GL_UNIFORM_BUFFER_START, GL_MAX_TEXTURE_STACK_DEPTH, GL_UNSIGNED_INT_SAMPLER_2D, GL_TEXTURE8, GL_POLYGON_OFFSET_UNITS, GL_SRC_ALPHA_SATURATE, GL_RENDERBUFFER_STENCIL_SIZE, GL_REPEAT, GL_R16I,
GL_INT_SAMPLER_2D_RECT, GL_TEXTURE_COORD_ARRAY_STRIDE, GL_TEXTURE4, GL_TEXTURE5, GL_TEXTURE6, GL_RG8_SNORM, GL_POINT_SIZE_GRANULARITY, GL_STATIC_READ, GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, GL_SCISSOR_TEST,
GL_TEXTURE7, GL_TEXTURE0, GL_CONTEXT_PROFILE_MASK, GL_TEXTURE2, GL_TEXTURE3, GL_VALIDATE_STATUS, GL_MAP_READ_BIT, GL_RG16, GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, GL_STENCIL,
GL_BOOL_VEC4, GL_DOUBLE, GL_RG8_SNORM, GL_BOOL_VEC3, GL_BOOL_VEC2, GL_SAMPLE_MASK_VALUE, GL_STENCIL_BUFFER_BIT, GL_TEXTURE_2D_MULTISAMPLE, GL_DEBUG_TYPE_PERFORMANCE_KHR, GL_SAMPLER_1D_ARRAY_SHADOW,
GL_COLOR_MATERIAL_PARAMETER, GL_DOT3_RGB, GL_ONE, GL_SRC_ALPHA_SATURATE, GL_MAX_SAMPLES, GL_TEXTURE_SWIZZLE_B, GL_BLEND_EQUATION_ALPHA, GL_RGBA_INTEGER, GL_ACTIVE_ATTRIBUTES, GL_MAX_RENDERBUFFER_SIZE,
GL_UNPACK_IMAGE_HEIGHT, GL_TRIANGLE_STRIP, GL_N3F_V3F, GL_CONTEXT_FLAGS, GL_FRONT_LEFT, GL_COLOR_ATTACHMENT31, GL_COLOR_ATTACHMENT30, GL_STENCIL_PASS_DEPTH_PASS, GL_INCR_WRAP, GL_RENDERBUFFER_ALPHA_SIZE,
GL_CLAMP, GL_POINT_SMOOTH_HINT, GL_INDEX_OFFSET, GL_INTENSITY, GL_POINT_SIZE_MAX, GL_COLOR_ATTACHMENT16, GL_DECR_WRAP, GL_SHADER_KHR, GL_POLYGON_SMOOTH, GL_ATTACHED_SHADERS,
GL_MODELVIEW_MATRIX, GL_VERTEX_ARRAY_BINDING, GL_INDEX_BITS, GL_TIMEOUT_EXPIRED, GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_SAMPLE_POSITION, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_QUERY_BY_REGION_NO_WAIT, GL_FLOAT_MAT2x3, GL_SAMPLE_COVERAGE_INVERT,
GL_STENCIL_FUNC, GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, GL_TEXTURE_ENV, GL_ALIASED_LINE_WIDTH_RANGE, GL_DECR, GL_INCR, GL_TEXTURE18, GL_TEXTURE19, GL_TEXTURE16, GL_TEXTURE17,
GL_BACK, GL_VIEWPORT_BIT, GL_INT, GL_CLIP_DISTANCE1, GL_CLIP_DISTANCE0, GL_RGBA12, GL_TEXTURE15, GL_TEXTURE12, GL_COLOR_ATTACHMENT11, GL_RGBA16,
GL_CLIP_DISTANCE3, GL_CLIP_DISTANCE2, GL_CLIP_DISTANCE5, GL_CLIP_DISTANCE4, GL_MINOR_VERSION, GL_UNPACK_SKIP_ROWS, GL_DEBUG_LOGGED_MESSAGES_KHR, GL_BLEND_DST_ALPHA, GL_RGB, GL_INT_SAMPLER_CUBE,
GL_PIXEL_MAP_G_TO_G_SIZE, GL_FRONT_AND_BACK, GL_POINT, GL_COMPRESSED_RG_RGTC2, GL_POLYGON_TOKEN, GL_DEBUG_TYPE_OTHER, GL_CURRENT_QUERY, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_RGB5_A1, GL_VERTEX_SHADER,
GL_SMOOTH_LINE_WIDTH_GRANULARITY, GL_SRGB, GL_NORMAL_ARRAY_POINTER, GL_SYNC_FENCE, GL_ONE_MINUS_CONSTANT_COLOR, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_TRANSFORM_FEEDBACK_BUFFER_START, GL_COPY_INVERTED, GL_MAX_PROGRAM_TEXEL_OFFSET, GL_STACK_OVERFLOW,
GL_UNSIGNED_INT_8_8_8_8, GL_RGB8_SNORM, GL_TEXTURE_ALPHA_SIZE, GL_UNSIGNED_INT_SAMPLER_2D_RECT, GL_CONSTANT_COLOR, GL_DEBUG_SOURCE_OTHER_KHR, GL_MAX_GEOMETRY_INPUT_COMPONENTS, GL_LOWER_LEFT, GL_CONSTANT_COLOR, GL_UNSIGNED_INT_SAMPLER_2D_RECT,
GL_UNSIGNED_SHORT_4_4_4_4, GL_NO_ERROR, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, GL_BLEND_SRC_ALPHA, GL_CURRENT_SECONDARY_COLOR, GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_MARKER_KHR, GL_MAX_DEBUG_LOGGED_MESSAGES_KHR, GL_RGBA32F, GL_TEXTURE_BINDING_1D,
GL_RGBA16UI, GL_AND_REVERSE, GL_MAX_INTEGER_SAMPLES, GL_CLAMP_FRAGMENT_COLOR, GL_QUERY_RESULT_AVAILABLE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_STENCIL_REF, GL_PIXEL_UNPACK_BUFFER, GL_DEBUG_TYPE_PORTABILITY_KHR, GL_LINEAR_MIPMAP_NEAREST,
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL_MAX_DRAW_BUFFERS, GL_ONE_MINUS_DST_ALPHA, GL_FOG_MODE, GL_R32UI, GL_STENCIL_WRITEMASK, GL_RG8, GL_DEBUG_SEVERITY_HIGH_KHR, GL_RGB10_A2, GL_STENCIL_BACK_PASS_DEPTH_PASS,
GL_RGBA8_SNORM, GL_C4UB_V2F, GL_INT_SAMPLER_3D, GL_CURRENT_INDEX, GL_AND, GL_INVALID_VALUE, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_SEPARATE_ATTRIBS, GL_MAP_UNSYNCHRONIZED_BIT, GL_ZERO,
GL_INDEX_MODE, GL_ACCUM_GREEN_BITS, GL_MAJOR_VERSION, GL_STATIC_COPY, GL_REFLECTION_MAP, GL_PRIMITIVE_RESTART, GL_ELEMENT_ARRAY_BUFFER, GL_CONTEXT_CORE_PROFILE_BIT, GL_CLEAR, GL_BUFFER_MAP_LENGTH,
GL_BGR_INTEGER, GL_3_BYTES, GL_UNIFORM_BUFFER_BINDING, GL_UNIFORM_TYPE, GL_DELETE_STATUS, GL_DEBUG_SOURCE_OTHER, GL_READ_ONLY, GL_MAX_FRAGMENT_INPUT_COMPONENTS, GL_MAX_ELEMENTS_INDICES, GL_UNSIGNED_NORMALIZED,
GL_POINT_BIT, GL_SYNC_GPU_COMMANDS_COMPLETE, GL_SMOOTH_POINT_SIZE_RANGE, GL_ALIASED_POINT_SIZE_RANGE, GL_3D, GL_CONSTANT_ALPHA, GL_SRC_ALPHA, GL_TEXTURE_3D, GL_GEOMETRY_VERTICES_OUT, GL_DEBUG_SOURCE_API_KHR,
GL_MAP_INVALIDATE_BUFFER_BIT, GL_UNSIGNED_INT_5_9_9_9_REV, GL_DEPTH_TEST, GL_BUFFER_MAP_LENGTH, GL_VERTEX_ATTRIB_ARRAY_POINTER, GL_SYNC_FLUSH_COMMANDS_BIT, GL_RGB8, GL_NOTEQUAL, GL_UNIFORM_ARRAY_STRIDE, GL_TEXTURE_SAMPLES,
GL_MULTISAMPLE, GL_MAX_GEOMETRY_OUTPUT_VERTICES, GL_TEXTURE_RED_TYPE, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_FUNC_SUBTRACT, GL_RGB4, GL_RGB5, GL_LINES, GL_SMOOTH_LINE_WIDTH_GRANULARITY, GL_COMPRESSED_RED,
GL_VERTEX_PROGRAM_TWO_SIDE, GL_SAMPLER_BUFFER, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, GL_TEXTURE_COORD_ARRAY_TYPE, GL_CLAMP_TO_BORDER, GL_BGR, GL_SAMPLE_COVERAGE_VALUE, GL_TEXTURE_RED_SIZE, GL_PROXY_TEXTURE_CUBE_MAP, GL_MAX_VIEWPORT_DIMS,
GL_COLOR_ATTACHMENT15, GL_COLOR_ATTACHMENT14, GL_COLOR_ATTACHMENT17, GL_DEPTH_RANGE, GL_COLOR_ATTACHMENT11, GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_BORDER_COLOR, GL_COMPRESSED_SIGNED_RG_RGTC2, GL_CONTEXT_FLAG_DEBUG_BIT,
GL_COLOR_ATTACHMENT10, GL_COLOR_ATTACHMENT13, GL_COLOR_ATTACHMENT12, GL_NEAREST, GL_COMPRESSED_TEXTURE_FORMATS, GL_TEXTURE11, GL_TEXTURE14, GL_NEVER, GL_STENCIL_VALUE_MASK, GL_BLEND_DST,
GL_COLOR_ATTACHMENT19, GL_COLOR_ATTACHMENT18, GL_RENDERBUFFER_GREEN_SIZE, GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, GL_PIXEL_MAP_S_TO_S_SIZE, GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR, GL_TEXTURE13, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_SHARED_SIZE, GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, GL_RGBA8, GL_T2F_C3F_V3F, GL_SAMPLER_2D_RECT_SHADOW, GL_ALL_ATTRIB_BITS, GL_TEXTURE10, GL_LOGIC_OP_MODE, GL_FRAMEBUFFER_COMPLETE, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL_COPY_READ_BUFFER,
GL_POINT_TOKEN, GL_T4F_C4F_N3F_V4F, GL_TEXTURE30, GL_TEXTURE31, GL_UNSIGNED_INT_SAMPLER_1D, GL_STENCIL_ATTACHMENT, GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL_TEXTURE_SWIZZLE_RGBA, GL_DEPTH_COMPONENT32, GL_SUBPIXEL_BITS,
GL_POINT_SMOOTH, GL_DEPTH_CLEAR_VALUE, GL_GEOMETRY_INPUT_TYPE, GL_BACK_LEFT, GL_TEXTURE_ENV_COLOR, GL_SHORT, GL_READ_FRAMEBUFFER, GL_CW, GL_UNSIGNED_INT_24_8, GL_SMOOTH_POINT_SIZE_GRANULARITY,
GL_BUFFER_MAP_POINTER, GL_LINE_SMOOTH, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, GL_STENCIL_REF, GL_CURRENT_BIT, GL_MAX_TEXTURE_BUFFER_SIZE, GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_VENDOR, GL_DEBUG_SEVERITY_MEDIUM_KHR, GL_TEXTURE_2D_ARRAY,
GL_FOG_COORDINATE, GL_COPY_WRITE_BUFFER, GL_MAX_VARYING_FLOATS, GL_PRIMITIVE_RESTART_INDEX, GL_OPERAND0_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_TEXTURE_BINDING_2D, GL_OBJECT_TYPE, GL_BLEND_EQUATION, GL_GEOMETRY_SHADER,
GL_LIGHT_MODEL_COLOR_CONTROL, GL_FEEDBACK, GL_ONE_MINUS_DST_COLOR, GL_MAX_ATTRIB_STACK_DEPTH, GL_FOG_COORD_ARRAY_TYPE, GL_R8UI, GL_STATIC_DRAW, GL_PACK_LSB_FIRST, GL_PACK_SKIP_IMAGES, GL_RGBA16UI,
GL_PROXY_TEXTURE_1D_ARRAY, GL_ACCUM_ALPHA_BITS, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL_UNSIGNED_BYTE_3_3_2, GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_FLOAT_MAT2x4, GL_RGB8I,
GL_COLOR_BUFFER_BIT, GL_PIXEL_MAP_I_TO_I, GL_SPOT_CUTOFF, GL_PIXEL_MAP_I_TO_R, GL_LINEAR_ATTENUATION, GL_COLOR_ATTACHMENT18, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_DRAW_BUFFER, GL_PROXY_TEXTURE_3D, GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
GL_SAMPLER_2D, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, GL_NEAREST_MIPMAP_NEAREST, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, GL_EDGE_FLAG_ARRAY_STRIDE, GL_PRIMITIVES_GENERATED, GL_DRAW_BUFFER0, GL_STENCIL_INDEX4, GL_SAMPLER_3D, GL_MAX,
GL_TEXTURE_MAG_FILTER, GL_COLOR_MATERIAL_FACE, GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, GL_SINGLE_COLOR, GL_R32I, GL_TEXTURE_GREEN_TYPE, GL_PROXY_TEXTURE_2D_ARRAY, GL_MAX_INTEGER_SAMPLES, GL_COMPRESSED_SRGB, GL_OR_INVERTED,
GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, GL_SAMPLER_CUBE, GL_INT_2_10_10_10_REV, GL_SAMPLER_CUBE_SHADOW, GL_LEFT, GL_RGB8UI, GL_STENCIL_INDEX16, GL_UNIFORM_BLOCK_INDEX, GL_INVALID_INDEX, GL_FRAMEBUFFER_SRGB,
GL_AND_INVERTED, GL_ACCUM_BLUE_BITS, GL_FRAMEBUFFER_SRGB, GL_SECONDARY_COLOR_ARRAY_TYPE, GL_POLYGON_OFFSET_POINT, GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, GL_MIRRORED_REPEAT, GL_SAMPLER_1D_SHADOW, GL_BLEND_DST_RGB, GL_SAMPLER_2D_SHADOW,
GL_BGR, GL_MAX_TEXTURE_SIZE, GL_COMBINE_ALPHA, GL_RIGHT, GL_UNSIGNED_INT_SAMPLER_2D_ARRAY, GL_EQUIV, GL_TEXTURE_BINDING_2D_ARRAY, GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_RG16F, GL_DEBUG_SEVERITY_LOW_KHR,
GL_ARRAY_BUFFER, GL_COMPRESSED_ALPHA, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT16, GL_MAX_SAMPLE_MASK_WORDS, GL_DRAW_BUFFER8, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL_RG16I, GL_WRITE_ONLY,
GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_TEXTURE_RED_SIZE, GL_TEXTURE_1D, GL_MAX_VARYING_COMPONENTS, GL_NAME_STACK_DEPTH, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL_TEXTURE_GREEN_SIZE, GL_SAMPLE_COVERAGE, GL_DRAW_FRAMEBUFFER, GL_RGB10_A2UI,
GL_BLEND_SRC_RGB, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, GL_BGRA_INTEGER, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, GL_FALSE, GL_TEXTURE_LOD_BIAS, GL_MAX_DEBUG_LOGGED_MESSAGES, GL_SAMPLER, GL_SAMPLES;
GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL_ONE_MINUS_SRC_ALPHA, GL_SAMPLE_ALPHA_TO_ONE, GL_WEIGHT_ARRAY_BUFFER_BINDING, GL_COLOR_ATTACHMENT3,
GL_PIXEL_MAP_I_TO_G_SIZE, GL_MAP2_GRID_SEGMENTS, GL_PROGRAM_POINT_SIZE, GL_COLOR_ATTACHMENT16, GL_MAX_VIEWPORT_DIMS,
GL_DEPTH_ATTACHMENT, GL_INT_SAMPLER_2D, GL_UNSIGNED_INT_SAMPLER_1D_ARRAY, GL_STENCIL_PASS_DEPTH_FAIL, GL_PIXEL_MAP_A_TO_A,
GL_TEXTURE_COORD_ARRAY_POINTER, GL_MAP1_GRID_SEGMENTS, GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_ATTRIB_STACK_DEPTH, GL_LINE_WIDTH,
GL_FEEDBACK_BUFFER_SIZE, GL_BLUE_BIAS, GL_FIXED_ONLY, GL_NONE, GL_FRAMEBUFFER_DEFAULT,
GL_POLYGON_MODE, GL_HALF_FLOAT, GL_UNIFORM_BLOCK_NAME_LENGTH, GL_V2F, GL_TEXTURE_BINDING_RECTANGLE,
GL_LINE_SMOOTH_HINT, GL_CLAMP_TO_EDGE, GL_FRONT, GL_SCISSOR_BOX, GL_UNIFORM_BLOCK_DATA_SIZE,
GL_AMBIENT, GL_NUM_EXTENSIONS, GL_UNIFORM_IS_ROW_MAJOR, GL_MAX_UNIFORM_BLOCK_SIZE, GL_INDEX_ARRAY,
GL_FRAMEBUFFER_BINDING, GL_NORMAL_ARRAY_BUFFER_BINDING, GL_ALPHA, GL_SET, GL_COLOR_WRITEMASK,
GL_DEPTH_FUNC, GL_TEXTURE_WRAP_R, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE9,
GL_INVALID_ENUM, GL_EVAL_BIT, GL_INT_SAMPLER_2D_ARRAY, GL_COMPRESSED_RGB, GL_LIGHT_MODEL_AMBIENT,
GL_DEPTH_COMPONENT, GL_SRC1_COLOR, GL_FOG_START, GL_WAIT_FAILED, GL_COMPARE_REF_TO_TEXTURE,
GL_PROJECTION_STACK_DEPTH, GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, GL_TRUE, GL_TEXTURE_MIN_FILTER, GL_FLOAT_MAT4,
GL_BLUE_BITS, GL_STACK_UNDERFLOW, GL_AUX1, GL_TEXTURE_SWIZZLE_R, GL_AUX3,
GL_AUX2, GL_PACK_SWAP_BYTES, GL_FIRST_VERTEX_CONVENTION, GL_EQUAL, GL_TEXTURE_SWIZZLE_G,
GL_DEPTH_STENCIL_ATTACHMENT, GL_TRIANGLE_STRIP_ADJACENCY, GL_ADD, GL_TEXTURE_BINDING_1D_ARRAY, GL_TEXTURE_SWIZZLE_B,
GL_TEXTURE_SWIZZLE_A, GL_FUNC_ADD, GL_MODELVIEW_STACK_DEPTH, GL_FLOAT_MAT4x3, GL_POINT_FADE_THRESHOLD_SIZE,
GL_INT_SAMPLER_BUFFER, GL_UNPACK_ALIGNMENT, GL_LINE_STRIP, GL_PACK_ROW_LENGTH, GL_COLOR_MATERIAL,
GL_MAX_PIXEL_MAP_TABLE, GL_COLOR, GL_POLYGON_STIPPLE, GL_BITMAP, GL_DYNAMIC_READ,
GL_COMPRESSED_LUMINANCE, GL_LUMINANCE12_ALPHA12, GL_DEPTH_STENCIL, GL_RG8UI, GL_MAX_VERTEX_OUTPUT_COMPONENTS,
GL_KEEP, GL_TEXTURE_INTENSITY_SIZE, GL_PROXY_TEXTURE_2D, GL_SYNC_CONDITION, GL_ACTIVE_UNIFORM_MAX_LENGTH,
GL_OR, GL_MAP_INVALIDATE_RANGE_BIT, GL_TEXTURE23, GL_TEXTURE22, GL_TEXTURE21,
GL_TEXTURE20, GL_TEXTURE27, GL_TEXTURE26, GL_TEXTURE25, GL_TEXTURE24,
GL_R8_SNORM, GL_TEXTURE29, GL_TEXTURE28, GL_SAMPLER_1D_ARRAY, GL_ELEMENT_ARRAY_BUFFER_BINDING,
GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL_TRIANGLES_ADJACENCY, GL_PIXEL_MODE_BIT, GL_LINE_LOOP, GL_ALPHA_SCALE,
GL_READ_BUFFER, GL_PACK_SKIP_PIXELS, GL_BACK_RIGHT, GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, GL_SUBPIXEL_BITS,
GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, GL_GEQUAL, GL_ALPHA_TEST, GL_SLUMINANCE8_ALPHA8, GL_SAMPLER_2D_MULTISAMPLE,
GL_LUMINANCE4_ALPHA4, GL_RGBA8UI, GL_UNIFORM_OFFSET, GL_TEXTURE1, GL_OBJECT_PLANE,
GL_UNSIGNED_INT_SAMPLER_CUBE, GL_SUBTRACT, GL_TIME_ELAPSED, GL_SECONDARY_COLOR_ARRAY_SIZE, GL_COMPRESSED_RED_RGTC1,
GL_READ_WRITE, GL_BUFFER_ACCESS, GL_LINES_ADJACENCY, GL_ARRAY_BUFFER_BINDING, GL_INDEX_WRITEMASK,
GL_TEXTURE_2D, GL_VERTEX_ARRAY_STRIDE, GL_DYNAMIC_DRAW, GL_4D_COLOR_TEXTURE, GL_NICEST,
GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, GL_UNPACK_ROW_LENGTH, GL_CURRENT_PROGRAM, GL_BUFFER_MAPPED, GL_EYE_LINEAR,
GL_STREAM_DRAW, GL_POLYGON_SMOOTH_HINT, GL_INDEX, GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_SIGNALED,
GL_FRAMEBUFFER, GL_SPECULAR, GL_TEXTURE_BINDING_2D, GL_GENERATE_MIPMAP, GL_DOMAIN,
GL_COLOR_ARRAY_SIZE, GL_STENCIL_BACK_FAIL, GL_POLYGON_OFFSET_FACTOR, GL_R8UI, GL_SYNC_FLUSH_COMMANDS_BIT,
GL_DRAW_FRAMEBUFFER_BINDING, GL_STATIC_DRAW, GL_MODELVIEW, GL_PIXEL_MAP_I_TO_B_SIZE, GL_TRIANGLES,
GL_SAMPLER_2D_ARRAY_SHADOW, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_UNIFORM_MATRIX_STRIDE, GL_MAX_DEPTH_TEXTURE_SAMPLES, GL_QUERY_BY_REGION_WAIT,
GL_TEXTURE_RESIDENT, GL_SLUMINANCE, GL_SRGB8_ALPHA8, GL_FOG, GL_FOG_COORD,
GL_SAMPLER_2D_ARRAY, GL_POSITION, GL_RENDERER, GL_MIRRORED_REPEAT, GL_RG,
GL_PIXEL_MAP_B_TO_B, GL_LINE_STIPPLE_PATTERN, GL_STENCIL_BACK_FUNC, GL_PIXEL_MAP_R_TO_R_SIZE, GL_MAP1_TEXTURE_COORD_2,
GL_TEXTURE_BINDING_3D, GL_COLOR_LOGIC_OP, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL_UNIFORM_BLOCK_INDEX, GL_ENABLE_BIT,
GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, GL_MAX_VERTEX_ATTRIBS, GL_SPHERE_MAP, GL_CONSTANT, GL_LINE_WIDTH_RANGE,
GL_XOR, GL_PROJECTION, GL_LESS, GL_COPY_PIXEL_TOKEN, GL_FRAMEBUFFER_UNDEFINED,
GL_2_BYTES, GL_TEXTURE_STENCIL_SIZE, GL_CURRENT_RASTER_INDEX, GL_EMISSION, GL_COMPRESSED_SRGB,
GL_TEXTURE_DEPTH_TYPE, GL_TEXTURE_ENV_MODE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_INT_SAMPLER_1D, GL_CURRENT_RASTER_COLOR,
GL_PROXY_TEXTURE_2D_ARRAY, GL_QUAD_STRIP, GL_REPEAT, GL_ACCUM, GL_T2F_C4F_N3F_V3F,
GL_TEXTURE_INTENSITY_TYPE, GL_INTENSITY16, GL_VERTEX_ARRAY_TYPE, GL_VERTEX_ARRAY_SIZE, GL_TEXTURE_GREEN_SIZE,
GL_CLIENT_ALL_ATTRIB_BITS, GL_VALIDATE_STATUS, GL_RG16, GL_LIGHT7, GL_STENCIL_BACK_VALUE_MASK,
GL_SCISSOR_TEST, GL_STENCIL_BUFFER_BIT, GL_TEXTURE_2D_MULTISAMPLE, GL_SAMPLER_1D_ARRAY_SHADOW, GL_SRC1_RGB,
GL_BLEND_EQUATION_ALPHA, GL_ACTIVE_ATTRIBUTES, GL_COLOR_ATTACHMENT31, GL_LIGHTING, GL_CURRENT_RASTER_DISTANCE,
GL_VERTEX_ARRAY_POINTER, GL_ATTACHED_SHADERS, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_QUERY_BY_REGION_NO_WAIT, GL_SAMPLE_COVERAGE_INVERT,
GL_LINES, GL_TEXTURE18, GL_TEXTURE19, GL_TEXTURE16, GL_TEXTURE17,
GL_TEXTURE14, GL_TEXTURE15, GL_TEXTURE12, GL_TEXTURE13, GL_TEXTURE10,
GL_TEXTURE11, GL_RGB, GL_SEPARATE_SPECULAR_COLOR, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_TRANSFORM_FEEDBACK_BUFFER_START,
GL_MAX_PROGRAM_TEXEL_OFFSET, GL_STACK_OVERFLOW, GL_MAP1_VERTEX_4, GL_TEXTURE_COMPRESSION_HINT, GL_RGBA32F,
GL_RGBA32I, GL_COLOR_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_TRANSPOSE_COLOR_MATRIX, GL_STENCIL_WRITEMASK,
GL_RG8, GL_FOG_COORDINATE_ARRAY_POINTER, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_INVALID_VALUE, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
GL_VERSION, GL_MAP_UNSYNCHRONIZED_BIT, GL_PRIMITIVE_RESTART, GL_COLOR_ARRAY_STRIDE, GL_MAX_ELEMENTS_INDICES,
GL_SRC_ALPHA, GL_TEXTURE_3D, GL_GEOMETRY_VERTICES_OUT, GL_RGB8, GL_INDEX_ARRAY_POINTER,
GL_MATRIX_MODE, GL_UNIFORM_ARRAY_STRIDE, GL_TEXTURE_SAMPLES, GL_RGB4, GL_RGB5,
GL_CULL_FACE, GL_PIXEL_MAP_I_TO_I_SIZE, GL_SAMPLE_COVERAGE_VALUE, GL_PROXY_TEXTURE_CUBE_MAP, GL_SECONDARY_COLOR_ARRAY_STRIDE,
GL_COMPRESSED_SIGNED_RG_RGTC2, GL_COLOR_INDEXES, GL_RG32UI, GL_OPERAND1_ALPHA, GL_NORMALIZE,
GL_NEVER, GL_STENCIL_VALUE_MASK, GL_BLEND_DST, GL_STENCIL_BACK_WRITEMASK, GL_BLUE_SCALE,
GL_TEXTURE_INTERNAL_FORMAT, GL_LOAD, GL_FRAMEBUFFER_COMPLETE, GL_COPY_READ_BUFFER, GL_INDEX_ARRAY_STRIDE,
GL_FOG_COORD_ARRAY_POINTER, GL_MAP2_VERTEX_3, GL_TEXTURE_SWIZZLE_RGBA, GL_DEPTH_COMPONENT32, GL_RGBA,
GL_READ_FRAMEBUFFER, GL_NORMAL_ARRAY, GL_COLOR_SUM, GL_BLEND_EQUATION_RGB, GL_MAP2_COLOR_4,
GL_VENDOR, GL_TEXTURE_2D_ARRAY, GL_ACCUM_BUFFER_BIT, GL_EDGE_FLAG, GL_OBJECT_TYPE,
GL_C4UB_V3F, GL_INTERPOLATE, GL_BUFFER_ACCESS_FLAGS, GL_LINK_STATUS, GL_PACK_SKIP_IMAGES,
GL_FLOAT_MAT2x3, GL_COMBINE, GL_FLOAT_MAT2x4, GL_Q, GL_SECONDARY_COLOR_ARRAY,
GL_INDEX_LOGIC_OP, GL_SEPARATE_ATTRIBS, GL_PRIMITIVES_GENERATED, GL_MAX, GL_LUMINANCE,
GL_INVALID_INDEX, GL_MAP2_VERTEX_4, GL_AUTO_NORMAL, GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, GL_CURRENT_RASTER_SECONDARY_COLOR,
GL_SAMPLER_1D_SHADOW, GL_ACCUM_RED_BITS, GL_SAMPLER_2D_SHADOW, GL_TEXTURE_MATRIX, GL_TRANSPOSE_PROJECTION_MATRIX,
GL_CLIP_DISTANCE6, GL_RG16F, GL_MAX_NAME_STACK_DEPTH, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, GL_TEXTURE_BIT,
GL_RG16I, GL_WRITE_ONLY, GL_STENCIL_ATTACHMENT, GL_CLIENT_VERTEX_ARRAY_BIT, GL_SAMPLE_COVERAGE,
GL_INDEX_ARRAY_BUFFER_BINDING, GL_SHININESS, GL_DRAW_FRAMEBUFFER, GL_TEXTURE_LOD_BIAS, GL_RGB10_A2UI
;

View File

@ -167,6 +167,7 @@ bool gladLoadGL(Loader load) {
load_GL_VERSION_3_3(load); load_GL_VERSION_3_3(load);
find_extensionsGL(); find_extensionsGL();
load_GL_KHR_debug(load);
return GLVersion.major != 0 || GLVersion.minor != 0; return GLVersion.major != 0 || GLVersion.minor != 0;
} }
@ -215,6 +216,7 @@ void find_coreGL() {
} }
void find_extensionsGL() { void find_extensionsGL() {
GL_KHR_debug = has_ext("GL_KHR_debug");
return; return;
} }
@ -268,264 +270,6 @@ void load_GL_VERSION_1_0(Loader load) {
glIsEnabled = cast(typeof(glIsEnabled))load("glIsEnabled"); glIsEnabled = cast(typeof(glIsEnabled))load("glIsEnabled");
glDepthRange = cast(typeof(glDepthRange))load("glDepthRange"); glDepthRange = cast(typeof(glDepthRange))load("glDepthRange");
glViewport = cast(typeof(glViewport))load("glViewport"); glViewport = cast(typeof(glViewport))load("glViewport");
glNewList = cast(typeof(glNewList))load("glNewList");
glEndList = cast(typeof(glEndList))load("glEndList");
glCallList = cast(typeof(glCallList))load("glCallList");
glCallLists = cast(typeof(glCallLists))load("glCallLists");
glDeleteLists = cast(typeof(glDeleteLists))load("glDeleteLists");
glGenLists = cast(typeof(glGenLists))load("glGenLists");
glListBase = cast(typeof(glListBase))load("glListBase");
glBegin = cast(typeof(glBegin))load("glBegin");
glBitmap = cast(typeof(glBitmap))load("glBitmap");
glColor3b = cast(typeof(glColor3b))load("glColor3b");
glColor3bv = cast(typeof(glColor3bv))load("glColor3bv");
glColor3d = cast(typeof(glColor3d))load("glColor3d");
glColor3dv = cast(typeof(glColor3dv))load("glColor3dv");
glColor3f = cast(typeof(glColor3f))load("glColor3f");
glColor3fv = cast(typeof(glColor3fv))load("glColor3fv");
glColor3i = cast(typeof(glColor3i))load("glColor3i");
glColor3iv = cast(typeof(glColor3iv))load("glColor3iv");
glColor3s = cast(typeof(glColor3s))load("glColor3s");
glColor3sv = cast(typeof(glColor3sv))load("glColor3sv");
glColor3ub = cast(typeof(glColor3ub))load("glColor3ub");
glColor3ubv = cast(typeof(glColor3ubv))load("glColor3ubv");
glColor3ui = cast(typeof(glColor3ui))load("glColor3ui");
glColor3uiv = cast(typeof(glColor3uiv))load("glColor3uiv");
glColor3us = cast(typeof(glColor3us))load("glColor3us");
glColor3usv = cast(typeof(glColor3usv))load("glColor3usv");
glColor4b = cast(typeof(glColor4b))load("glColor4b");
glColor4bv = cast(typeof(glColor4bv))load("glColor4bv");
glColor4d = cast(typeof(glColor4d))load("glColor4d");
glColor4dv = cast(typeof(glColor4dv))load("glColor4dv");
glColor4f = cast(typeof(glColor4f))load("glColor4f");
glColor4fv = cast(typeof(glColor4fv))load("glColor4fv");
glColor4i = cast(typeof(glColor4i))load("glColor4i");
glColor4iv = cast(typeof(glColor4iv))load("glColor4iv");
glColor4s = cast(typeof(glColor4s))load("glColor4s");
glColor4sv = cast(typeof(glColor4sv))load("glColor4sv");
glColor4ub = cast(typeof(glColor4ub))load("glColor4ub");
glColor4ubv = cast(typeof(glColor4ubv))load("glColor4ubv");
glColor4ui = cast(typeof(glColor4ui))load("glColor4ui");
glColor4uiv = cast(typeof(glColor4uiv))load("glColor4uiv");
glColor4us = cast(typeof(glColor4us))load("glColor4us");
glColor4usv = cast(typeof(glColor4usv))load("glColor4usv");
glEdgeFlag = cast(typeof(glEdgeFlag))load("glEdgeFlag");
glEdgeFlagv = cast(typeof(glEdgeFlagv))load("glEdgeFlagv");
glEnd = cast(typeof(glEnd))load("glEnd");
glIndexd = cast(typeof(glIndexd))load("glIndexd");
glIndexdv = cast(typeof(glIndexdv))load("glIndexdv");
glIndexf = cast(typeof(glIndexf))load("glIndexf");
glIndexfv = cast(typeof(glIndexfv))load("glIndexfv");
glIndexi = cast(typeof(glIndexi))load("glIndexi");
glIndexiv = cast(typeof(glIndexiv))load("glIndexiv");
glIndexs = cast(typeof(glIndexs))load("glIndexs");
glIndexsv = cast(typeof(glIndexsv))load("glIndexsv");
glNormal3b = cast(typeof(glNormal3b))load("glNormal3b");
glNormal3bv = cast(typeof(glNormal3bv))load("glNormal3bv");
glNormal3d = cast(typeof(glNormal3d))load("glNormal3d");
glNormal3dv = cast(typeof(glNormal3dv))load("glNormal3dv");
glNormal3f = cast(typeof(glNormal3f))load("glNormal3f");
glNormal3fv = cast(typeof(glNormal3fv))load("glNormal3fv");
glNormal3i = cast(typeof(glNormal3i))load("glNormal3i");
glNormal3iv = cast(typeof(glNormal3iv))load("glNormal3iv");
glNormal3s = cast(typeof(glNormal3s))load("glNormal3s");
glNormal3sv = cast(typeof(glNormal3sv))load("glNormal3sv");
glRasterPos2d = cast(typeof(glRasterPos2d))load("glRasterPos2d");
glRasterPos2dv = cast(typeof(glRasterPos2dv))load("glRasterPos2dv");
glRasterPos2f = cast(typeof(glRasterPos2f))load("glRasterPos2f");
glRasterPos2fv = cast(typeof(glRasterPos2fv))load("glRasterPos2fv");
glRasterPos2i = cast(typeof(glRasterPos2i))load("glRasterPos2i");
glRasterPos2iv = cast(typeof(glRasterPos2iv))load("glRasterPos2iv");
glRasterPos2s = cast(typeof(glRasterPos2s))load("glRasterPos2s");
glRasterPos2sv = cast(typeof(glRasterPos2sv))load("glRasterPos2sv");
glRasterPos3d = cast(typeof(glRasterPos3d))load("glRasterPos3d");
glRasterPos3dv = cast(typeof(glRasterPos3dv))load("glRasterPos3dv");
glRasterPos3f = cast(typeof(glRasterPos3f))load("glRasterPos3f");
glRasterPos3fv = cast(typeof(glRasterPos3fv))load("glRasterPos3fv");
glRasterPos3i = cast(typeof(glRasterPos3i))load("glRasterPos3i");
glRasterPos3iv = cast(typeof(glRasterPos3iv))load("glRasterPos3iv");
glRasterPos3s = cast(typeof(glRasterPos3s))load("glRasterPos3s");
glRasterPos3sv = cast(typeof(glRasterPos3sv))load("glRasterPos3sv");
glRasterPos4d = cast(typeof(glRasterPos4d))load("glRasterPos4d");
glRasterPos4dv = cast(typeof(glRasterPos4dv))load("glRasterPos4dv");
glRasterPos4f = cast(typeof(glRasterPos4f))load("glRasterPos4f");
glRasterPos4fv = cast(typeof(glRasterPos4fv))load("glRasterPos4fv");
glRasterPos4i = cast(typeof(glRasterPos4i))load("glRasterPos4i");
glRasterPos4iv = cast(typeof(glRasterPos4iv))load("glRasterPos4iv");
glRasterPos4s = cast(typeof(glRasterPos4s))load("glRasterPos4s");
glRasterPos4sv = cast(typeof(glRasterPos4sv))load("glRasterPos4sv");
glRectd = cast(typeof(glRectd))load("glRectd");
glRectdv = cast(typeof(glRectdv))load("glRectdv");
glRectf = cast(typeof(glRectf))load("glRectf");
glRectfv = cast(typeof(glRectfv))load("glRectfv");
glRecti = cast(typeof(glRecti))load("glRecti");
glRectiv = cast(typeof(glRectiv))load("glRectiv");
glRects = cast(typeof(glRects))load("glRects");
glRectsv = cast(typeof(glRectsv))load("glRectsv");
glTexCoord1d = cast(typeof(glTexCoord1d))load("glTexCoord1d");
glTexCoord1dv = cast(typeof(glTexCoord1dv))load("glTexCoord1dv");
glTexCoord1f = cast(typeof(glTexCoord1f))load("glTexCoord1f");
glTexCoord1fv = cast(typeof(glTexCoord1fv))load("glTexCoord1fv");
glTexCoord1i = cast(typeof(glTexCoord1i))load("glTexCoord1i");
glTexCoord1iv = cast(typeof(glTexCoord1iv))load("glTexCoord1iv");
glTexCoord1s = cast(typeof(glTexCoord1s))load("glTexCoord1s");
glTexCoord1sv = cast(typeof(glTexCoord1sv))load("glTexCoord1sv");
glTexCoord2d = cast(typeof(glTexCoord2d))load("glTexCoord2d");
glTexCoord2dv = cast(typeof(glTexCoord2dv))load("glTexCoord2dv");
glTexCoord2f = cast(typeof(glTexCoord2f))load("glTexCoord2f");
glTexCoord2fv = cast(typeof(glTexCoord2fv))load("glTexCoord2fv");
glTexCoord2i = cast(typeof(glTexCoord2i))load("glTexCoord2i");
glTexCoord2iv = cast(typeof(glTexCoord2iv))load("glTexCoord2iv");
glTexCoord2s = cast(typeof(glTexCoord2s))load("glTexCoord2s");
glTexCoord2sv = cast(typeof(glTexCoord2sv))load("glTexCoord2sv");
glTexCoord3d = cast(typeof(glTexCoord3d))load("glTexCoord3d");
glTexCoord3dv = cast(typeof(glTexCoord3dv))load("glTexCoord3dv");
glTexCoord3f = cast(typeof(glTexCoord3f))load("glTexCoord3f");
glTexCoord3fv = cast(typeof(glTexCoord3fv))load("glTexCoord3fv");
glTexCoord3i = cast(typeof(glTexCoord3i))load("glTexCoord3i");
glTexCoord3iv = cast(typeof(glTexCoord3iv))load("glTexCoord3iv");
glTexCoord3s = cast(typeof(glTexCoord3s))load("glTexCoord3s");
glTexCoord3sv = cast(typeof(glTexCoord3sv))load("glTexCoord3sv");
glTexCoord4d = cast(typeof(glTexCoord4d))load("glTexCoord4d");
glTexCoord4dv = cast(typeof(glTexCoord4dv))load("glTexCoord4dv");
glTexCoord4f = cast(typeof(glTexCoord4f))load("glTexCoord4f");
glTexCoord4fv = cast(typeof(glTexCoord4fv))load("glTexCoord4fv");
glTexCoord4i = cast(typeof(glTexCoord4i))load("glTexCoord4i");
glTexCoord4iv = cast(typeof(glTexCoord4iv))load("glTexCoord4iv");
glTexCoord4s = cast(typeof(glTexCoord4s))load("glTexCoord4s");
glTexCoord4sv = cast(typeof(glTexCoord4sv))load("glTexCoord4sv");
glVertex2d = cast(typeof(glVertex2d))load("glVertex2d");
glVertex2dv = cast(typeof(glVertex2dv))load("glVertex2dv");
glVertex2f = cast(typeof(glVertex2f))load("glVertex2f");
glVertex2fv = cast(typeof(glVertex2fv))load("glVertex2fv");
glVertex2i = cast(typeof(glVertex2i))load("glVertex2i");
glVertex2iv = cast(typeof(glVertex2iv))load("glVertex2iv");
glVertex2s = cast(typeof(glVertex2s))load("glVertex2s");
glVertex2sv = cast(typeof(glVertex2sv))load("glVertex2sv");
glVertex3d = cast(typeof(glVertex3d))load("glVertex3d");
glVertex3dv = cast(typeof(glVertex3dv))load("glVertex3dv");
glVertex3f = cast(typeof(glVertex3f))load("glVertex3f");
glVertex3fv = cast(typeof(glVertex3fv))load("glVertex3fv");
glVertex3i = cast(typeof(glVertex3i))load("glVertex3i");
glVertex3iv = cast(typeof(glVertex3iv))load("glVertex3iv");
glVertex3s = cast(typeof(glVertex3s))load("glVertex3s");
glVertex3sv = cast(typeof(glVertex3sv))load("glVertex3sv");
glVertex4d = cast(typeof(glVertex4d))load("glVertex4d");
glVertex4dv = cast(typeof(glVertex4dv))load("glVertex4dv");
glVertex4f = cast(typeof(glVertex4f))load("glVertex4f");
glVertex4fv = cast(typeof(glVertex4fv))load("glVertex4fv");
glVertex4i = cast(typeof(glVertex4i))load("glVertex4i");
glVertex4iv = cast(typeof(glVertex4iv))load("glVertex4iv");
glVertex4s = cast(typeof(glVertex4s))load("glVertex4s");
glVertex4sv = cast(typeof(glVertex4sv))load("glVertex4sv");
glClipPlane = cast(typeof(glClipPlane))load("glClipPlane");
glColorMaterial = cast(typeof(glColorMaterial))load("glColorMaterial");
glFogf = cast(typeof(glFogf))load("glFogf");
glFogfv = cast(typeof(glFogfv))load("glFogfv");
glFogi = cast(typeof(glFogi))load("glFogi");
glFogiv = cast(typeof(glFogiv))load("glFogiv");
glLightf = cast(typeof(glLightf))load("glLightf");
glLightfv = cast(typeof(glLightfv))load("glLightfv");
glLighti = cast(typeof(glLighti))load("glLighti");
glLightiv = cast(typeof(glLightiv))load("glLightiv");
glLightModelf = cast(typeof(glLightModelf))load("glLightModelf");
glLightModelfv = cast(typeof(glLightModelfv))load("glLightModelfv");
glLightModeli = cast(typeof(glLightModeli))load("glLightModeli");
glLightModeliv = cast(typeof(glLightModeliv))load("glLightModeliv");
glLineStipple = cast(typeof(glLineStipple))load("glLineStipple");
glMaterialf = cast(typeof(glMaterialf))load("glMaterialf");
glMaterialfv = cast(typeof(glMaterialfv))load("glMaterialfv");
glMateriali = cast(typeof(glMateriali))load("glMateriali");
glMaterialiv = cast(typeof(glMaterialiv))load("glMaterialiv");
glPolygonStipple = cast(typeof(glPolygonStipple))load("glPolygonStipple");
glShadeModel = cast(typeof(glShadeModel))load("glShadeModel");
glTexEnvf = cast(typeof(glTexEnvf))load("glTexEnvf");
glTexEnvfv = cast(typeof(glTexEnvfv))load("glTexEnvfv");
glTexEnvi = cast(typeof(glTexEnvi))load("glTexEnvi");
glTexEnviv = cast(typeof(glTexEnviv))load("glTexEnviv");
glTexGend = cast(typeof(glTexGend))load("glTexGend");
glTexGendv = cast(typeof(glTexGendv))load("glTexGendv");
glTexGenf = cast(typeof(glTexGenf))load("glTexGenf");
glTexGenfv = cast(typeof(glTexGenfv))load("glTexGenfv");
glTexGeni = cast(typeof(glTexGeni))load("glTexGeni");
glTexGeniv = cast(typeof(glTexGeniv))load("glTexGeniv");
glFeedbackBuffer = cast(typeof(glFeedbackBuffer))load("glFeedbackBuffer");
glSelectBuffer = cast(typeof(glSelectBuffer))load("glSelectBuffer");
glRenderMode = cast(typeof(glRenderMode))load("glRenderMode");
glInitNames = cast(typeof(glInitNames))load("glInitNames");
glLoadName = cast(typeof(glLoadName))load("glLoadName");
glPassThrough = cast(typeof(glPassThrough))load("glPassThrough");
glPopName = cast(typeof(glPopName))load("glPopName");
glPushName = cast(typeof(glPushName))load("glPushName");
glClearAccum = cast(typeof(glClearAccum))load("glClearAccum");
glClearIndex = cast(typeof(glClearIndex))load("glClearIndex");
glIndexMask = cast(typeof(glIndexMask))load("glIndexMask");
glAccum = cast(typeof(glAccum))load("glAccum");
glPopAttrib = cast(typeof(glPopAttrib))load("glPopAttrib");
glPushAttrib = cast(typeof(glPushAttrib))load("glPushAttrib");
glMap1d = cast(typeof(glMap1d))load("glMap1d");
glMap1f = cast(typeof(glMap1f))load("glMap1f");
glMap2d = cast(typeof(glMap2d))load("glMap2d");
glMap2f = cast(typeof(glMap2f))load("glMap2f");
glMapGrid1d = cast(typeof(glMapGrid1d))load("glMapGrid1d");
glMapGrid1f = cast(typeof(glMapGrid1f))load("glMapGrid1f");
glMapGrid2d = cast(typeof(glMapGrid2d))load("glMapGrid2d");
glMapGrid2f = cast(typeof(glMapGrid2f))load("glMapGrid2f");
glEvalCoord1d = cast(typeof(glEvalCoord1d))load("glEvalCoord1d");
glEvalCoord1dv = cast(typeof(glEvalCoord1dv))load("glEvalCoord1dv");
glEvalCoord1f = cast(typeof(glEvalCoord1f))load("glEvalCoord1f");
glEvalCoord1fv = cast(typeof(glEvalCoord1fv))load("glEvalCoord1fv");
glEvalCoord2d = cast(typeof(glEvalCoord2d))load("glEvalCoord2d");
glEvalCoord2dv = cast(typeof(glEvalCoord2dv))load("glEvalCoord2dv");
glEvalCoord2f = cast(typeof(glEvalCoord2f))load("glEvalCoord2f");
glEvalCoord2fv = cast(typeof(glEvalCoord2fv))load("glEvalCoord2fv");
glEvalMesh1 = cast(typeof(glEvalMesh1))load("glEvalMesh1");
glEvalPoint1 = cast(typeof(glEvalPoint1))load("glEvalPoint1");
glEvalMesh2 = cast(typeof(glEvalMesh2))load("glEvalMesh2");
glEvalPoint2 = cast(typeof(glEvalPoint2))load("glEvalPoint2");
glAlphaFunc = cast(typeof(glAlphaFunc))load("glAlphaFunc");
glPixelZoom = cast(typeof(glPixelZoom))load("glPixelZoom");
glPixelTransferf = cast(typeof(glPixelTransferf))load("glPixelTransferf");
glPixelTransferi = cast(typeof(glPixelTransferi))load("glPixelTransferi");
glPixelMapfv = cast(typeof(glPixelMapfv))load("glPixelMapfv");
glPixelMapuiv = cast(typeof(glPixelMapuiv))load("glPixelMapuiv");
glPixelMapusv = cast(typeof(glPixelMapusv))load("glPixelMapusv");
glCopyPixels = cast(typeof(glCopyPixels))load("glCopyPixels");
glDrawPixels = cast(typeof(glDrawPixels))load("glDrawPixels");
glGetClipPlane = cast(typeof(glGetClipPlane))load("glGetClipPlane");
glGetLightfv = cast(typeof(glGetLightfv))load("glGetLightfv");
glGetLightiv = cast(typeof(glGetLightiv))load("glGetLightiv");
glGetMapdv = cast(typeof(glGetMapdv))load("glGetMapdv");
glGetMapfv = cast(typeof(glGetMapfv))load("glGetMapfv");
glGetMapiv = cast(typeof(glGetMapiv))load("glGetMapiv");
glGetMaterialfv = cast(typeof(glGetMaterialfv))load("glGetMaterialfv");
glGetMaterialiv = cast(typeof(glGetMaterialiv))load("glGetMaterialiv");
glGetPixelMapfv = cast(typeof(glGetPixelMapfv))load("glGetPixelMapfv");
glGetPixelMapuiv = cast(typeof(glGetPixelMapuiv))load("glGetPixelMapuiv");
glGetPixelMapusv = cast(typeof(glGetPixelMapusv))load("glGetPixelMapusv");
glGetPolygonStipple = cast(typeof(glGetPolygonStipple))load("glGetPolygonStipple");
glGetTexEnvfv = cast(typeof(glGetTexEnvfv))load("glGetTexEnvfv");
glGetTexEnviv = cast(typeof(glGetTexEnviv))load("glGetTexEnviv");
glGetTexGendv = cast(typeof(glGetTexGendv))load("glGetTexGendv");
glGetTexGenfv = cast(typeof(glGetTexGenfv))load("glGetTexGenfv");
glGetTexGeniv = cast(typeof(glGetTexGeniv))load("glGetTexGeniv");
glIsList = cast(typeof(glIsList))load("glIsList");
glFrustum = cast(typeof(glFrustum))load("glFrustum");
glLoadIdentity = cast(typeof(glLoadIdentity))load("glLoadIdentity");
glLoadMatrixf = cast(typeof(glLoadMatrixf))load("glLoadMatrixf");
glLoadMatrixd = cast(typeof(glLoadMatrixd))load("glLoadMatrixd");
glMatrixMode = cast(typeof(glMatrixMode))load("glMatrixMode");
glMultMatrixf = cast(typeof(glMultMatrixf))load("glMultMatrixf");
glMultMatrixd = cast(typeof(glMultMatrixd))load("glMultMatrixd");
glOrtho = cast(typeof(glOrtho))load("glOrtho");
glPopMatrix = cast(typeof(glPopMatrix))load("glPopMatrix");
glPushMatrix = cast(typeof(glPushMatrix))load("glPushMatrix");
glRotated = cast(typeof(glRotated))load("glRotated");
glRotatef = cast(typeof(glRotatef))load("glRotatef");
glScaled = cast(typeof(glScaled))load("glScaled");
glScalef = cast(typeof(glScalef))load("glScalef");
glTranslated = cast(typeof(glTranslated))load("glTranslated");
glTranslatef = cast(typeof(glTranslatef))load("glTranslatef");
return; return;
} }
@ -533,7 +277,6 @@ void load_GL_VERSION_1_1(Loader load) {
if(!GL_VERSION_1_1) return; if(!GL_VERSION_1_1) return;
glDrawArrays = cast(typeof(glDrawArrays))load("glDrawArrays"); glDrawArrays = cast(typeof(glDrawArrays))load("glDrawArrays");
glDrawElements = cast(typeof(glDrawElements))load("glDrawElements"); glDrawElements = cast(typeof(glDrawElements))load("glDrawElements");
glGetPointerv = cast(typeof(glGetPointerv))load("glGetPointerv");
glPolygonOffset = cast(typeof(glPolygonOffset))load("glPolygonOffset"); glPolygonOffset = cast(typeof(glPolygonOffset))load("glPolygonOffset");
glCopyTexImage1D = cast(typeof(glCopyTexImage1D))load("glCopyTexImage1D"); glCopyTexImage1D = cast(typeof(glCopyTexImage1D))load("glCopyTexImage1D");
glCopyTexImage2D = cast(typeof(glCopyTexImage2D))load("glCopyTexImage2D"); glCopyTexImage2D = cast(typeof(glCopyTexImage2D))load("glCopyTexImage2D");
@ -545,22 +288,6 @@ void load_GL_VERSION_1_1(Loader load) {
glDeleteTextures = cast(typeof(glDeleteTextures))load("glDeleteTextures"); glDeleteTextures = cast(typeof(glDeleteTextures))load("glDeleteTextures");
glGenTextures = cast(typeof(glGenTextures))load("glGenTextures"); glGenTextures = cast(typeof(glGenTextures))load("glGenTextures");
glIsTexture = cast(typeof(glIsTexture))load("glIsTexture"); glIsTexture = cast(typeof(glIsTexture))load("glIsTexture");
glArrayElement = cast(typeof(glArrayElement))load("glArrayElement");
glColorPointer = cast(typeof(glColorPointer))load("glColorPointer");
glDisableClientState = cast(typeof(glDisableClientState))load("glDisableClientState");
glEdgeFlagPointer = cast(typeof(glEdgeFlagPointer))load("glEdgeFlagPointer");
glEnableClientState = cast(typeof(glEnableClientState))load("glEnableClientState");
glIndexPointer = cast(typeof(glIndexPointer))load("glIndexPointer");
glInterleavedArrays = cast(typeof(glInterleavedArrays))load("glInterleavedArrays");
glNormalPointer = cast(typeof(glNormalPointer))load("glNormalPointer");
glTexCoordPointer = cast(typeof(glTexCoordPointer))load("glTexCoordPointer");
glVertexPointer = cast(typeof(glVertexPointer))load("glVertexPointer");
glAreTexturesResident = cast(typeof(glAreTexturesResident))load("glAreTexturesResident");
glPrioritizeTextures = cast(typeof(glPrioritizeTextures))load("glPrioritizeTextures");
glIndexub = cast(typeof(glIndexub))load("glIndexub");
glIndexubv = cast(typeof(glIndexubv))load("glIndexubv");
glPopClientAttrib = cast(typeof(glPopClientAttrib))load("glPopClientAttrib");
glPushClientAttrib = cast(typeof(glPushClientAttrib))load("glPushClientAttrib");
return; return;
} }
@ -584,43 +311,6 @@ void load_GL_VERSION_1_3(Loader load) {
glCompressedTexSubImage2D = cast(typeof(glCompressedTexSubImage2D))load("glCompressedTexSubImage2D"); glCompressedTexSubImage2D = cast(typeof(glCompressedTexSubImage2D))load("glCompressedTexSubImage2D");
glCompressedTexSubImage1D = cast(typeof(glCompressedTexSubImage1D))load("glCompressedTexSubImage1D"); glCompressedTexSubImage1D = cast(typeof(glCompressedTexSubImage1D))load("glCompressedTexSubImage1D");
glGetCompressedTexImage = cast(typeof(glGetCompressedTexImage))load("glGetCompressedTexImage"); glGetCompressedTexImage = cast(typeof(glGetCompressedTexImage))load("glGetCompressedTexImage");
glClientActiveTexture = cast(typeof(glClientActiveTexture))load("glClientActiveTexture");
glMultiTexCoord1d = cast(typeof(glMultiTexCoord1d))load("glMultiTexCoord1d");
glMultiTexCoord1dv = cast(typeof(glMultiTexCoord1dv))load("glMultiTexCoord1dv");
glMultiTexCoord1f = cast(typeof(glMultiTexCoord1f))load("glMultiTexCoord1f");
glMultiTexCoord1fv = cast(typeof(glMultiTexCoord1fv))load("glMultiTexCoord1fv");
glMultiTexCoord1i = cast(typeof(glMultiTexCoord1i))load("glMultiTexCoord1i");
glMultiTexCoord1iv = cast(typeof(glMultiTexCoord1iv))load("glMultiTexCoord1iv");
glMultiTexCoord1s = cast(typeof(glMultiTexCoord1s))load("glMultiTexCoord1s");
glMultiTexCoord1sv = cast(typeof(glMultiTexCoord1sv))load("glMultiTexCoord1sv");
glMultiTexCoord2d = cast(typeof(glMultiTexCoord2d))load("glMultiTexCoord2d");
glMultiTexCoord2dv = cast(typeof(glMultiTexCoord2dv))load("glMultiTexCoord2dv");
glMultiTexCoord2f = cast(typeof(glMultiTexCoord2f))load("glMultiTexCoord2f");
glMultiTexCoord2fv = cast(typeof(glMultiTexCoord2fv))load("glMultiTexCoord2fv");
glMultiTexCoord2i = cast(typeof(glMultiTexCoord2i))load("glMultiTexCoord2i");
glMultiTexCoord2iv = cast(typeof(glMultiTexCoord2iv))load("glMultiTexCoord2iv");
glMultiTexCoord2s = cast(typeof(glMultiTexCoord2s))load("glMultiTexCoord2s");
glMultiTexCoord2sv = cast(typeof(glMultiTexCoord2sv))load("glMultiTexCoord2sv");
glMultiTexCoord3d = cast(typeof(glMultiTexCoord3d))load("glMultiTexCoord3d");
glMultiTexCoord3dv = cast(typeof(glMultiTexCoord3dv))load("glMultiTexCoord3dv");
glMultiTexCoord3f = cast(typeof(glMultiTexCoord3f))load("glMultiTexCoord3f");
glMultiTexCoord3fv = cast(typeof(glMultiTexCoord3fv))load("glMultiTexCoord3fv");
glMultiTexCoord3i = cast(typeof(glMultiTexCoord3i))load("glMultiTexCoord3i");
glMultiTexCoord3iv = cast(typeof(glMultiTexCoord3iv))load("glMultiTexCoord3iv");
glMultiTexCoord3s = cast(typeof(glMultiTexCoord3s))load("glMultiTexCoord3s");
glMultiTexCoord3sv = cast(typeof(glMultiTexCoord3sv))load("glMultiTexCoord3sv");
glMultiTexCoord4d = cast(typeof(glMultiTexCoord4d))load("glMultiTexCoord4d");
glMultiTexCoord4dv = cast(typeof(glMultiTexCoord4dv))load("glMultiTexCoord4dv");
glMultiTexCoord4f = cast(typeof(glMultiTexCoord4f))load("glMultiTexCoord4f");
glMultiTexCoord4fv = cast(typeof(glMultiTexCoord4fv))load("glMultiTexCoord4fv");
glMultiTexCoord4i = cast(typeof(glMultiTexCoord4i))load("glMultiTexCoord4i");
glMultiTexCoord4iv = cast(typeof(glMultiTexCoord4iv))load("glMultiTexCoord4iv");
glMultiTexCoord4s = cast(typeof(glMultiTexCoord4s))load("glMultiTexCoord4s");
glMultiTexCoord4sv = cast(typeof(glMultiTexCoord4sv))load("glMultiTexCoord4sv");
glLoadTransposeMatrixf = cast(typeof(glLoadTransposeMatrixf))load("glLoadTransposeMatrixf");
glLoadTransposeMatrixd = cast(typeof(glLoadTransposeMatrixd))load("glLoadTransposeMatrixd");
glMultTransposeMatrixf = cast(typeof(glMultTransposeMatrixf))load("glMultTransposeMatrixf");
glMultTransposeMatrixd = cast(typeof(glMultTransposeMatrixd))load("glMultTransposeMatrixd");
return; return;
} }
@ -633,44 +323,6 @@ void load_GL_VERSION_1_4(Loader load) {
glPointParameterfv = cast(typeof(glPointParameterfv))load("glPointParameterfv"); glPointParameterfv = cast(typeof(glPointParameterfv))load("glPointParameterfv");
glPointParameteri = cast(typeof(glPointParameteri))load("glPointParameteri"); glPointParameteri = cast(typeof(glPointParameteri))load("glPointParameteri");
glPointParameteriv = cast(typeof(glPointParameteriv))load("glPointParameteriv"); glPointParameteriv = cast(typeof(glPointParameteriv))load("glPointParameteriv");
glFogCoordf = cast(typeof(glFogCoordf))load("glFogCoordf");
glFogCoordfv = cast(typeof(glFogCoordfv))load("glFogCoordfv");
glFogCoordd = cast(typeof(glFogCoordd))load("glFogCoordd");
glFogCoorddv = cast(typeof(glFogCoorddv))load("glFogCoorddv");
glFogCoordPointer = cast(typeof(glFogCoordPointer))load("glFogCoordPointer");
glSecondaryColor3b = cast(typeof(glSecondaryColor3b))load("glSecondaryColor3b");
glSecondaryColor3bv = cast(typeof(glSecondaryColor3bv))load("glSecondaryColor3bv");
glSecondaryColor3d = cast(typeof(glSecondaryColor3d))load("glSecondaryColor3d");
glSecondaryColor3dv = cast(typeof(glSecondaryColor3dv))load("glSecondaryColor3dv");
glSecondaryColor3f = cast(typeof(glSecondaryColor3f))load("glSecondaryColor3f");
glSecondaryColor3fv = cast(typeof(glSecondaryColor3fv))load("glSecondaryColor3fv");
glSecondaryColor3i = cast(typeof(glSecondaryColor3i))load("glSecondaryColor3i");
glSecondaryColor3iv = cast(typeof(glSecondaryColor3iv))load("glSecondaryColor3iv");
glSecondaryColor3s = cast(typeof(glSecondaryColor3s))load("glSecondaryColor3s");
glSecondaryColor3sv = cast(typeof(glSecondaryColor3sv))load("glSecondaryColor3sv");
glSecondaryColor3ub = cast(typeof(glSecondaryColor3ub))load("glSecondaryColor3ub");
glSecondaryColor3ubv = cast(typeof(glSecondaryColor3ubv))load("glSecondaryColor3ubv");
glSecondaryColor3ui = cast(typeof(glSecondaryColor3ui))load("glSecondaryColor3ui");
glSecondaryColor3uiv = cast(typeof(glSecondaryColor3uiv))load("glSecondaryColor3uiv");
glSecondaryColor3us = cast(typeof(glSecondaryColor3us))load("glSecondaryColor3us");
glSecondaryColor3usv = cast(typeof(glSecondaryColor3usv))load("glSecondaryColor3usv");
glSecondaryColorPointer = cast(typeof(glSecondaryColorPointer))load("glSecondaryColorPointer");
glWindowPos2d = cast(typeof(glWindowPos2d))load("glWindowPos2d");
glWindowPos2dv = cast(typeof(glWindowPos2dv))load("glWindowPos2dv");
glWindowPos2f = cast(typeof(glWindowPos2f))load("glWindowPos2f");
glWindowPos2fv = cast(typeof(glWindowPos2fv))load("glWindowPos2fv");
glWindowPos2i = cast(typeof(glWindowPos2i))load("glWindowPos2i");
glWindowPos2iv = cast(typeof(glWindowPos2iv))load("glWindowPos2iv");
glWindowPos2s = cast(typeof(glWindowPos2s))load("glWindowPos2s");
glWindowPos2sv = cast(typeof(glWindowPos2sv))load("glWindowPos2sv");
glWindowPos3d = cast(typeof(glWindowPos3d))load("glWindowPos3d");
glWindowPos3dv = cast(typeof(glWindowPos3dv))load("glWindowPos3dv");
glWindowPos3f = cast(typeof(glWindowPos3f))load("glWindowPos3f");
glWindowPos3fv = cast(typeof(glWindowPos3fv))load("glWindowPos3fv");
glWindowPos3i = cast(typeof(glWindowPos3i))load("glWindowPos3i");
glWindowPos3iv = cast(typeof(glWindowPos3iv))load("glWindowPos3iv");
glWindowPos3s = cast(typeof(glWindowPos3s))load("glWindowPos3s");
glWindowPos3sv = cast(typeof(glWindowPos3sv))load("glWindowPos3sv");
glBlendColor = cast(typeof(glBlendColor))load("glBlendColor"); glBlendColor = cast(typeof(glBlendColor))load("glBlendColor");
glBlendEquation = cast(typeof(glBlendEquation))load("glBlendEquation"); glBlendEquation = cast(typeof(glBlendEquation))load("glBlendEquation");
return; return;
@ -1005,6 +657,32 @@ void load_GL_VERSION_3_3(Loader load) {
return; return;
} }
void load_GL_KHR_debug(Loader load) {
if(!GL_KHR_debug) return;
glDebugMessageControl = cast(typeof(glDebugMessageControl))load("glDebugMessageControl");
glDebugMessageInsert = cast(typeof(glDebugMessageInsert))load("glDebugMessageInsert");
glDebugMessageCallback = cast(typeof(glDebugMessageCallback))load("glDebugMessageCallback");
glGetDebugMessageLog = cast(typeof(glGetDebugMessageLog))load("glGetDebugMessageLog");
glPushDebugGroup = cast(typeof(glPushDebugGroup))load("glPushDebugGroup");
glPopDebugGroup = cast(typeof(glPopDebugGroup))load("glPopDebugGroup");
glObjectLabel = cast(typeof(glObjectLabel))load("glObjectLabel");
glGetObjectLabel = cast(typeof(glGetObjectLabel))load("glGetObjectLabel");
glObjectPtrLabel = cast(typeof(glObjectPtrLabel))load("glObjectPtrLabel");
glGetObjectPtrLabel = cast(typeof(glGetObjectPtrLabel))load("glGetObjectPtrLabel");
glGetPointerv = cast(typeof(glGetPointerv))load("glGetPointerv");
glDebugMessageControlKHR = cast(typeof(glDebugMessageControlKHR))load("glDebugMessageControlKHR");
glDebugMessageInsertKHR = cast(typeof(glDebugMessageInsertKHR))load("glDebugMessageInsertKHR");
glDebugMessageCallbackKHR = cast(typeof(glDebugMessageCallbackKHR))load("glDebugMessageCallbackKHR");
glGetDebugMessageLogKHR = cast(typeof(glGetDebugMessageLogKHR))load("glGetDebugMessageLogKHR");
glPushDebugGroupKHR = cast(typeof(glPushDebugGroupKHR))load("glPushDebugGroupKHR");
glPopDebugGroupKHR = cast(typeof(glPopDebugGroupKHR))load("glPopDebugGroupKHR");
glObjectLabelKHR = cast(typeof(glObjectLabelKHR))load("glObjectLabelKHR");
glGetObjectLabelKHR = cast(typeof(glGetObjectLabelKHR))load("glGetObjectLabelKHR");
glObjectPtrLabelKHR = cast(typeof(glObjectPtrLabelKHR))load("glObjectPtrLabelKHR");
glGetObjectPtrLabelKHR = cast(typeof(glGetObjectPtrLabelKHR))load("glGetObjectPtrLabelKHR");
glGetPointervKHR = cast(typeof(glGetPointervKHR))load("glGetPointervKHR");
return;
}
} /* private */ } /* private */

View File

@ -277,16 +277,16 @@ struct Imgui {
auto io = igGetIO(); auto io = igGetIO();
int win_w, win_h; int win_w, win_h;
win.window_size(win_w, win_h); win.windowSize(win_w, win_h);
int fbo_w, fbo_h; int fbo_w, fbo_h;
win.framebuffer_size(fbo_w, fbo_h); win.framebufferSize(fbo_w, fbo_h);
io.DisplaySize = ImVec2(win_w, win_h); io.DisplaySize = ImVec2(win_w, win_h);
io.DisplayFramebufferScale = ImVec2(cast(float)fbo_w / win_w, cast(float)fbo_h / win_h); io.DisplayFramebufferScale = ImVec2(cast(float)fbo_w / win_w, cast(float)fbo_h / win_h);
int m_x, m_y; int m_x, m_y;
win.mouse_pos(m_x, m_y); win.mousePos(m_x, m_y);
io.MousePos = ImVec2(cast(float)m_x, cast(float)m_y); io.MousePos = ImVec2(cast(float)m_x, cast(float)m_y);
io.MouseDown[0] = mouse_buttons_pressed[0] || (SDL_GetMouseState(null, null) & SDL_BUTTON_LEFT) != 0; io.MouseDown[0] = mouse_buttons_pressed[0] || (SDL_GetMouseState(null, null) & SDL_BUTTON_LEFT) != 0;

View File

@ -28,16 +28,39 @@ struct Window {
SDL_Window* window; SDL_Window* window;
SDL_GLContext context; SDL_GLContext context;
extern(Windows) nothrow @nogc
static void openGLCallbackFunction(
GLenum source, GLenum type,
GLuint id, GLenum severity,
GLsizei length, const (GLchar)* message,
void* userParam)
{
printf("Message: %s \nSource: %s \nType: %s \nID: %d \nSeverity: %s\n\n",
message, to!(char*)(source), to!(char*)(type), id, to!(char*)(severity));
if (severity == GL_DEBUG_SEVERITY_HIGH) {
printf("Aborting...\n");
import core.stdc.stdlib : exit;
exit(-1);
}
} // openGLCallbackFunction
void createWindow(int w, int h, const char* title = "Chipd8 Emu") { void createWindow(int w, int h, const char* title = "Chipd8 Emu") {
assert(w > 0, "window width must be > 0"); assert(w > 0, "window width must be > 0");
assert(h > 0, "window height must be > 0"); assert(h > 0, "window height must be > 0");
// minimum OpenGL 3.3 // minimum OpenGL 3.3
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 32); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 32);
// DEBUGGERING!
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
SDL_Window* new_win = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_OPENGL); SDL_Window* new_win = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_OPENGL);
if (new_win == null) { if (new_win == null) {
printf("SDL2 - Window could not be created: %s\n", SDL_GetError()); printf("SDL2 - Window could not be created: %s\n", SDL_GetError());
@ -60,6 +83,21 @@ struct Window {
printf("Renderer: %s\n", glGetString(GL_RENDERER)); printf("Renderer: %s\n", glGetString(GL_RENDERER));
printf("Version: %s\n", glGetString(GL_VERSION)); printf("Version: %s\n", glGetString(GL_VERSION));
// enable debuggering
glEnable(GL_DEBUG_OUTPUT);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
glDebugMessageCallback(&openGLCallbackFunction, null);
//enable all
glDebugMessageControl(
GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, null, true
);
//disable notification messages
glDebugMessageControl(
GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_NOTIFICATION, 0, null, false
);
// assign em yes // assign em yes
window = new_win; window = new_win;
context = new_con; context = new_con;
@ -86,16 +124,57 @@ struct Window {
} // renderPresent } // renderPresent
void mouse_pos(ref int x, ref int y) { void mousePos(ref int x, ref int y) {
SDL_GetMouseState(&x, &y); SDL_GetMouseState(&x, &y);
} }
void window_size(ref int w, ref int h) { void windowSize(ref int w, ref int h) {
SDL_GetWindowSize(window, &w, &h); SDL_GetWindowSize(window, &w, &h);
} }
void framebuffer_size(ref int w, ref int h) { void framebufferSize(ref int w, ref int h) {
SDL_GL_GetDrawableSize(window, &w, &h); SDL_GL_GetDrawableSize(window, &w, &h);
} }
} // Window } // Window
/**
* Converts a GLenum representation of a value to a c string representation,
* for use with debug printing of OpenGL info, from debug callbacks for example.
*/
const (char*) to(T : char*)(GLenum value) {
import glad.gl.all;
switch (value) {
// sources
case GL_DEBUG_SOURCE_API: return "API";
case GL_DEBUG_SOURCE_WINDOW_SYSTEM: return "Window System";
case GL_DEBUG_SOURCE_SHADER_COMPILER: return "Shader Compiler";
case GL_DEBUG_SOURCE_THIRD_PARTY: return "Third Party";
case GL_DEBUG_SOURCE_APPLICATION: return "Application";
case GL_DEBUG_SOURCE_OTHER: return "Other";
// error types
case GL_DEBUG_TYPE_ERROR: return "Error";
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: return "Deprecated Behaviour";
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: return "Undefined Behaviour";
case GL_DEBUG_TYPE_PORTABILITY: return "Portability";
case GL_DEBUG_TYPE_PERFORMANCE: return "Performance";
case GL_DEBUG_TYPE_MARKER: return "Marker";
case GL_DEBUG_TYPE_PUSH_GROUP: return "Push Group";
case GL_DEBUG_TYPE_POP_GROUP: return "Pop Group";
case GL_DEBUG_TYPE_OTHER: return "Other";
// severity markers
case GL_DEBUG_SEVERITY_HIGH: return "High";
case GL_DEBUG_SEVERITY_MEDIUM: return "Medium";
case GL_DEBUG_SEVERITY_LOW: return "Low";
case GL_DEBUG_SEVERITY_NOTIFICATION: return "Notification";
default: return "(undefined)";
}
} // to!string(GLenum)