Skip to content

Instantly share code, notes, and snippets.

@brendanzab
Created October 27, 2012 13:04
Show Gist options
  • Select an option

  • Save brendanzab/3964560 to your computer and use it in GitHub Desktop.

Select an option

Save brendanzab/3964560 to your computer and use it in GitHub Desktop.
//
// let glfns = gl::init();
//
// glfns.glViewport(0, 0, width as GLsizei, height as GLsizei);
//
struct GLProc {
glCullFace: extern fn(++mode: GLenum),
glFrontFace: extern fn(++mode: GLenum),
glHint: extern fn(++target: GLenum, ++mode: GLenum),
glLineWidth: extern fn(++width: GLfloat),
glPointSize: extern fn(++size: GLfloat),
glPolygonMode: extern fn(++face: GLenum, ++mode: GLenum),
glScissor: extern fn(++x: GLint, ++y: GLint, ++width: GLsizei, ++height: GLsizei),
glTexParameterf: extern fn(++target: GLenum, ++pname: GLenum, ++param: GLfloat),
glTexParameterfv: extern fn(++target: GLenum, ++pname: GLenum, ++params: *GLfloat),
glTexParameteri: extern fn(++target: GLenum, ++pname: GLenum, ++param: GLint),
glTexParameteriv: extern fn(++target: GLenum, ++pname: GLenum, ++params: *GLint),
glTexImage1D: extern fn(++target: GLenum, ++level: GLint, ++internalformat: GLint, ++width: GLsizei, ++border: GLint, ++format: GLenum, ++gltype: GLenum, ++pixels: *GLvoid),
glTexImage2D: extern fn(++target: GLenum, ++level: GLint, ++internalformat: GLint, ++width: GLsizei, ++height: GLsizei, ++border: GLint, ++format: GLenum, ++gltype: GLenum, ++pixels: *GLvoid),
glDrawBuffer: extern fn(++mode: GLenum),
glClear: extern fn(++mask: GLbitfield),
glClearColor: extern fn(++red: GLfloat, ++green: GLfloat, ++blue: GLfloat, ++alpha: GLfloat),
glClearStencil: extern fn(++s: GLint),
glClearDepth: extern fn(++depth: GLdouble),
glStencilMask: extern fn(++mask: GLuint),
glColorMask: extern fn(++red: GLboolean, ++green: GLboolean, ++blue: GLboolean, ++alpha: GLboolean),
glDepthMask: extern fn(++flag: GLboolean),
glDisable: extern fn(++cap: GLenum),
glEnable: extern fn(++cap: GLenum),
glFinish: extern fn(),
glFlush: extern fn(),
glBlendFunc: extern fn(++sfactor: GLenum, ++dfactor: GLenum),
glLogicOp: extern fn(++opcode: GLenum),
glStencilFunc: extern fn(++func: GLenum, ++glref: GLint, ++mask: GLuint),
glStencilOp: extern fn(++glfail: GLenum, ++zfail: GLenum, ++zpass: GLenum),
glDepthFunc: extern fn(++func: GLenum),
glPixelStoref: extern fn(++pname: GLenum, ++param: GLfloat),
glPixelStorei: extern fn(++pname: GLenum, ++param: GLint),
glReadBuffer: extern fn(++mode: GLenum),
glReadPixels: extern fn(++x: GLint, ++y: GLint, ++width: GLsizei, ++height: GLsizei, ++format: GLenum, ++gltype: GLenum, ++pixels: *GLvoid),
glGetBooleanv: extern fn(++pname: GLenum, ++params: *GLboolean),
glGetDoublev: extern fn(++pname: GLenum, ++params: *GLdouble),
glGetError: extern fn() -> GLenum,
glGetFloatv: extern fn(++pname: GLenum, ++params: *GLfloat),
glGetIntegerv: extern fn(++pname: GLenum, ++params: *GLint),
glGetString: extern fn(++name: GLenum) -> *GLubyte,
glGetTexImage: extern fn(++target: GLenum, ++level: GLint, ++format: GLenum, ++gltype: GLenum, ++pixels: *GLvoid),
glGetTexParameterfv: extern fn(++target: GLenum, ++pname: GLenum, ++params: *GLfloat),
glGetTexParameteriv: extern fn(++target: GLenum, ++pname: GLenum, ++params: *GLint),
glGetTexLevelParameterfv: extern fn(++target: GLenum, ++level: GLint, ++pname: GLenum, ++params: *GLfloat),
glGetTexLevelParameteriv: extern fn(++target: GLenum, ++level: GLint, ++pname: GLenum, ++params: *GLint),
glIsEnabled: extern fn(++cap: GLenum) -> GLboolean,
glDepthRange: extern fn(++near: GLdouble, ++far: GLdouble),
glViewport: extern fn(++x: GLint, ++y: GLint, ++width: GLsizei, ++height: GLsizei),
// ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment