Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

72 rader
1.7 KiB

  1. //
  2. // Lol Engine
  3. //
  4. // Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net>
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the Do What The Fuck You Want To
  7. // Public License, Version 2, as published by Sam Hocevar. See
  8. // http://sam.zoy.org/projects/COPYING.WTFPL for more details.
  9. //
  10. //
  11. // The GL support
  12. // --------------
  13. //
  14. #if !defined __DH_LOLGL_H__
  15. #define __DH_LOLGL_H__
  16. #define GL_GLEXT_PROTOTYPES
  17. /* Defines for exotic platforms (until they get their config.h) */
  18. #ifdef ANDROID_NDK
  19. # define HAVE_GLES_1X
  20. #endif
  21. /* Only define one GL platform */
  22. #if defined HAVE_GL_1X
  23. # undef HAVE_GLES_1X
  24. #endif
  25. #if defined HAVE_GLES_2X
  26. # undef HAVE_GL_1X
  27. # undef HAVE_GLES_1X
  28. #endif
  29. #if defined HAVE_GL_2X
  30. # undef HAVE_GL_1X
  31. # undef HAVE_GLES_1X
  32. # undef HAVE_GLES_2X
  33. #endif
  34. /* Include GL */
  35. #if defined HAVE_GL_1X || defined HAVE_GL_2X
  36. # if defined __APPLE__ && defined __MACH__
  37. # include <OpenGL/gl.h>
  38. # else
  39. # define GL_GLEXT_PROTOTYPES
  40. # include <GL/gl.h>
  41. # endif
  42. #elif defined HAVE_GLES_1X
  43. # include <GLES/gl.h>
  44. # include <GLES/glext.h>
  45. #elif defined HAVE_GLES_2X
  46. # include <GLES2/gl2.h>
  47. # include <GLES2/gl2ext.h>
  48. #endif
  49. /* Redefine some function names */
  50. #if defined HAVE_GL_1X
  51. # define glClearDepthf glClearDepth
  52. #elif defined HAVE_GL_2X
  53. # define glClearDepthf glClearDepth
  54. #elif defined HAVE_GLES_1X
  55. # define glGenVertexArrays glGenVertexArraysOES
  56. # define glDeleteVertexArrays glDeleteVertexArraysOES
  57. #elif defined HAVE_GLES_2X
  58. # define glGenVertexArrays glGenVertexArraysOES
  59. # define glDeleteVertexArrays glDeleteVertexArraysOES
  60. # define glBindVertexArray glBindVertexArrayOES
  61. #endif
  62. #endif // __DH_LOLGL_H__