opengl.odin 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #foreign_system_library "opengl32"
  2. GL_ZERO :: 0x0000
  3. GL_ONE :: 0x0001
  4. GL_TRIANGLES :: 0x0004
  5. GL_BLEND :: 0x0be2
  6. GL_SRC_ALPHA :: 0x0302
  7. GL_ONE_MINUS_SRC_ALPHA :: 0x0303
  8. GL_TEXTURE_2D :: 0x0de1
  9. GL_RGBA8 :: 0x8058
  10. GL_UNSIGNED_BYTE :: 0x1401
  11. GL_BGRA_EXT :: 0x80e1
  12. GL_TEXTURE_MAX_LEVEL :: 0x813d
  13. GL_RGBA :: 0x1908
  14. GL_NEAREST :: 0x2600
  15. GL_LINEAR :: 0x2601
  16. GL_DEPTH_BUFFER_BIT :: 0x00000100
  17. GL_STENCIL_BUFFER_BIT :: 0x00000400
  18. GL_COLOR_BUFFER_BIT :: 0x00004000
  19. GL_TEXTURE_MAX_ANISOTROPY_EXT :: 0x84fe
  20. GL_TEXTURE_MAG_FILTER :: 0x2800
  21. GL_TEXTURE_MIN_FILTER :: 0x2801
  22. GL_TEXTURE_WRAP_S :: 0x2802
  23. GL_TEXTURE_WRAP_T :: 0x2803
  24. glClear :: proc(mask: u32) #foreign
  25. glClearColor :: proc(r, g, b, a: f32) #foreign
  26. glBegin :: proc(mode: i32) #foreign
  27. glEnd :: proc() #foreign
  28. glColor3f :: proc(r, g, b: f32) #foreign
  29. glColor4f :: proc(r, g, b, a: f32) #foreign
  30. glVertex2f :: proc(x, y: f32) #foreign
  31. glVertex3f :: proc(x, y, z: f32) #foreign
  32. glTexCoord2f :: proc(u, v: f32) #foreign
  33. glLoadIdentity :: proc() #foreign
  34. glOrtho :: proc(left, right, bottom, top, near, far: f64) #foreign
  35. glBlendFunc :: proc(sfactor, dfactor: i32) #foreign
  36. glEnable :: proc(cap: i32) #foreign
  37. glDisable :: proc(cap: i32) #foreign
  38. glGenTextures :: proc(count: i32, result: ^u32) #foreign
  39. glTexParameteri :: proc(target, pname, param: i32) #foreign
  40. glTexParameterf :: proc(target: i32, pname: i32, param: f32) #foreign
  41. glBindTexture :: proc(target: i32, texture: u32) #foreign
  42. glTexImage2D :: proc(target, level, internal_format, width, height, border, format, _type: i32, pixels: rawptr) #foreign