bbopengl.c 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. #define GLAPI
  2. #include "bbopengl.h"
  3. #include <stdio.h>
  4. void *SDL_GL_GetProcAddress( const char *proc );
  5. int SDL_GL_ExtensionSupported( const char *ext );
  6. int SDL_GL_GetAttribute( int attr,int *value );
  7. #if __EMSCRIPTEN__
  8. void GLAPIENTRY glClearDepthf( GLclampf depth );
  9. void GLAPIENTRY bbglClearDepth( GLclampd depth ){
  10. glClearDepthf( (GLclampf)depth );
  11. }
  12. #else
  13. #define SDL_GL_CONTEXT_PROFILE_MASK 21
  14. #define SDL_GL_CONTEXT_PROFILE_ES 0x0004
  15. void (GLAPIENTRY*bbglClearDepthf)( GLclampf depth );
  16. void GLAPIENTRY bbglClearDepthd( GLclampd depth ){
  17. bbglClearDepthf( (GLclampf)depth );
  18. }
  19. #endif
  20. void bbglInit(){
  21. #if __EMSCRIPTEN__
  22. BBGL_ES=1;
  23. BBGL_draw_buffers=SDL_GL_ExtensionSupported( "GL_WEBGL_draw_buffers" );
  24. #else
  25. bbglAccum=SDL_GL_GetProcAddress("glAccum");
  26. bbglAlphaFunc=SDL_GL_GetProcAddress("glAlphaFunc");
  27. bbglAreTexturesResident=SDL_GL_GetProcAddress("glAreTexturesResident");
  28. bbglArrayElement=SDL_GL_GetProcAddress("glArrayElement");
  29. bbglBegin=SDL_GL_GetProcAddress("glBegin");
  30. bbglBindTexture=SDL_GL_GetProcAddress("glBindTexture");
  31. bbglBitmap=SDL_GL_GetProcAddress("glBitmap");
  32. bbglBlendFunc=SDL_GL_GetProcAddress("glBlendFunc");
  33. bbglCallList=SDL_GL_GetProcAddress("glCallList");
  34. bbglCallLists=SDL_GL_GetProcAddress("glCallLists");
  35. bbglClear=SDL_GL_GetProcAddress("glClear");
  36. bbglClearAccum=SDL_GL_GetProcAddress("glClearAccum");
  37. bbglClearColor=SDL_GL_GetProcAddress("glClearColor");
  38. bbglClearDepth=SDL_GL_GetProcAddress("glClearDepth");
  39. bbglClearIndex=SDL_GL_GetProcAddress("glClearIndex");
  40. bbglClearStencil=SDL_GL_GetProcAddress("glClearStencil");
  41. bbglClipPlane=SDL_GL_GetProcAddress("glClipPlane");
  42. bbglColor3b=SDL_GL_GetProcAddress("glColor3b");
  43. bbglColor3bv=SDL_GL_GetProcAddress("glColor3bv");
  44. bbglColor3d=SDL_GL_GetProcAddress("glColor3d");
  45. bbglColor3dv=SDL_GL_GetProcAddress("glColor3dv");
  46. bbglColor3f=SDL_GL_GetProcAddress("glColor3f");
  47. bbglColor3fv=SDL_GL_GetProcAddress("glColor3fv");
  48. bbglColor3i=SDL_GL_GetProcAddress("glColor3i");
  49. bbglColor3iv=SDL_GL_GetProcAddress("glColor3iv");
  50. bbglColor3s=SDL_GL_GetProcAddress("glColor3s");
  51. bbglColor3sv=SDL_GL_GetProcAddress("glColor3sv");
  52. bbglColor3ub=SDL_GL_GetProcAddress("glColor3ub");
  53. bbglColor3ubv=SDL_GL_GetProcAddress("glColor3ubv");
  54. bbglColor3ui=SDL_GL_GetProcAddress("glColor3ui");
  55. bbglColor3uiv=SDL_GL_GetProcAddress("glColor3uiv");
  56. bbglColor3us=SDL_GL_GetProcAddress("glColor3us");
  57. bbglColor3usv=SDL_GL_GetProcAddress("glColor3usv");
  58. bbglColor4b=SDL_GL_GetProcAddress("glColor4b");
  59. bbglColor4bv=SDL_GL_GetProcAddress("glColor4bv");
  60. bbglColor4d=SDL_GL_GetProcAddress("glColor4d");
  61. bbglColor4dv=SDL_GL_GetProcAddress("glColor4dv");
  62. bbglColor4f=SDL_GL_GetProcAddress("glColor4f");
  63. bbglColor4fv=SDL_GL_GetProcAddress("glColor4fv");
  64. bbglColor4i=SDL_GL_GetProcAddress("glColor4i");
  65. bbglColor4iv=SDL_GL_GetProcAddress("glColor4iv");
  66. bbglColor4s=SDL_GL_GetProcAddress("glColor4s");
  67. bbglColor4sv=SDL_GL_GetProcAddress("glColor4sv");
  68. bbglColor4ub=SDL_GL_GetProcAddress("glColor4ub");
  69. bbglColor4ubv=SDL_GL_GetProcAddress("glColor4ubv");
  70. bbglColor4ui=SDL_GL_GetProcAddress("glColor4ui");
  71. bbglColor4uiv=SDL_GL_GetProcAddress("glColor4uiv");
  72. bbglColor4us=SDL_GL_GetProcAddress("glColor4us");
  73. bbglColor4usv=SDL_GL_GetProcAddress("glColor4usv");
  74. bbglColorMask=SDL_GL_GetProcAddress("glColorMask");
  75. bbglColorMaterial=SDL_GL_GetProcAddress("glColorMaterial");
  76. bbglColorPointer=SDL_GL_GetProcAddress("glColorPointer");
  77. bbglCopyPixels=SDL_GL_GetProcAddress("glCopyPixels");
  78. bbglCopyTexImage1D=SDL_GL_GetProcAddress("glCopyTexImage1D");
  79. bbglCopyTexImage2D=SDL_GL_GetProcAddress("glCopyTexImage2D");
  80. bbglCopyTexSubImage1D=SDL_GL_GetProcAddress("glCopyTexSubImage1D");
  81. bbglCopyTexSubImage2D=SDL_GL_GetProcAddress("glCopyTexSubImage2D");
  82. bbglCullFace=SDL_GL_GetProcAddress("glCullFace");
  83. bbglDeleteLists=SDL_GL_GetProcAddress("glDeleteLists");
  84. bbglDeleteTextures=SDL_GL_GetProcAddress("glDeleteTextures");
  85. bbglDepthFunc=SDL_GL_GetProcAddress("glDepthFunc");
  86. bbglDepthMask=SDL_GL_GetProcAddress("glDepthMask");
  87. bbglDepthRange=SDL_GL_GetProcAddress("glDepthRange");
  88. bbglDisable=SDL_GL_GetProcAddress("glDisable");
  89. bbglDisableClientState=SDL_GL_GetProcAddress("glDisableClientState");
  90. bbglDrawArrays=SDL_GL_GetProcAddress("glDrawArrays");
  91. bbglDrawBuffer=SDL_GL_GetProcAddress("glDrawBuffer");
  92. bbglDrawElements=SDL_GL_GetProcAddress("glDrawElements");
  93. bbglDrawPixels=SDL_GL_GetProcAddress("glDrawPixels");
  94. bbglEdgeFlag=SDL_GL_GetProcAddress("glEdgeFlag");
  95. bbglEdgeFlagPointer=SDL_GL_GetProcAddress("glEdgeFlagPointer");
  96. bbglEdgeFlagv=SDL_GL_GetProcAddress("glEdgeFlagv");
  97. bbglEnable=SDL_GL_GetProcAddress("glEnable");
  98. bbglEnableClientState=SDL_GL_GetProcAddress("glEnableClientState");
  99. bbglEnd=SDL_GL_GetProcAddress("glEnd");
  100. bbglEndList=SDL_GL_GetProcAddress("glEndList");
  101. bbglEvalCoord1d=SDL_GL_GetProcAddress("glEvalCoord1d");
  102. bbglEvalCoord1dv=SDL_GL_GetProcAddress("glEvalCoord1dv");
  103. bbglEvalCoord1f=SDL_GL_GetProcAddress("glEvalCoord1f");
  104. bbglEvalCoord1fv=SDL_GL_GetProcAddress("glEvalCoord1fv");
  105. bbglEvalCoord2d=SDL_GL_GetProcAddress("glEvalCoord2d");
  106. bbglEvalCoord2dv=SDL_GL_GetProcAddress("glEvalCoord2dv");
  107. bbglEvalCoord2f=SDL_GL_GetProcAddress("glEvalCoord2f");
  108. bbglEvalCoord2fv=SDL_GL_GetProcAddress("glEvalCoord2fv");
  109. bbglEvalMesh1=SDL_GL_GetProcAddress("glEvalMesh1");
  110. bbglEvalMesh2=SDL_GL_GetProcAddress("glEvalMesh2");
  111. bbglEvalPoint1=SDL_GL_GetProcAddress("glEvalPoint1");
  112. bbglEvalPoint2=SDL_GL_GetProcAddress("glEvalPoint2");
  113. bbglFeedbackBuffer=SDL_GL_GetProcAddress("glFeedbackBuffer");
  114. bbglFinish=SDL_GL_GetProcAddress("glFinish");
  115. bbglFlush=SDL_GL_GetProcAddress("glFlush");
  116. bbglFogf=SDL_GL_GetProcAddress("glFogf");
  117. bbglFogfv=SDL_GL_GetProcAddress("glFogfv");
  118. bbglFogi=SDL_GL_GetProcAddress("glFogi");
  119. bbglFogiv=SDL_GL_GetProcAddress("glFogiv");
  120. bbglFrontFace=SDL_GL_GetProcAddress("glFrontFace");
  121. bbglFrustum=SDL_GL_GetProcAddress("glFrustum");
  122. bbglGenLists=SDL_GL_GetProcAddress("glGenLists");
  123. bbglGenTextures=SDL_GL_GetProcAddress("glGenTextures");
  124. bbglGetBooleanv=SDL_GL_GetProcAddress("glGetBooleanv");
  125. bbglGetClipPlane=SDL_GL_GetProcAddress("glGetClipPlane");
  126. bbglGetDoublev=SDL_GL_GetProcAddress("glGetDoublev");
  127. bbglGetError=SDL_GL_GetProcAddress("glGetError");
  128. bbglGetFloatv=SDL_GL_GetProcAddress("glGetFloatv");
  129. bbglGetIntegerv=SDL_GL_GetProcAddress("glGetIntegerv");
  130. bbglGetLightfv=SDL_GL_GetProcAddress("glGetLightfv");
  131. bbglGetLightiv=SDL_GL_GetProcAddress("glGetLightiv");
  132. bbglGetMapdv=SDL_GL_GetProcAddress("glGetMapdv");
  133. bbglGetMapfv=SDL_GL_GetProcAddress("glGetMapfv");
  134. bbglGetMapiv=SDL_GL_GetProcAddress("glGetMapiv");
  135. bbglGetMaterialfv=SDL_GL_GetProcAddress("glGetMaterialfv");
  136. bbglGetMaterialiv=SDL_GL_GetProcAddress("glGetMaterialiv");
  137. bbglGetPixelMapfv=SDL_GL_GetProcAddress("glGetPixelMapfv");
  138. bbglGetPixelMapuiv=SDL_GL_GetProcAddress("glGetPixelMapuiv");
  139. bbglGetPixelMapusv=SDL_GL_GetProcAddress("glGetPixelMapusv");
  140. bbglGetPointerv=SDL_GL_GetProcAddress("glGetPointerv");
  141. bbglGetPolygonStipple=SDL_GL_GetProcAddress("glGetPolygonStipple");
  142. bbglGetString=SDL_GL_GetProcAddress("glGetString");
  143. bbglGetTexEnvfv=SDL_GL_GetProcAddress("glGetTexEnvfv");
  144. bbglGetTexEnviv=SDL_GL_GetProcAddress("glGetTexEnviv");
  145. bbglGetTexGendv=SDL_GL_GetProcAddress("glGetTexGendv");
  146. bbglGetTexGenfv=SDL_GL_GetProcAddress("glGetTexGenfv");
  147. bbglGetTexGeniv=SDL_GL_GetProcAddress("glGetTexGeniv");
  148. bbglGetTexImage=SDL_GL_GetProcAddress("glGetTexImage");
  149. bbglGetTexLevelParameterfv=SDL_GL_GetProcAddress("glGetTexLevelParameterfv");
  150. bbglGetTexLevelParameteriv=SDL_GL_GetProcAddress("glGetTexLevelParameteriv");
  151. bbglGetTexParameterfv=SDL_GL_GetProcAddress("glGetTexParameterfv");
  152. bbglGetTexParameteriv=SDL_GL_GetProcAddress("glGetTexParameteriv");
  153. bbglHint=SDL_GL_GetProcAddress("glHint");
  154. bbglIndexMask=SDL_GL_GetProcAddress("glIndexMask");
  155. bbglIndexPointer=SDL_GL_GetProcAddress("glIndexPointer");
  156. bbglIndexd=SDL_GL_GetProcAddress("glIndexd");
  157. bbglIndexdv=SDL_GL_GetProcAddress("glIndexdv");
  158. bbglIndexf=SDL_GL_GetProcAddress("glIndexf");
  159. bbglIndexfv=SDL_GL_GetProcAddress("glIndexfv");
  160. bbglIndexi=SDL_GL_GetProcAddress("glIndexi");
  161. bbglIndexiv=SDL_GL_GetProcAddress("glIndexiv");
  162. bbglIndexs=SDL_GL_GetProcAddress("glIndexs");
  163. bbglIndexsv=SDL_GL_GetProcAddress("glIndexsv");
  164. bbglIndexub=SDL_GL_GetProcAddress("glIndexub");
  165. bbglIndexubv=SDL_GL_GetProcAddress("glIndexubv");
  166. bbglInitNames=SDL_GL_GetProcAddress("glInitNames");
  167. bbglInterleavedArrays=SDL_GL_GetProcAddress("glInterleavedArrays");
  168. bbglIsEnabled=SDL_GL_GetProcAddress("glIsEnabled");
  169. bbglIsList=SDL_GL_GetProcAddress("glIsList");
  170. bbglIsTexture=SDL_GL_GetProcAddress("glIsTexture");
  171. bbglLightModelf=SDL_GL_GetProcAddress("glLightModelf");
  172. bbglLightModelfv=SDL_GL_GetProcAddress("glLightModelfv");
  173. bbglLightModeli=SDL_GL_GetProcAddress("glLightModeli");
  174. bbglLightModeliv=SDL_GL_GetProcAddress("glLightModeliv");
  175. bbglLightf=SDL_GL_GetProcAddress("glLightf");
  176. bbglLightfv=SDL_GL_GetProcAddress("glLightfv");
  177. bbglLighti=SDL_GL_GetProcAddress("glLighti");
  178. bbglLightiv=SDL_GL_GetProcAddress("glLightiv");
  179. bbglLineStipple=SDL_GL_GetProcAddress("glLineStipple");
  180. bbglLineWidth=SDL_GL_GetProcAddress("glLineWidth");
  181. bbglListBase=SDL_GL_GetProcAddress("glListBase");
  182. bbglLoadIdentity=SDL_GL_GetProcAddress("glLoadIdentity");
  183. bbglLoadMatrixd=SDL_GL_GetProcAddress("glLoadMatrixd");
  184. bbglLoadMatrixf=SDL_GL_GetProcAddress("glLoadMatrixf");
  185. bbglLoadName=SDL_GL_GetProcAddress("glLoadName");
  186. bbglLogicOp=SDL_GL_GetProcAddress("glLogicOp");
  187. bbglMap1d=SDL_GL_GetProcAddress("glMap1d");
  188. bbglMap1f=SDL_GL_GetProcAddress("glMap1f");
  189. bbglMap2d=SDL_GL_GetProcAddress("glMap2d");
  190. bbglMap2f=SDL_GL_GetProcAddress("glMap2f");
  191. bbglMapGrid1d=SDL_GL_GetProcAddress("glMapGrid1d");
  192. bbglMapGrid1f=SDL_GL_GetProcAddress("glMapGrid1f");
  193. bbglMapGrid2d=SDL_GL_GetProcAddress("glMapGrid2d");
  194. bbglMapGrid2f=SDL_GL_GetProcAddress("glMapGrid2f");
  195. bbglMaterialf=SDL_GL_GetProcAddress("glMaterialf");
  196. bbglMaterialfv=SDL_GL_GetProcAddress("glMaterialfv");
  197. bbglMateriali=SDL_GL_GetProcAddress("glMateriali");
  198. bbglMaterialiv=SDL_GL_GetProcAddress("glMaterialiv");
  199. bbglMatrixMode=SDL_GL_GetProcAddress("glMatrixMode");
  200. bbglMultMatrixd=SDL_GL_GetProcAddress("glMultMatrixd");
  201. bbglMultMatrixf=SDL_GL_GetProcAddress("glMultMatrixf");
  202. bbglNewList=SDL_GL_GetProcAddress("glNewList");
  203. bbglNormal3b=SDL_GL_GetProcAddress("glNormal3b");
  204. bbglNormal3bv=SDL_GL_GetProcAddress("glNormal3bv");
  205. bbglNormal3d=SDL_GL_GetProcAddress("glNormal3d");
  206. bbglNormal3dv=SDL_GL_GetProcAddress("glNormal3dv");
  207. bbglNormal3f=SDL_GL_GetProcAddress("glNormal3f");
  208. bbglNormal3fv=SDL_GL_GetProcAddress("glNormal3fv");
  209. bbglNormal3i=SDL_GL_GetProcAddress("glNormal3i");
  210. bbglNormal3iv=SDL_GL_GetProcAddress("glNormal3iv");
  211. bbglNormal3s=SDL_GL_GetProcAddress("glNormal3s");
  212. bbglNormal3sv=SDL_GL_GetProcAddress("glNormal3sv");
  213. bbglNormalPointer=SDL_GL_GetProcAddress("glNormalPointer");
  214. bbglOrtho=SDL_GL_GetProcAddress("glOrtho");
  215. bbglPassThrough=SDL_GL_GetProcAddress("glPassThrough");
  216. bbglPixelMapfv=SDL_GL_GetProcAddress("glPixelMapfv");
  217. bbglPixelMapuiv=SDL_GL_GetProcAddress("glPixelMapuiv");
  218. bbglPixelMapusv=SDL_GL_GetProcAddress("glPixelMapusv");
  219. bbglPixelStoref=SDL_GL_GetProcAddress("glPixelStoref");
  220. bbglPixelStorei=SDL_GL_GetProcAddress("glPixelStorei");
  221. bbglPixelTransferf=SDL_GL_GetProcAddress("glPixelTransferf");
  222. bbglPixelTransferi=SDL_GL_GetProcAddress("glPixelTransferi");
  223. bbglPixelZoom=SDL_GL_GetProcAddress("glPixelZoom");
  224. bbglPointSize=SDL_GL_GetProcAddress("glPointSize");
  225. bbglPolygonMode=SDL_GL_GetProcAddress("glPolygonMode");
  226. bbglPolygonOffset=SDL_GL_GetProcAddress("glPolygonOffset");
  227. bbglPolygonStipple=SDL_GL_GetProcAddress("glPolygonStipple");
  228. bbglPopAttrib=SDL_GL_GetProcAddress("glPopAttrib");
  229. bbglPopClientAttrib=SDL_GL_GetProcAddress("glPopClientAttrib");
  230. bbglPopMatrix=SDL_GL_GetProcAddress("glPopMatrix");
  231. bbglPopName=SDL_GL_GetProcAddress("glPopName");
  232. bbglPrioritizeTextures=SDL_GL_GetProcAddress("glPrioritizeTextures");
  233. bbglPushAttrib=SDL_GL_GetProcAddress("glPushAttrib");
  234. bbglPushClientAttrib=SDL_GL_GetProcAddress("glPushClientAttrib");
  235. bbglPushMatrix=SDL_GL_GetProcAddress("glPushMatrix");
  236. bbglPushName=SDL_GL_GetProcAddress("glPushName");
  237. bbglRasterPos2d=SDL_GL_GetProcAddress("glRasterPos2d");
  238. bbglRasterPos2dv=SDL_GL_GetProcAddress("glRasterPos2dv");
  239. bbglRasterPos2f=SDL_GL_GetProcAddress("glRasterPos2f");
  240. bbglRasterPos2fv=SDL_GL_GetProcAddress("glRasterPos2fv");
  241. bbglRasterPos2i=SDL_GL_GetProcAddress("glRasterPos2i");
  242. bbglRasterPos2iv=SDL_GL_GetProcAddress("glRasterPos2iv");
  243. bbglRasterPos2s=SDL_GL_GetProcAddress("glRasterPos2s");
  244. bbglRasterPos2sv=SDL_GL_GetProcAddress("glRasterPos2sv");
  245. bbglRasterPos3d=SDL_GL_GetProcAddress("glRasterPos3d");
  246. bbglRasterPos3dv=SDL_GL_GetProcAddress("glRasterPos3dv");
  247. bbglRasterPos3f=SDL_GL_GetProcAddress("glRasterPos3f");
  248. bbglRasterPos3fv=SDL_GL_GetProcAddress("glRasterPos3fv");
  249. bbglRasterPos3i=SDL_GL_GetProcAddress("glRasterPos3i");
  250. bbglRasterPos3iv=SDL_GL_GetProcAddress("glRasterPos3iv");
  251. bbglRasterPos3s=SDL_GL_GetProcAddress("glRasterPos3s");
  252. bbglRasterPos3sv=SDL_GL_GetProcAddress("glRasterPos3sv");
  253. bbglRasterPos4d=SDL_GL_GetProcAddress("glRasterPos4d");
  254. bbglRasterPos4dv=SDL_GL_GetProcAddress("glRasterPos4dv");
  255. bbglRasterPos4f=SDL_GL_GetProcAddress("glRasterPos4f");
  256. bbglRasterPos4fv=SDL_GL_GetProcAddress("glRasterPos4fv");
  257. bbglRasterPos4i=SDL_GL_GetProcAddress("glRasterPos4i");
  258. bbglRasterPos4iv=SDL_GL_GetProcAddress("glRasterPos4iv");
  259. bbglRasterPos4s=SDL_GL_GetProcAddress("glRasterPos4s");
  260. bbglRasterPos4sv=SDL_GL_GetProcAddress("glRasterPos4sv");
  261. bbglReadBuffer=SDL_GL_GetProcAddress("glReadBuffer");
  262. bbglReadPixels=SDL_GL_GetProcAddress("glReadPixels");
  263. bbglRectd=SDL_GL_GetProcAddress("glRectd");
  264. bbglRectdv=SDL_GL_GetProcAddress("glRectdv");
  265. bbglRectf=SDL_GL_GetProcAddress("glRectf");
  266. bbglRectfv=SDL_GL_GetProcAddress("glRectfv");
  267. bbglRecti=SDL_GL_GetProcAddress("glRecti");
  268. bbglRectiv=SDL_GL_GetProcAddress("glRectiv");
  269. bbglRects=SDL_GL_GetProcAddress("glRects");
  270. bbglRectsv=SDL_GL_GetProcAddress("glRectsv");
  271. bbglRenderMode=SDL_GL_GetProcAddress("glRenderMode");
  272. bbglRotated=SDL_GL_GetProcAddress("glRotated");
  273. bbglRotatef=SDL_GL_GetProcAddress("glRotatef");
  274. bbglScaled=SDL_GL_GetProcAddress("glScaled");
  275. bbglScalef=SDL_GL_GetProcAddress("glScalef");
  276. bbglScissor=SDL_GL_GetProcAddress("glScissor");
  277. bbglSelectBuffer=SDL_GL_GetProcAddress("glSelectBuffer");
  278. bbglShadeModel=SDL_GL_GetProcAddress("glShadeModel");
  279. bbglStencilFunc=SDL_GL_GetProcAddress("glStencilFunc");
  280. bbglStencilMask=SDL_GL_GetProcAddress("glStencilMask");
  281. bbglStencilOp=SDL_GL_GetProcAddress("glStencilOp");
  282. bbglTexCoord1d=SDL_GL_GetProcAddress("glTexCoord1d");
  283. bbglTexCoord1dv=SDL_GL_GetProcAddress("glTexCoord1dv");
  284. bbglTexCoord1f=SDL_GL_GetProcAddress("glTexCoord1f");
  285. bbglTexCoord1fv=SDL_GL_GetProcAddress("glTexCoord1fv");
  286. bbglTexCoord1i=SDL_GL_GetProcAddress("glTexCoord1i");
  287. bbglTexCoord1iv=SDL_GL_GetProcAddress("glTexCoord1iv");
  288. bbglTexCoord1s=SDL_GL_GetProcAddress("glTexCoord1s");
  289. bbglTexCoord1sv=SDL_GL_GetProcAddress("glTexCoord1sv");
  290. bbglTexCoord2d=SDL_GL_GetProcAddress("glTexCoord2d");
  291. bbglTexCoord2dv=SDL_GL_GetProcAddress("glTexCoord2dv");
  292. bbglTexCoord2f=SDL_GL_GetProcAddress("glTexCoord2f");
  293. bbglTexCoord2fv=SDL_GL_GetProcAddress("glTexCoord2fv");
  294. bbglTexCoord2i=SDL_GL_GetProcAddress("glTexCoord2i");
  295. bbglTexCoord2iv=SDL_GL_GetProcAddress("glTexCoord2iv");
  296. bbglTexCoord2s=SDL_GL_GetProcAddress("glTexCoord2s");
  297. bbglTexCoord2sv=SDL_GL_GetProcAddress("glTexCoord2sv");
  298. bbglTexCoord3d=SDL_GL_GetProcAddress("glTexCoord3d");
  299. bbglTexCoord3dv=SDL_GL_GetProcAddress("glTexCoord3dv");
  300. bbglTexCoord3f=SDL_GL_GetProcAddress("glTexCoord3f");
  301. bbglTexCoord3fv=SDL_GL_GetProcAddress("glTexCoord3fv");
  302. bbglTexCoord3i=SDL_GL_GetProcAddress("glTexCoord3i");
  303. bbglTexCoord3iv=SDL_GL_GetProcAddress("glTexCoord3iv");
  304. bbglTexCoord3s=SDL_GL_GetProcAddress("glTexCoord3s");
  305. bbglTexCoord3sv=SDL_GL_GetProcAddress("glTexCoord3sv");
  306. bbglTexCoord4d=SDL_GL_GetProcAddress("glTexCoord4d");
  307. bbglTexCoord4dv=SDL_GL_GetProcAddress("glTexCoord4dv");
  308. bbglTexCoord4f=SDL_GL_GetProcAddress("glTexCoord4f");
  309. bbglTexCoord4fv=SDL_GL_GetProcAddress("glTexCoord4fv");
  310. bbglTexCoord4i=SDL_GL_GetProcAddress("glTexCoord4i");
  311. bbglTexCoord4iv=SDL_GL_GetProcAddress("glTexCoord4iv");
  312. bbglTexCoord4s=SDL_GL_GetProcAddress("glTexCoord4s");
  313. bbglTexCoord4sv=SDL_GL_GetProcAddress("glTexCoord4sv");
  314. bbglTexCoordPointer=SDL_GL_GetProcAddress("glTexCoordPointer");
  315. bbglTexEnvf=SDL_GL_GetProcAddress("glTexEnvf");
  316. bbglTexEnvfv=SDL_GL_GetProcAddress("glTexEnvfv");
  317. bbglTexEnvi=SDL_GL_GetProcAddress("glTexEnvi");
  318. bbglTexEnviv=SDL_GL_GetProcAddress("glTexEnviv");
  319. bbglTexGend=SDL_GL_GetProcAddress("glTexGend");
  320. bbglTexGendv=SDL_GL_GetProcAddress("glTexGendv");
  321. bbglTexGenf=SDL_GL_GetProcAddress("glTexGenf");
  322. bbglTexGenfv=SDL_GL_GetProcAddress("glTexGenfv");
  323. bbglTexGeni=SDL_GL_GetProcAddress("glTexGeni");
  324. bbglTexGeniv=SDL_GL_GetProcAddress("glTexGeniv");
  325. bbglTexImage1D=SDL_GL_GetProcAddress("glTexImage1D");
  326. bbglTexImage2D=SDL_GL_GetProcAddress("glTexImage2D");
  327. bbglTexParameterf=SDL_GL_GetProcAddress("glTexParameterf");
  328. bbglTexParameterfv=SDL_GL_GetProcAddress("glTexParameterfv");
  329. bbglTexParameteri=SDL_GL_GetProcAddress("glTexParameteri");
  330. bbglTexParameteriv=SDL_GL_GetProcAddress("glTexParameteriv");
  331. bbglTexSubImage1D=SDL_GL_GetProcAddress("glTexSubImage1D");
  332. bbglTexSubImage2D=SDL_GL_GetProcAddress("glTexSubImage2D");
  333. bbglTranslated=SDL_GL_GetProcAddress("glTranslated");
  334. bbglTranslatef=SDL_GL_GetProcAddress("glTranslatef");
  335. bbglVertex2d=SDL_GL_GetProcAddress("glVertex2d");
  336. bbglVertex2dv=SDL_GL_GetProcAddress("glVertex2dv");
  337. bbglVertex2f=SDL_GL_GetProcAddress("glVertex2f");
  338. bbglVertex2fv=SDL_GL_GetProcAddress("glVertex2fv");
  339. bbglVertex2i=SDL_GL_GetProcAddress("glVertex2i");
  340. bbglVertex2iv=SDL_GL_GetProcAddress("glVertex2iv");
  341. bbglVertex2s=SDL_GL_GetProcAddress("glVertex2s");
  342. bbglVertex2sv=SDL_GL_GetProcAddress("glVertex2sv");
  343. bbglVertex3d=SDL_GL_GetProcAddress("glVertex3d");
  344. bbglVertex3dv=SDL_GL_GetProcAddress("glVertex3dv");
  345. bbglVertex3f=SDL_GL_GetProcAddress("glVertex3f");
  346. bbglVertex3fv=SDL_GL_GetProcAddress("glVertex3fv");
  347. bbglVertex3i=SDL_GL_GetProcAddress("glVertex3i");
  348. bbglVertex3iv=SDL_GL_GetProcAddress("glVertex3iv");
  349. bbglVertex3s=SDL_GL_GetProcAddress("glVertex3s");
  350. bbglVertex3sv=SDL_GL_GetProcAddress("glVertex3sv");
  351. bbglVertex4d=SDL_GL_GetProcAddress("glVertex4d");
  352. bbglVertex4dv=SDL_GL_GetProcAddress("glVertex4dv");
  353. bbglVertex4f=SDL_GL_GetProcAddress("glVertex4f");
  354. bbglVertex4fv=SDL_GL_GetProcAddress("glVertex4fv");
  355. bbglVertex4i=SDL_GL_GetProcAddress("glVertex4i");
  356. bbglVertex4iv=SDL_GL_GetProcAddress("glVertex4iv");
  357. bbglVertex4s=SDL_GL_GetProcAddress("glVertex4s");
  358. bbglVertex4sv=SDL_GL_GetProcAddress("glVertex4sv");
  359. bbglVertexPointer=SDL_GL_GetProcAddress("glVertexPointer");
  360. bbglViewport=SDL_GL_GetProcAddress("glViewport");
  361. bbglCopyTexSubImage3D=SDL_GL_GetProcAddress("glCopyTexSubImage3D");
  362. bbglDrawRangeElements=SDL_GL_GetProcAddress("glDrawRangeElements");
  363. bbglTexImage3D=SDL_GL_GetProcAddress("glTexImage3D");
  364. bbglTexSubImage3D=SDL_GL_GetProcAddress("glTexSubImage3D");
  365. bbglActiveTexture=SDL_GL_GetProcAddress("glActiveTexture");
  366. bbglClientActiveTexture=SDL_GL_GetProcAddress("glClientActiveTexture");
  367. bbglCompressedTexImage1D=SDL_GL_GetProcAddress("glCompressedTexImage1D");
  368. bbglCompressedTexImage2D=SDL_GL_GetProcAddress("glCompressedTexImage2D");
  369. bbglCompressedTexImage3D=SDL_GL_GetProcAddress("glCompressedTexImage3D");
  370. bbglCompressedTexSubImage1D=SDL_GL_GetProcAddress("glCompressedTexSubImage1D");
  371. bbglCompressedTexSubImage2D=SDL_GL_GetProcAddress("glCompressedTexSubImage2D");
  372. bbglCompressedTexSubImage3D=SDL_GL_GetProcAddress("glCompressedTexSubImage3D");
  373. bbglGetCompressedTexImage=SDL_GL_GetProcAddress("glGetCompressedTexImage");
  374. bbglLoadTransposeMatrixd=SDL_GL_GetProcAddress("glLoadTransposeMatrixd");
  375. bbglLoadTransposeMatrixf=SDL_GL_GetProcAddress("glLoadTransposeMatrixf");
  376. bbglMultTransposeMatrixd=SDL_GL_GetProcAddress("glMultTransposeMatrixd");
  377. bbglMultTransposeMatrixf=SDL_GL_GetProcAddress("glMultTransposeMatrixf");
  378. bbglMultiTexCoord1d=SDL_GL_GetProcAddress("glMultiTexCoord1d");
  379. bbglMultiTexCoord1dv=SDL_GL_GetProcAddress("glMultiTexCoord1dv");
  380. bbglMultiTexCoord1f=SDL_GL_GetProcAddress("glMultiTexCoord1f");
  381. bbglMultiTexCoord1fv=SDL_GL_GetProcAddress("glMultiTexCoord1fv");
  382. bbglMultiTexCoord1i=SDL_GL_GetProcAddress("glMultiTexCoord1i");
  383. bbglMultiTexCoord1iv=SDL_GL_GetProcAddress("glMultiTexCoord1iv");
  384. bbglMultiTexCoord1s=SDL_GL_GetProcAddress("glMultiTexCoord1s");
  385. bbglMultiTexCoord1sv=SDL_GL_GetProcAddress("glMultiTexCoord1sv");
  386. bbglMultiTexCoord2d=SDL_GL_GetProcAddress("glMultiTexCoord2d");
  387. bbglMultiTexCoord2dv=SDL_GL_GetProcAddress("glMultiTexCoord2dv");
  388. bbglMultiTexCoord2f=SDL_GL_GetProcAddress("glMultiTexCoord2f");
  389. bbglMultiTexCoord2fv=SDL_GL_GetProcAddress("glMultiTexCoord2fv");
  390. bbglMultiTexCoord2i=SDL_GL_GetProcAddress("glMultiTexCoord2i");
  391. bbglMultiTexCoord2iv=SDL_GL_GetProcAddress("glMultiTexCoord2iv");
  392. bbglMultiTexCoord2s=SDL_GL_GetProcAddress("glMultiTexCoord2s");
  393. bbglMultiTexCoord2sv=SDL_GL_GetProcAddress("glMultiTexCoord2sv");
  394. bbglMultiTexCoord3d=SDL_GL_GetProcAddress("glMultiTexCoord3d");
  395. bbglMultiTexCoord3dv=SDL_GL_GetProcAddress("glMultiTexCoord3dv");
  396. bbglMultiTexCoord3f=SDL_GL_GetProcAddress("glMultiTexCoord3f");
  397. bbglMultiTexCoord3fv=SDL_GL_GetProcAddress("glMultiTexCoord3fv");
  398. bbglMultiTexCoord3i=SDL_GL_GetProcAddress("glMultiTexCoord3i");
  399. bbglMultiTexCoord3iv=SDL_GL_GetProcAddress("glMultiTexCoord3iv");
  400. bbglMultiTexCoord3s=SDL_GL_GetProcAddress("glMultiTexCoord3s");
  401. bbglMultiTexCoord3sv=SDL_GL_GetProcAddress("glMultiTexCoord3sv");
  402. bbglMultiTexCoord4d=SDL_GL_GetProcAddress("glMultiTexCoord4d");
  403. bbglMultiTexCoord4dv=SDL_GL_GetProcAddress("glMultiTexCoord4dv");
  404. bbglMultiTexCoord4f=SDL_GL_GetProcAddress("glMultiTexCoord4f");
  405. bbglMultiTexCoord4fv=SDL_GL_GetProcAddress("glMultiTexCoord4fv");
  406. bbglMultiTexCoord4i=SDL_GL_GetProcAddress("glMultiTexCoord4i");
  407. bbglMultiTexCoord4iv=SDL_GL_GetProcAddress("glMultiTexCoord4iv");
  408. bbglMultiTexCoord4s=SDL_GL_GetProcAddress("glMultiTexCoord4s");
  409. bbglMultiTexCoord4sv=SDL_GL_GetProcAddress("glMultiTexCoord4sv");
  410. bbglSampleCoverage=SDL_GL_GetProcAddress("glSampleCoverage");
  411. bbglBlendColor=SDL_GL_GetProcAddress("glBlendColor");
  412. bbglBlendEquation=SDL_GL_GetProcAddress("glBlendEquation");
  413. bbglBlendFuncSeparate=SDL_GL_GetProcAddress("glBlendFuncSeparate");
  414. bbglFogCoordPointer=SDL_GL_GetProcAddress("glFogCoordPointer");
  415. bbglFogCoordd=SDL_GL_GetProcAddress("glFogCoordd");
  416. bbglFogCoorddv=SDL_GL_GetProcAddress("glFogCoorddv");
  417. bbglFogCoordf=SDL_GL_GetProcAddress("glFogCoordf");
  418. bbglFogCoordfv=SDL_GL_GetProcAddress("glFogCoordfv");
  419. bbglMultiDrawArrays=SDL_GL_GetProcAddress("glMultiDrawArrays");
  420. bbglMultiDrawElements=SDL_GL_GetProcAddress("glMultiDrawElements");
  421. bbglPointParameterf=SDL_GL_GetProcAddress("glPointParameterf");
  422. bbglPointParameterfv=SDL_GL_GetProcAddress("glPointParameterfv");
  423. bbglPointParameteri=SDL_GL_GetProcAddress("glPointParameteri");
  424. bbglPointParameteriv=SDL_GL_GetProcAddress("glPointParameteriv");
  425. bbglSecondaryColor3b=SDL_GL_GetProcAddress("glSecondaryColor3b");
  426. bbglSecondaryColor3bv=SDL_GL_GetProcAddress("glSecondaryColor3bv");
  427. bbglSecondaryColor3d=SDL_GL_GetProcAddress("glSecondaryColor3d");
  428. bbglSecondaryColor3dv=SDL_GL_GetProcAddress("glSecondaryColor3dv");
  429. bbglSecondaryColor3f=SDL_GL_GetProcAddress("glSecondaryColor3f");
  430. bbglSecondaryColor3fv=SDL_GL_GetProcAddress("glSecondaryColor3fv");
  431. bbglSecondaryColor3i=SDL_GL_GetProcAddress("glSecondaryColor3i");
  432. bbglSecondaryColor3iv=SDL_GL_GetProcAddress("glSecondaryColor3iv");
  433. bbglSecondaryColor3s=SDL_GL_GetProcAddress("glSecondaryColor3s");
  434. bbglSecondaryColor3sv=SDL_GL_GetProcAddress("glSecondaryColor3sv");
  435. bbglSecondaryColor3ub=SDL_GL_GetProcAddress("glSecondaryColor3ub");
  436. bbglSecondaryColor3ubv=SDL_GL_GetProcAddress("glSecondaryColor3ubv");
  437. bbglSecondaryColor3ui=SDL_GL_GetProcAddress("glSecondaryColor3ui");
  438. bbglSecondaryColor3uiv=SDL_GL_GetProcAddress("glSecondaryColor3uiv");
  439. bbglSecondaryColor3us=SDL_GL_GetProcAddress("glSecondaryColor3us");
  440. bbglSecondaryColor3usv=SDL_GL_GetProcAddress("glSecondaryColor3usv");
  441. bbglSecondaryColorPointer=SDL_GL_GetProcAddress("glSecondaryColorPointer");
  442. bbglWindowPos2d=SDL_GL_GetProcAddress("glWindowPos2d");
  443. bbglWindowPos2dv=SDL_GL_GetProcAddress("glWindowPos2dv");
  444. bbglWindowPos2f=SDL_GL_GetProcAddress("glWindowPos2f");
  445. bbglWindowPos2fv=SDL_GL_GetProcAddress("glWindowPos2fv");
  446. bbglWindowPos2i=SDL_GL_GetProcAddress("glWindowPos2i");
  447. bbglWindowPos2iv=SDL_GL_GetProcAddress("glWindowPos2iv");
  448. bbglWindowPos2s=SDL_GL_GetProcAddress("glWindowPos2s");
  449. bbglWindowPos2sv=SDL_GL_GetProcAddress("glWindowPos2sv");
  450. bbglWindowPos3d=SDL_GL_GetProcAddress("glWindowPos3d");
  451. bbglWindowPos3dv=SDL_GL_GetProcAddress("glWindowPos3dv");
  452. bbglWindowPos3f=SDL_GL_GetProcAddress("glWindowPos3f");
  453. bbglWindowPos3fv=SDL_GL_GetProcAddress("glWindowPos3fv");
  454. bbglWindowPos3i=SDL_GL_GetProcAddress("glWindowPos3i");
  455. bbglWindowPos3iv=SDL_GL_GetProcAddress("glWindowPos3iv");
  456. bbglWindowPos3s=SDL_GL_GetProcAddress("glWindowPos3s");
  457. bbglWindowPos3sv=SDL_GL_GetProcAddress("glWindowPos3sv");
  458. bbglBeginQuery=SDL_GL_GetProcAddress("glBeginQuery");
  459. bbglBindBuffer=SDL_GL_GetProcAddress("glBindBuffer");
  460. bbglBufferData=SDL_GL_GetProcAddress("glBufferData");
  461. bbglBufferSubData=SDL_GL_GetProcAddress("glBufferSubData");
  462. bbglDeleteBuffers=SDL_GL_GetProcAddress("glDeleteBuffers");
  463. bbglDeleteQueries=SDL_GL_GetProcAddress("glDeleteQueries");
  464. bbglEndQuery=SDL_GL_GetProcAddress("glEndQuery");
  465. bbglGenBuffers=SDL_GL_GetProcAddress("glGenBuffers");
  466. bbglGenQueries=SDL_GL_GetProcAddress("glGenQueries");
  467. bbglGetBufferParameteriv=SDL_GL_GetProcAddress("glGetBufferParameteriv");
  468. bbglGetBufferPointerv=SDL_GL_GetProcAddress("glGetBufferPointerv");
  469. bbglGetBufferSubData=SDL_GL_GetProcAddress("glGetBufferSubData");
  470. bbglGetQueryObjectiv=SDL_GL_GetProcAddress("glGetQueryObjectiv");
  471. bbglGetQueryObjectuiv=SDL_GL_GetProcAddress("glGetQueryObjectuiv");
  472. bbglGetQueryiv=SDL_GL_GetProcAddress("glGetQueryiv");
  473. bbglIsBuffer=SDL_GL_GetProcAddress("glIsBuffer");
  474. bbglIsQuery=SDL_GL_GetProcAddress("glIsQuery");
  475. bbglMapBuffer=SDL_GL_GetProcAddress("glMapBuffer");
  476. bbglUnmapBuffer=SDL_GL_GetProcAddress("glUnmapBuffer");
  477. bbglAttachShader=SDL_GL_GetProcAddress("glAttachShader");
  478. bbglBindAttribLocation=SDL_GL_GetProcAddress("glBindAttribLocation");
  479. bbglBlendEquationSeparate=SDL_GL_GetProcAddress("glBlendEquationSeparate");
  480. bbglCompileShader=SDL_GL_GetProcAddress("glCompileShader");
  481. bbglCreateProgram=SDL_GL_GetProcAddress("glCreateProgram");
  482. bbglCreateShader=SDL_GL_GetProcAddress("glCreateShader");
  483. bbglDeleteProgram=SDL_GL_GetProcAddress("glDeleteProgram");
  484. bbglDeleteShader=SDL_GL_GetProcAddress("glDeleteShader");
  485. bbglDetachShader=SDL_GL_GetProcAddress("glDetachShader");
  486. bbglDisableVertexAttribArray=SDL_GL_GetProcAddress("glDisableVertexAttribArray");
  487. bbglDrawBuffers=SDL_GL_GetProcAddress("glDrawBuffers");
  488. bbglEnableVertexAttribArray=SDL_GL_GetProcAddress("glEnableVertexAttribArray");
  489. bbglGetActiveAttrib=SDL_GL_GetProcAddress("glGetActiveAttrib");
  490. bbglGetActiveUniform=SDL_GL_GetProcAddress("glGetActiveUniform");
  491. bbglGetAttachedShaders=SDL_GL_GetProcAddress("glGetAttachedShaders");
  492. bbglGetAttribLocation=SDL_GL_GetProcAddress("glGetAttribLocation");
  493. bbglGetProgramInfoLog=SDL_GL_GetProcAddress("glGetProgramInfoLog");
  494. bbglGetProgramiv=SDL_GL_GetProcAddress("glGetProgramiv");
  495. bbglGetShaderInfoLog=SDL_GL_GetProcAddress("glGetShaderInfoLog");
  496. bbglGetShaderSource=SDL_GL_GetProcAddress("glGetShaderSource");
  497. bbglGetShaderiv=SDL_GL_GetProcAddress("glGetShaderiv");
  498. bbglGetUniformLocation=SDL_GL_GetProcAddress("glGetUniformLocation");
  499. bbglGetUniformfv=SDL_GL_GetProcAddress("glGetUniformfv");
  500. bbglGetUniformiv=SDL_GL_GetProcAddress("glGetUniformiv");
  501. bbglGetVertexAttribPointerv=SDL_GL_GetProcAddress("glGetVertexAttribPointerv");
  502. bbglGetVertexAttribdv=SDL_GL_GetProcAddress("glGetVertexAttribdv");
  503. bbglGetVertexAttribfv=SDL_GL_GetProcAddress("glGetVertexAttribfv");
  504. bbglGetVertexAttribiv=SDL_GL_GetProcAddress("glGetVertexAttribiv");
  505. bbglIsProgram=SDL_GL_GetProcAddress("glIsProgram");
  506. bbglIsShader=SDL_GL_GetProcAddress("glIsShader");
  507. bbglLinkProgram=SDL_GL_GetProcAddress("glLinkProgram");
  508. bbglShaderSource=SDL_GL_GetProcAddress("glShaderSource");
  509. bbglStencilFuncSeparate=SDL_GL_GetProcAddress("glStencilFuncSeparate");
  510. bbglStencilMaskSeparate=SDL_GL_GetProcAddress("glStencilMaskSeparate");
  511. bbglStencilOpSeparate=SDL_GL_GetProcAddress("glStencilOpSeparate");
  512. bbglUniform1f=SDL_GL_GetProcAddress("glUniform1f");
  513. bbglUniform1fv=SDL_GL_GetProcAddress("glUniform1fv");
  514. bbglUniform1i=SDL_GL_GetProcAddress("glUniform1i");
  515. bbglUniform1iv=SDL_GL_GetProcAddress("glUniform1iv");
  516. bbglUniform2f=SDL_GL_GetProcAddress("glUniform2f");
  517. bbglUniform2fv=SDL_GL_GetProcAddress("glUniform2fv");
  518. bbglUniform2i=SDL_GL_GetProcAddress("glUniform2i");
  519. bbglUniform2iv=SDL_GL_GetProcAddress("glUniform2iv");
  520. bbglUniform3f=SDL_GL_GetProcAddress("glUniform3f");
  521. bbglUniform3fv=SDL_GL_GetProcAddress("glUniform3fv");
  522. bbglUniform3i=SDL_GL_GetProcAddress("glUniform3i");
  523. bbglUniform3iv=SDL_GL_GetProcAddress("glUniform3iv");
  524. bbglUniform4f=SDL_GL_GetProcAddress("glUniform4f");
  525. bbglUniform4fv=SDL_GL_GetProcAddress("glUniform4fv");
  526. bbglUniform4i=SDL_GL_GetProcAddress("glUniform4i");
  527. bbglUniform4iv=SDL_GL_GetProcAddress("glUniform4iv");
  528. bbglUniformMatrix2fv=SDL_GL_GetProcAddress("glUniformMatrix2fv");
  529. bbglUniformMatrix3fv=SDL_GL_GetProcAddress("glUniformMatrix3fv");
  530. bbglUniformMatrix4fv=SDL_GL_GetProcAddress("glUniformMatrix4fv");
  531. bbglUseProgram=SDL_GL_GetProcAddress("glUseProgram");
  532. bbglValidateProgram=SDL_GL_GetProcAddress("glValidateProgram");
  533. bbglVertexAttrib1d=SDL_GL_GetProcAddress("glVertexAttrib1d");
  534. bbglVertexAttrib1dv=SDL_GL_GetProcAddress("glVertexAttrib1dv");
  535. bbglVertexAttrib1f=SDL_GL_GetProcAddress("glVertexAttrib1f");
  536. bbglVertexAttrib1fv=SDL_GL_GetProcAddress("glVertexAttrib1fv");
  537. bbglVertexAttrib1s=SDL_GL_GetProcAddress("glVertexAttrib1s");
  538. bbglVertexAttrib1sv=SDL_GL_GetProcAddress("glVertexAttrib1sv");
  539. bbglVertexAttrib2d=SDL_GL_GetProcAddress("glVertexAttrib2d");
  540. bbglVertexAttrib2dv=SDL_GL_GetProcAddress("glVertexAttrib2dv");
  541. bbglVertexAttrib2f=SDL_GL_GetProcAddress("glVertexAttrib2f");
  542. bbglVertexAttrib2fv=SDL_GL_GetProcAddress("glVertexAttrib2fv");
  543. bbglVertexAttrib2s=SDL_GL_GetProcAddress("glVertexAttrib2s");
  544. bbglVertexAttrib2sv=SDL_GL_GetProcAddress("glVertexAttrib2sv");
  545. bbglVertexAttrib3d=SDL_GL_GetProcAddress("glVertexAttrib3d");
  546. bbglVertexAttrib3dv=SDL_GL_GetProcAddress("glVertexAttrib3dv");
  547. bbglVertexAttrib3f=SDL_GL_GetProcAddress("glVertexAttrib3f");
  548. bbglVertexAttrib3fv=SDL_GL_GetProcAddress("glVertexAttrib3fv");
  549. bbglVertexAttrib3s=SDL_GL_GetProcAddress("glVertexAttrib3s");
  550. bbglVertexAttrib3sv=SDL_GL_GetProcAddress("glVertexAttrib3sv");
  551. bbglVertexAttrib4Nbv=SDL_GL_GetProcAddress("glVertexAttrib4Nbv");
  552. bbglVertexAttrib4Niv=SDL_GL_GetProcAddress("glVertexAttrib4Niv");
  553. bbglVertexAttrib4Nsv=SDL_GL_GetProcAddress("glVertexAttrib4Nsv");
  554. bbglVertexAttrib4Nub=SDL_GL_GetProcAddress("glVertexAttrib4Nub");
  555. bbglVertexAttrib4Nubv=SDL_GL_GetProcAddress("glVertexAttrib4Nubv");
  556. bbglVertexAttrib4Nuiv=SDL_GL_GetProcAddress("glVertexAttrib4Nuiv");
  557. bbglVertexAttrib4Nusv=SDL_GL_GetProcAddress("glVertexAttrib4Nusv");
  558. bbglVertexAttrib4bv=SDL_GL_GetProcAddress("glVertexAttrib4bv");
  559. bbglVertexAttrib4d=SDL_GL_GetProcAddress("glVertexAttrib4d");
  560. bbglVertexAttrib4dv=SDL_GL_GetProcAddress("glVertexAttrib4dv");
  561. bbglVertexAttrib4f=SDL_GL_GetProcAddress("glVertexAttrib4f");
  562. bbglVertexAttrib4fv=SDL_GL_GetProcAddress("glVertexAttrib4fv");
  563. bbglVertexAttrib4iv=SDL_GL_GetProcAddress("glVertexAttrib4iv");
  564. bbglVertexAttrib4s=SDL_GL_GetProcAddress("glVertexAttrib4s");
  565. bbglVertexAttrib4sv=SDL_GL_GetProcAddress("glVertexAttrib4sv");
  566. bbglVertexAttrib4ubv=SDL_GL_GetProcAddress("glVertexAttrib4ubv");
  567. bbglVertexAttrib4uiv=SDL_GL_GetProcAddress("glVertexAttrib4uiv");
  568. bbglVertexAttrib4usv=SDL_GL_GetProcAddress("glVertexAttrib4usv");
  569. bbglVertexAttribPointer=SDL_GL_GetProcAddress("glVertexAttribPointer");
  570. bbglUniformMatrix2x3fv=SDL_GL_GetProcAddress("glUniformMatrix2x3fv");
  571. bbglUniformMatrix2x4fv=SDL_GL_GetProcAddress("glUniformMatrix2x4fv");
  572. bbglUniformMatrix3x2fv=SDL_GL_GetProcAddress("glUniformMatrix3x2fv");
  573. bbglUniformMatrix3x4fv=SDL_GL_GetProcAddress("glUniformMatrix3x4fv");
  574. bbglUniformMatrix4x2fv=SDL_GL_GetProcAddress("glUniformMatrix4x2fv");
  575. bbglUniformMatrix4x3fv=SDL_GL_GetProcAddress("glUniformMatrix4x3fv");
  576. bbglBindFramebuffer=SDL_GL_GetProcAddress("glBindFramebuffer");
  577. bbglBindRenderbuffer=SDL_GL_GetProcAddress("glBindRenderbuffer");
  578. bbglBlitFramebuffer=SDL_GL_GetProcAddress("glBlitFramebuffer");
  579. bbglCheckFramebufferStatus=SDL_GL_GetProcAddress("glCheckFramebufferStatus");
  580. bbglDeleteFramebuffers=SDL_GL_GetProcAddress("glDeleteFramebuffers");
  581. bbglDeleteRenderbuffers=SDL_GL_GetProcAddress("glDeleteRenderbuffers");
  582. bbglFramebufferRenderbuffer=SDL_GL_GetProcAddress("glFramebufferRenderbuffer");
  583. bbglFramebufferTexture1D=SDL_GL_GetProcAddress("glFramebufferTexture1D");
  584. bbglFramebufferTexture2D=SDL_GL_GetProcAddress("glFramebufferTexture2D");
  585. bbglFramebufferTexture3D=SDL_GL_GetProcAddress("glFramebufferTexture3D");
  586. bbglFramebufferTextureLayer=SDL_GL_GetProcAddress("glFramebufferTextureLayer");
  587. bbglGenFramebuffers=SDL_GL_GetProcAddress("glGenFramebuffers");
  588. bbglGenRenderbuffers=SDL_GL_GetProcAddress("glGenRenderbuffers");
  589. bbglGenerateMipmap=SDL_GL_GetProcAddress("glGenerateMipmap");
  590. bbglGetFramebufferAttachmentParameteriv=SDL_GL_GetProcAddress("glGetFramebufferAttachmentParameteriv");
  591. bbglGetRenderbufferParameteriv=SDL_GL_GetProcAddress("glGetRenderbufferParameteriv");
  592. bbglIsFramebuffer=SDL_GL_GetProcAddress("glIsFramebuffer");
  593. bbglIsRenderbuffer=SDL_GL_GetProcAddress("glIsRenderbuffer");
  594. bbglRenderbufferStorage=SDL_GL_GetProcAddress("glRenderbufferStorage");
  595. bbglRenderbufferStorageMultisample=SDL_GL_GetProcAddress("glRenderbufferStorageMultisample");
  596. int profile=0;
  597. SDL_GL_GetAttribute( SDL_GL_CONTEXT_PROFILE_MASK,&profile );
  598. BBGL_ES=( profile==SDL_GL_CONTEXT_PROFILE_ES );
  599. if( BBGL_ES ){
  600. bbglClearDepthf=SDL_GL_GetProcAddress( "glClearDepthf" );
  601. bbglClearDepth=bbglClearDepthd;
  602. if( BBGL_draw_buffers=SDL_GL_ExtensionSupported( "GL_EXT_draw_buffers" ) ){ //For MRTSs
  603. bbglDrawBuffers=SDL_GL_GetProcAddress( "glDrawBuffersEXT" );
  604. }else if( BBGL_draw_buffers=SDL_GL_ExtensionSupported( "GL_NV_draw_buffers" ) ){ //For MRTs on nvidia shield!
  605. bbglDrawBuffers=SDL_GL_GetProcAddress( "glDrawBuffersNV" );
  606. }
  607. }else if( bbglDrawBuffers ){
  608. BBGL_draw_buffers=1;
  609. }
  610. #endif
  611. BBGL_depth_texture=SDL_GL_ExtensionSupported( "GL_EXT_depth_texture" ) ||
  612. SDL_GL_ExtensionSupported( "GL_ANGLE_depth_texture" ) ||
  613. SDL_GL_ExtensionSupported( "GL_WEBGL_depth_texture" ) ||
  614. SDL_GL_ExtensionSupported( "GL_OES_depth_texture" );
  615. BBGL_seamless_cube_map=SDL_GL_ExtensionSupported( "GL_ARB_seamless_cube_map" );
  616. BBGL_texture_filter_anisotropic=SDL_GL_ExtensionSupported( "GL_ARB_texture_filter_anisotropic" ) ||
  617. SDL_GL_ExtensionSupported( "GL_EXT_texture_filter_anisotropic" );
  618. BBGL_standard_derivatives=!BBGL_ES || SDL_GL_ExtensionSupported( "GL_OES_standard_derivatives" );
  619. }