qopenglfunctions_3_1.h 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601
  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
  4. ** Copyright (C) 2016 The Qt Company Ltd.
  5. ** Contact: https://www.qt.io/licensing/
  6. **
  7. ** This file is part of the QtGui module of the Qt Toolkit.
  8. **
  9. ** $QT_BEGIN_LICENSE:LGPL$
  10. ** Commercial License Usage
  11. ** Licensees holding valid commercial Qt licenses may use this file in
  12. ** accordance with the commercial license agreement provided with the
  13. ** Software or, alternatively, in accordance with the terms contained in
  14. ** a written agreement between you and The Qt Company. For licensing terms
  15. ** and conditions see https://www.qt.io/terms-conditions. For further
  16. ** information use the contact form at https://www.qt.io/contact-us.
  17. **
  18. ** GNU Lesser General Public License Usage
  19. ** Alternatively, this file may be used under the terms of the GNU Lesser
  20. ** General Public License version 3 as published by the Free Software
  21. ** Foundation and appearing in the file LICENSE.LGPL3 included in the
  22. ** packaging of this file. Please review the following information to
  23. ** ensure the GNU Lesser General Public License version 3 requirements
  24. ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
  25. **
  26. ** GNU General Public License Usage
  27. ** Alternatively, this file may be used under the terms of the GNU
  28. ** General Public License version 2.0 or (at your option) the GNU General
  29. ** Public license version 3 or any later version approved by the KDE Free
  30. ** Qt Foundation. The licenses are as published by the Free Software
  31. ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
  32. ** included in the packaging of this file. Please review the following
  33. ** information to ensure the GNU General Public License requirements will
  34. ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
  35. ** https://www.gnu.org/licenses/gpl-3.0.html.
  36. **
  37. ** $QT_END_LICENSE$
  38. **
  39. **
  40. ** This file was generated by glgen version 0.1
  41. ** Command line was: glgen
  42. **
  43. ** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
  44. **
  45. ** This is an auto-generated file.
  46. ** Do not edit! All changes made to it will be lost.
  47. **
  48. ****************************************************************************/
  49. #ifndef QOPENGLVERSIONFUNCTIONS_3_1_H
  50. #define QOPENGLVERSIONFUNCTIONS_3_1_H
  51. #include <QtCore/qglobal.h>
  52. #if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_2)
  53. #include <QtGui/QOpenGLVersionFunctions>
  54. #include <QtGui/qopenglcontext.h>
  55. QT_BEGIN_NAMESPACE
  56. class Q_GUI_EXPORT QOpenGLFunctions_3_1 : public QAbstractOpenGLFunctions
  57. {
  58. public:
  59. QOpenGLFunctions_3_1();
  60. ~QOpenGLFunctions_3_1();
  61. bool initializeOpenGLFunctions() Q_DECL_OVERRIDE;
  62. // OpenGL 1.0 core functions
  63. void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
  64. void glDepthRange(GLdouble nearVal, GLdouble farVal);
  65. GLboolean glIsEnabled(GLenum cap);
  66. void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
  67. void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
  68. void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
  69. void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
  70. void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
  71. const GLubyte * glGetString(GLenum name);
  72. void glGetIntegerv(GLenum pname, GLint *params);
  73. void glGetFloatv(GLenum pname, GLfloat *params);
  74. GLenum glGetError();
  75. void glGetDoublev(GLenum pname, GLdouble *params);
  76. void glGetBooleanv(GLenum pname, GLboolean *params);
  77. void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
  78. void glReadBuffer(GLenum mode);
  79. void glPixelStorei(GLenum pname, GLint param);
  80. void glPixelStoref(GLenum pname, GLfloat param);
  81. void glDepthFunc(GLenum func);
  82. void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
  83. void glStencilFunc(GLenum func, GLint ref, GLuint mask);
  84. void glLogicOp(GLenum opcode);
  85. void glBlendFunc(GLenum sfactor, GLenum dfactor);
  86. void glFlush();
  87. void glFinish();
  88. void glEnable(GLenum cap);
  89. void glDisable(GLenum cap);
  90. void glDepthMask(GLboolean flag);
  91. void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  92. void glStencilMask(GLuint mask);
  93. void glClearDepth(GLdouble depth);
  94. void glClearStencil(GLint s);
  95. void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  96. void glClear(GLbitfield mask);
  97. void glDrawBuffer(GLenum mode);
  98. void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  99. void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  100. void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
  101. void glTexParameteri(GLenum target, GLenum pname, GLint param);
  102. void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
  103. void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
  104. void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
  105. void glPolygonMode(GLenum face, GLenum mode);
  106. void glPointSize(GLfloat size);
  107. void glLineWidth(GLfloat width);
  108. void glHint(GLenum target, GLenum mode);
  109. void glFrontFace(GLenum mode);
  110. void glCullFace(GLenum mode);
  111. // OpenGL 1.1 core functions
  112. void glIndexubv(const GLubyte *c);
  113. void glIndexub(GLubyte c);
  114. GLboolean glIsTexture(GLuint texture);
  115. void glGenTextures(GLsizei n, GLuint *textures);
  116. void glDeleteTextures(GLsizei n, const GLuint *textures);
  117. void glBindTexture(GLenum target, GLuint texture);
  118. void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
  119. void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
  120. void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  121. void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  122. void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  123. void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  124. void glPolygonOffset(GLfloat factor, GLfloat units);
  125. void glGetPointerv(GLenum pname, GLvoid* *params);
  126. void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
  127. void glDrawArrays(GLenum mode, GLint first, GLsizei count);
  128. // OpenGL 1.2 core functions
  129. void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  130. void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
  131. void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
  132. void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  133. void glBlendEquation(GLenum mode);
  134. void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  135. // OpenGL 1.3 core functions
  136. void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
  137. void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
  138. void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
  139. void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
  140. void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
  141. void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
  142. void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
  143. void glSampleCoverage(GLfloat value, GLboolean invert);
  144. void glActiveTexture(GLenum texture);
  145. // OpenGL 1.4 core functions
  146. void glPointParameteriv(GLenum pname, const GLint *params);
  147. void glPointParameteri(GLenum pname, GLint param);
  148. void glPointParameterfv(GLenum pname, const GLfloat *params);
  149. void glPointParameterf(GLenum pname, GLfloat param);
  150. void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
  151. void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
  152. void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  153. // OpenGL 1.5 core functions
  154. void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
  155. void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
  156. GLboolean glUnmapBuffer(GLenum target);
  157. GLvoid* glMapBuffer(GLenum target, GLenum access);
  158. void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
  159. void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
  160. void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
  161. GLboolean glIsBuffer(GLuint buffer);
  162. void glGenBuffers(GLsizei n, GLuint *buffers);
  163. void glDeleteBuffers(GLsizei n, const GLuint *buffers);
  164. void glBindBuffer(GLenum target, GLuint buffer);
  165. void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
  166. void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
  167. void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
  168. void glEndQuery(GLenum target);
  169. void glBeginQuery(GLenum target, GLuint id);
  170. GLboolean glIsQuery(GLuint id);
  171. void glDeleteQueries(GLsizei n, const GLuint *ids);
  172. void glGenQueries(GLsizei n, GLuint *ids);
  173. // OpenGL 2.0 core functions
  174. void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
  175. void glValidateProgram(GLuint program);
  176. void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  177. void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  178. void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  179. void glUniform4iv(GLint location, GLsizei count, const GLint *value);
  180. void glUniform3iv(GLint location, GLsizei count, const GLint *value);
  181. void glUniform2iv(GLint location, GLsizei count, const GLint *value);
  182. void glUniform1iv(GLint location, GLsizei count, const GLint *value);
  183. void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
  184. void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
  185. void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
  186. void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
  187. void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  188. void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
  189. void glUniform2i(GLint location, GLint v0, GLint v1);
  190. void glUniform1i(GLint location, GLint v0);
  191. void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  192. void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  193. void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
  194. void glUniform1f(GLint location, GLfloat v0);
  195. void glUseProgram(GLuint program);
  196. void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
  197. void glLinkProgram(GLuint program);
  198. GLboolean glIsShader(GLuint shader);
  199. GLboolean glIsProgram(GLuint program);
  200. void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
  201. void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
  202. void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
  203. void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
  204. void glGetUniformiv(GLuint program, GLint location, GLint *params);
  205. void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
  206. GLint glGetUniformLocation(GLuint program, const GLchar *name);
  207. void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  208. void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  209. void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
  210. void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  211. void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
  212. GLint glGetAttribLocation(GLuint program, const GLchar *name);
  213. void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
  214. void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  215. void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  216. void glEnableVertexAttribArray(GLuint index);
  217. void glDisableVertexAttribArray(GLuint index);
  218. void glDetachShader(GLuint program, GLuint shader);
  219. void glDeleteShader(GLuint shader);
  220. void glDeleteProgram(GLuint program);
  221. GLuint glCreateShader(GLenum type);
  222. GLuint glCreateProgram();
  223. void glCompileShader(GLuint shader);
  224. void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
  225. void glAttachShader(GLuint program, GLuint shader);
  226. void glStencilMaskSeparate(GLenum face, GLuint mask);
  227. void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
  228. void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  229. void glDrawBuffers(GLsizei n, const GLenum *bufs);
  230. void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
  231. // OpenGL 2.1 core functions
  232. void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  233. void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  234. void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  235. void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  236. void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  237. void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  238. // OpenGL 3.0 core functions
  239. GLboolean glIsVertexArray(GLuint array);
  240. void glGenVertexArrays(GLsizei n, GLuint *arrays);
  241. void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
  242. void glBindVertexArray(GLuint array);
  243. void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
  244. GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  245. void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  246. void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  247. void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  248. void glGenerateMipmap(GLenum target);
  249. void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
  250. void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  251. void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  252. void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  253. void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  254. GLenum glCheckFramebufferStatus(GLenum target);
  255. void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
  256. void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
  257. void glBindFramebuffer(GLenum target, GLuint framebuffer);
  258. GLboolean glIsFramebuffer(GLuint framebuffer);
  259. void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
  260. void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  261. void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
  262. void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
  263. void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
  264. GLboolean glIsRenderbuffer(GLuint renderbuffer);
  265. const GLubyte * glGetStringi(GLenum name, GLuint index);
  266. void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  267. void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
  268. void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
  269. void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
  270. void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
  271. void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
  272. void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
  273. void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
  274. void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
  275. void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
  276. void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
  277. void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
  278. void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  279. void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
  280. void glUniform2ui(GLint location, GLuint v0, GLuint v1);
  281. void glUniform1ui(GLint location, GLuint v0);
  282. GLint glGetFragDataLocation(GLuint program, const GLchar *name);
  283. void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
  284. void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
  285. void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
  286. void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
  287. void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
  288. void glEndConditionalRender();
  289. void glBeginConditionalRender(GLuint id, GLenum mode);
  290. void glClampColor(GLenum target, GLenum clamp);
  291. void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  292. void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
  293. void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
  294. void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  295. void glEndTransformFeedback();
  296. void glBeginTransformFeedback(GLenum primitiveMode);
  297. GLboolean glIsEnabledi(GLenum target, GLuint index);
  298. void glDisablei(GLenum target, GLuint index);
  299. void glEnablei(GLenum target, GLuint index);
  300. void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
  301. void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
  302. void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  303. // OpenGL 3.1 core functions
  304. void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  305. void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  306. void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  307. void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  308. GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
  309. void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
  310. void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  311. void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
  312. void glPrimitiveRestartIndex(GLuint index);
  313. void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
  314. void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
  315. void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
  316. private:
  317. friend class QOpenGLContext;
  318. static bool isContextCompatible(QOpenGLContext *context);
  319. static QOpenGLVersionProfile versionProfile();
  320. QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
  321. QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
  322. QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
  323. QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
  324. QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
  325. QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
  326. QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
  327. QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
  328. QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
  329. QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
  330. };
  331. // OpenGL 1.0 core functions
  332. inline void QOpenGLFunctions_3_1::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
  333. {
  334. d_1_0_Core->f.Viewport(x, y, width, height);
  335. }
  336. inline void QOpenGLFunctions_3_1::glDepthRange(GLdouble nearVal, GLdouble farVal)
  337. {
  338. d_1_0_Core->f.DepthRange(nearVal, farVal);
  339. }
  340. inline GLboolean QOpenGLFunctions_3_1::glIsEnabled(GLenum cap)
  341. {
  342. return d_1_0_Core->f.IsEnabled(cap);
  343. }
  344. inline void QOpenGLFunctions_3_1::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
  345. {
  346. d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params);
  347. }
  348. inline void QOpenGLFunctions_3_1::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
  349. {
  350. d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params);
  351. }
  352. inline void QOpenGLFunctions_3_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
  353. {
  354. d_1_0_Core->f.GetTexParameteriv(target, pname, params);
  355. }
  356. inline void QOpenGLFunctions_3_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
  357. {
  358. d_1_0_Core->f.GetTexParameterfv(target, pname, params);
  359. }
  360. inline void QOpenGLFunctions_3_1::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
  361. {
  362. d_1_0_Core->f.GetTexImage(target, level, format, type, pixels);
  363. }
  364. inline const GLubyte * QOpenGLFunctions_3_1::glGetString(GLenum name)
  365. {
  366. return d_1_0_Core->f.GetString(name);
  367. }
  368. inline void QOpenGLFunctions_3_1::glGetIntegerv(GLenum pname, GLint *params)
  369. {
  370. d_1_0_Core->f.GetIntegerv(pname, params);
  371. }
  372. inline void QOpenGLFunctions_3_1::glGetFloatv(GLenum pname, GLfloat *params)
  373. {
  374. d_1_0_Core->f.GetFloatv(pname, params);
  375. }
  376. inline GLenum QOpenGLFunctions_3_1::glGetError()
  377. {
  378. return d_1_0_Core->f.GetError();
  379. }
  380. inline void QOpenGLFunctions_3_1::glGetDoublev(GLenum pname, GLdouble *params)
  381. {
  382. d_1_0_Core->f.GetDoublev(pname, params);
  383. }
  384. inline void QOpenGLFunctions_3_1::glGetBooleanv(GLenum pname, GLboolean *params)
  385. {
  386. d_1_0_Core->f.GetBooleanv(pname, params);
  387. }
  388. inline void QOpenGLFunctions_3_1::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
  389. {
  390. d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels);
  391. }
  392. inline void QOpenGLFunctions_3_1::glReadBuffer(GLenum mode)
  393. {
  394. d_1_0_Core->f.ReadBuffer(mode);
  395. }
  396. inline void QOpenGLFunctions_3_1::glPixelStorei(GLenum pname, GLint param)
  397. {
  398. d_1_0_Core->f.PixelStorei(pname, param);
  399. }
  400. inline void QOpenGLFunctions_3_1::glPixelStoref(GLenum pname, GLfloat param)
  401. {
  402. d_1_0_Core->f.PixelStoref(pname, param);
  403. }
  404. inline void QOpenGLFunctions_3_1::glDepthFunc(GLenum func)
  405. {
  406. d_1_0_Core->f.DepthFunc(func);
  407. }
  408. inline void QOpenGLFunctions_3_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
  409. {
  410. d_1_0_Core->f.StencilOp(fail, zfail, zpass);
  411. }
  412. inline void QOpenGLFunctions_3_1::glStencilFunc(GLenum func, GLint ref, GLuint mask)
  413. {
  414. d_1_0_Core->f.StencilFunc(func, ref, mask);
  415. }
  416. inline void QOpenGLFunctions_3_1::glLogicOp(GLenum opcode)
  417. {
  418. d_1_0_Core->f.LogicOp(opcode);
  419. }
  420. inline void QOpenGLFunctions_3_1::glBlendFunc(GLenum sfactor, GLenum dfactor)
  421. {
  422. d_1_0_Core->f.BlendFunc(sfactor, dfactor);
  423. }
  424. inline void QOpenGLFunctions_3_1::glFlush()
  425. {
  426. d_1_0_Core->f.Flush();
  427. }
  428. inline void QOpenGLFunctions_3_1::glFinish()
  429. {
  430. d_1_0_Core->f.Finish();
  431. }
  432. inline void QOpenGLFunctions_3_1::glEnable(GLenum cap)
  433. {
  434. d_1_0_Core->f.Enable(cap);
  435. }
  436. inline void QOpenGLFunctions_3_1::glDisable(GLenum cap)
  437. {
  438. d_1_0_Core->f.Disable(cap);
  439. }
  440. inline void QOpenGLFunctions_3_1::glDepthMask(GLboolean flag)
  441. {
  442. d_1_0_Core->f.DepthMask(flag);
  443. }
  444. inline void QOpenGLFunctions_3_1::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
  445. {
  446. d_1_0_Core->f.ColorMask(red, green, blue, alpha);
  447. }
  448. inline void QOpenGLFunctions_3_1::glStencilMask(GLuint mask)
  449. {
  450. d_1_0_Core->f.StencilMask(mask);
  451. }
  452. inline void QOpenGLFunctions_3_1::glClearDepth(GLdouble depth)
  453. {
  454. d_1_0_Core->f.ClearDepth(depth);
  455. }
  456. inline void QOpenGLFunctions_3_1::glClearStencil(GLint s)
  457. {
  458. d_1_0_Core->f.ClearStencil(s);
  459. }
  460. inline void QOpenGLFunctions_3_1::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
  461. {
  462. d_1_0_Core->f.ClearColor(red, green, blue, alpha);
  463. }
  464. inline void QOpenGLFunctions_3_1::glClear(GLbitfield mask)
  465. {
  466. d_1_0_Core->f.Clear(mask);
  467. }
  468. inline void QOpenGLFunctions_3_1::glDrawBuffer(GLenum mode)
  469. {
  470. d_1_0_Core->f.DrawBuffer(mode);
  471. }
  472. inline void QOpenGLFunctions_3_1::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
  473. {
  474. d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
  475. }
  476. inline void QOpenGLFunctions_3_1::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
  477. {
  478. d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels);
  479. }
  480. inline void QOpenGLFunctions_3_1::glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
  481. {
  482. d_1_0_Core->f.TexParameteriv(target, pname, params);
  483. }
  484. inline void QOpenGLFunctions_3_1::glTexParameteri(GLenum target, GLenum pname, GLint param)
  485. {
  486. d_1_0_Core->f.TexParameteri(target, pname, param);
  487. }
  488. inline void QOpenGLFunctions_3_1::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
  489. {
  490. d_1_0_Core->f.TexParameterfv(target, pname, params);
  491. }
  492. inline void QOpenGLFunctions_3_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param)
  493. {
  494. d_1_0_Core->f.TexParameterf(target, pname, param);
  495. }
  496. inline void QOpenGLFunctions_3_1::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
  497. {
  498. d_1_0_Core->f.Scissor(x, y, width, height);
  499. }
  500. inline void QOpenGLFunctions_3_1::glPolygonMode(GLenum face, GLenum mode)
  501. {
  502. d_1_0_Core->f.PolygonMode(face, mode);
  503. }
  504. inline void QOpenGLFunctions_3_1::glPointSize(GLfloat size)
  505. {
  506. d_1_0_Core->f.PointSize(size);
  507. }
  508. inline void QOpenGLFunctions_3_1::glLineWidth(GLfloat width)
  509. {
  510. d_1_0_Core->f.LineWidth(width);
  511. }
  512. inline void QOpenGLFunctions_3_1::glHint(GLenum target, GLenum mode)
  513. {
  514. d_1_0_Core->f.Hint(target, mode);
  515. }
  516. inline void QOpenGLFunctions_3_1::glFrontFace(GLenum mode)
  517. {
  518. d_1_0_Core->f.FrontFace(mode);
  519. }
  520. inline void QOpenGLFunctions_3_1::glCullFace(GLenum mode)
  521. {
  522. d_1_0_Core->f.CullFace(mode);
  523. }
  524. // OpenGL 1.1 core functions
  525. inline void QOpenGLFunctions_3_1::glIndexubv(const GLubyte *c)
  526. {
  527. Q_UNUSED(c);
  528. QOPENGL_DEPRECATEDFUNCTION;
  529. }
  530. inline void QOpenGLFunctions_3_1::glIndexub(GLubyte c)
  531. {
  532. Q_UNUSED(c);
  533. QOPENGL_DEPRECATEDFUNCTION;
  534. }
  535. inline GLboolean QOpenGLFunctions_3_1::glIsTexture(GLuint texture)
  536. {
  537. return d_1_1_Core->f.IsTexture(texture);
  538. }
  539. inline void QOpenGLFunctions_3_1::glGenTextures(GLsizei n, GLuint *textures)
  540. {
  541. d_1_1_Core->f.GenTextures(n, textures);
  542. }
  543. inline void QOpenGLFunctions_3_1::glDeleteTextures(GLsizei n, const GLuint *textures)
  544. {
  545. d_1_1_Core->f.DeleteTextures(n, textures);
  546. }
  547. inline void QOpenGLFunctions_3_1::glBindTexture(GLenum target, GLuint texture)
  548. {
  549. d_1_1_Core->f.BindTexture(target, texture);
  550. }
  551. inline void QOpenGLFunctions_3_1::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
  552. {
  553. d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
  554. }
  555. inline void QOpenGLFunctions_3_1::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
  556. {
  557. d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels);
  558. }
  559. inline void QOpenGLFunctions_3_1::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
  560. {
  561. d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
  562. }
  563. inline void QOpenGLFunctions_3_1::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
  564. {
  565. d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width);
  566. }
  567. inline void QOpenGLFunctions_3_1::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
  568. {
  569. d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
  570. }
  571. inline void QOpenGLFunctions_3_1::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
  572. {
  573. d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border);
  574. }
  575. inline void QOpenGLFunctions_3_1::glPolygonOffset(GLfloat factor, GLfloat units)
  576. {
  577. d_1_1_Core->f.PolygonOffset(factor, units);
  578. }
  579. inline void QOpenGLFunctions_3_1::glGetPointerv(GLenum pname, GLvoid* *params)
  580. {
  581. Q_UNUSED(pname);
  582. Q_UNUSED(params);
  583. QOPENGL_DEPRECATEDFUNCTION;
  584. }
  585. inline void QOpenGLFunctions_3_1::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
  586. {
  587. d_1_1_Core->f.DrawElements(mode, count, type, indices);
  588. }
  589. inline void QOpenGLFunctions_3_1::glDrawArrays(GLenum mode, GLint first, GLsizei count)
  590. {
  591. d_1_1_Core->f.DrawArrays(mode, first, count);
  592. }
  593. // OpenGL 1.2 core functions
  594. inline void QOpenGLFunctions_3_1::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
  595. {
  596. d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
  597. }
  598. inline void QOpenGLFunctions_3_1::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
  599. {
  600. d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  601. }
  602. inline void QOpenGLFunctions_3_1::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
  603. {
  604. d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
  605. }
  606. inline void QOpenGLFunctions_3_1::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
  607. {
  608. d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices);
  609. }
  610. inline void QOpenGLFunctions_3_1::glBlendEquation(GLenum mode)
  611. {
  612. d_1_2_Core->f.BlendEquation(mode);
  613. }
  614. inline void QOpenGLFunctions_3_1::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
  615. {
  616. d_1_2_Core->f.BlendColor(red, green, blue, alpha);
  617. }
  618. // OpenGL 1.3 core functions
  619. inline void QOpenGLFunctions_3_1::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
  620. {
  621. d_1_3_Core->f.GetCompressedTexImage(target, level, img);
  622. }
  623. inline void QOpenGLFunctions_3_1::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
  624. {
  625. d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
  626. }
  627. inline void QOpenGLFunctions_3_1::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
  628. {
  629. d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
  630. }
  631. inline void QOpenGLFunctions_3_1::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
  632. {
  633. d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
  634. }
  635. inline void QOpenGLFunctions_3_1::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
  636. {
  637. d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
  638. }
  639. inline void QOpenGLFunctions_3_1::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
  640. {
  641. d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
  642. }
  643. inline void QOpenGLFunctions_3_1::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
  644. {
  645. d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
  646. }
  647. inline void QOpenGLFunctions_3_1::glSampleCoverage(GLfloat value, GLboolean invert)
  648. {
  649. d_1_3_Core->f.SampleCoverage(value, invert);
  650. }
  651. inline void QOpenGLFunctions_3_1::glActiveTexture(GLenum texture)
  652. {
  653. d_1_3_Core->f.ActiveTexture(texture);
  654. }
  655. // OpenGL 1.4 core functions
  656. inline void QOpenGLFunctions_3_1::glPointParameteriv(GLenum pname, const GLint *params)
  657. {
  658. d_1_4_Core->f.PointParameteriv(pname, params);
  659. }
  660. inline void QOpenGLFunctions_3_1::glPointParameteri(GLenum pname, GLint param)
  661. {
  662. d_1_4_Core->f.PointParameteri(pname, param);
  663. }
  664. inline void QOpenGLFunctions_3_1::glPointParameterfv(GLenum pname, const GLfloat *params)
  665. {
  666. d_1_4_Core->f.PointParameterfv(pname, params);
  667. }
  668. inline void QOpenGLFunctions_3_1::glPointParameterf(GLenum pname, GLfloat param)
  669. {
  670. d_1_4_Core->f.PointParameterf(pname, param);
  671. }
  672. inline void QOpenGLFunctions_3_1::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)
  673. {
  674. d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount);
  675. }
  676. inline void QOpenGLFunctions_3_1::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
  677. {
  678. d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount);
  679. }
  680. inline void QOpenGLFunctions_3_1::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
  681. {
  682. d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
  683. }
  684. // OpenGL 1.5 core functions
  685. inline void QOpenGLFunctions_3_1::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params)
  686. {
  687. d_1_5_Core->f.GetBufferPointerv(target, pname, params);
  688. }
  689. inline void QOpenGLFunctions_3_1::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
  690. {
  691. d_1_5_Core->f.GetBufferParameteriv(target, pname, params);
  692. }
  693. inline GLboolean QOpenGLFunctions_3_1::glUnmapBuffer(GLenum target)
  694. {
  695. return d_1_5_Core->f.UnmapBuffer(target);
  696. }
  697. inline GLvoid* QOpenGLFunctions_3_1::glMapBuffer(GLenum target, GLenum access)
  698. {
  699. return d_1_5_Core->f.MapBuffer(target, access);
  700. }
  701. inline void QOpenGLFunctions_3_1::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
  702. {
  703. d_1_5_Core->f.GetBufferSubData(target, offset, size, data);
  704. }
  705. inline void QOpenGLFunctions_3_1::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
  706. {
  707. d_1_5_Core->f.BufferSubData(target, offset, size, data);
  708. }
  709. inline void QOpenGLFunctions_3_1::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
  710. {
  711. d_1_5_Core->f.BufferData(target, size, data, usage);
  712. }
  713. inline GLboolean QOpenGLFunctions_3_1::glIsBuffer(GLuint buffer)
  714. {
  715. return d_1_5_Core->f.IsBuffer(buffer);
  716. }
  717. inline void QOpenGLFunctions_3_1::glGenBuffers(GLsizei n, GLuint *buffers)
  718. {
  719. d_1_5_Core->f.GenBuffers(n, buffers);
  720. }
  721. inline void QOpenGLFunctions_3_1::glDeleteBuffers(GLsizei n, const GLuint *buffers)
  722. {
  723. d_1_5_Core->f.DeleteBuffers(n, buffers);
  724. }
  725. inline void QOpenGLFunctions_3_1::glBindBuffer(GLenum target, GLuint buffer)
  726. {
  727. d_1_5_Core->f.BindBuffer(target, buffer);
  728. }
  729. inline void QOpenGLFunctions_3_1::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
  730. {
  731. d_1_5_Core->f.GetQueryObjectuiv(id, pname, params);
  732. }
  733. inline void QOpenGLFunctions_3_1::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
  734. {
  735. d_1_5_Core->f.GetQueryObjectiv(id, pname, params);
  736. }
  737. inline void QOpenGLFunctions_3_1::glGetQueryiv(GLenum target, GLenum pname, GLint *params)
  738. {
  739. d_1_5_Core->f.GetQueryiv(target, pname, params);
  740. }
  741. inline void QOpenGLFunctions_3_1::glEndQuery(GLenum target)
  742. {
  743. d_1_5_Core->f.EndQuery(target);
  744. }
  745. inline void QOpenGLFunctions_3_1::glBeginQuery(GLenum target, GLuint id)
  746. {
  747. d_1_5_Core->f.BeginQuery(target, id);
  748. }
  749. inline GLboolean QOpenGLFunctions_3_1::glIsQuery(GLuint id)
  750. {
  751. return d_1_5_Core->f.IsQuery(id);
  752. }
  753. inline void QOpenGLFunctions_3_1::glDeleteQueries(GLsizei n, const GLuint *ids)
  754. {
  755. d_1_5_Core->f.DeleteQueries(n, ids);
  756. }
  757. inline void QOpenGLFunctions_3_1::glGenQueries(GLsizei n, GLuint *ids)
  758. {
  759. d_1_5_Core->f.GenQueries(n, ids);
  760. }
  761. // OpenGL 2.0 core functions
  762. inline void QOpenGLFunctions_3_1::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
  763. {
  764. d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer);
  765. }
  766. inline void QOpenGLFunctions_3_1::glValidateProgram(GLuint program)
  767. {
  768. d_2_0_Core->f.ValidateProgram(program);
  769. }
  770. inline void QOpenGLFunctions_3_1::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  771. {
  772. d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value);
  773. }
  774. inline void QOpenGLFunctions_3_1::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  775. {
  776. d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value);
  777. }
  778. inline void QOpenGLFunctions_3_1::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  779. {
  780. d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value);
  781. }
  782. inline void QOpenGLFunctions_3_1::glUniform4iv(GLint location, GLsizei count, const GLint *value)
  783. {
  784. d_2_0_Core->f.Uniform4iv(location, count, value);
  785. }
  786. inline void QOpenGLFunctions_3_1::glUniform3iv(GLint location, GLsizei count, const GLint *value)
  787. {
  788. d_2_0_Core->f.Uniform3iv(location, count, value);
  789. }
  790. inline void QOpenGLFunctions_3_1::glUniform2iv(GLint location, GLsizei count, const GLint *value)
  791. {
  792. d_2_0_Core->f.Uniform2iv(location, count, value);
  793. }
  794. inline void QOpenGLFunctions_3_1::glUniform1iv(GLint location, GLsizei count, const GLint *value)
  795. {
  796. d_2_0_Core->f.Uniform1iv(location, count, value);
  797. }
  798. inline void QOpenGLFunctions_3_1::glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
  799. {
  800. d_2_0_Core->f.Uniform4fv(location, count, value);
  801. }
  802. inline void QOpenGLFunctions_3_1::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
  803. {
  804. d_2_0_Core->f.Uniform3fv(location, count, value);
  805. }
  806. inline void QOpenGLFunctions_3_1::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
  807. {
  808. d_2_0_Core->f.Uniform2fv(location, count, value);
  809. }
  810. inline void QOpenGLFunctions_3_1::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
  811. {
  812. d_2_0_Core->f.Uniform1fv(location, count, value);
  813. }
  814. inline void QOpenGLFunctions_3_1::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
  815. {
  816. d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3);
  817. }
  818. inline void QOpenGLFunctions_3_1::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
  819. {
  820. d_2_0_Core->f.Uniform3i(location, v0, v1, v2);
  821. }
  822. inline void QOpenGLFunctions_3_1::glUniform2i(GLint location, GLint v0, GLint v1)
  823. {
  824. d_2_0_Core->f.Uniform2i(location, v0, v1);
  825. }
  826. inline void QOpenGLFunctions_3_1::glUniform1i(GLint location, GLint v0)
  827. {
  828. d_2_0_Core->f.Uniform1i(location, v0);
  829. }
  830. inline void QOpenGLFunctions_3_1::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
  831. {
  832. d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3);
  833. }
  834. inline void QOpenGLFunctions_3_1::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
  835. {
  836. d_2_0_Core->f.Uniform3f(location, v0, v1, v2);
  837. }
  838. inline void QOpenGLFunctions_3_1::glUniform2f(GLint location, GLfloat v0, GLfloat v1)
  839. {
  840. d_2_0_Core->f.Uniform2f(location, v0, v1);
  841. }
  842. inline void QOpenGLFunctions_3_1::glUniform1f(GLint location, GLfloat v0)
  843. {
  844. d_2_0_Core->f.Uniform1f(location, v0);
  845. }
  846. inline void QOpenGLFunctions_3_1::glUseProgram(GLuint program)
  847. {
  848. d_2_0_Core->f.UseProgram(program);
  849. }
  850. inline void QOpenGLFunctions_3_1::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)
  851. {
  852. d_2_0_Core->f.ShaderSource(shader, count, string, length);
  853. }
  854. inline void QOpenGLFunctions_3_1::glLinkProgram(GLuint program)
  855. {
  856. d_2_0_Core->f.LinkProgram(program);
  857. }
  858. inline GLboolean QOpenGLFunctions_3_1::glIsShader(GLuint shader)
  859. {
  860. return d_2_0_Core->f.IsShader(shader);
  861. }
  862. inline GLboolean QOpenGLFunctions_3_1::glIsProgram(GLuint program)
  863. {
  864. return d_2_0_Core->f.IsProgram(program);
  865. }
  866. inline void QOpenGLFunctions_3_1::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer)
  867. {
  868. d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer);
  869. }
  870. inline void QOpenGLFunctions_3_1::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
  871. {
  872. d_2_0_Core->f.GetVertexAttribiv(index, pname, params);
  873. }
  874. inline void QOpenGLFunctions_3_1::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
  875. {
  876. d_2_0_Core->f.GetVertexAttribfv(index, pname, params);
  877. }
  878. inline void QOpenGLFunctions_3_1::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
  879. {
  880. d_2_0_Core->f.GetVertexAttribdv(index, pname, params);
  881. }
  882. inline void QOpenGLFunctions_3_1::glGetUniformiv(GLuint program, GLint location, GLint *params)
  883. {
  884. d_2_0_Core->f.GetUniformiv(program, location, params);
  885. }
  886. inline void QOpenGLFunctions_3_1::glGetUniformfv(GLuint program, GLint location, GLfloat *params)
  887. {
  888. d_2_0_Core->f.GetUniformfv(program, location, params);
  889. }
  890. inline GLint QOpenGLFunctions_3_1::glGetUniformLocation(GLuint program, const GLchar *name)
  891. {
  892. return d_2_0_Core->f.GetUniformLocation(program, name);
  893. }
  894. inline void QOpenGLFunctions_3_1::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
  895. {
  896. d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source);
  897. }
  898. inline void QOpenGLFunctions_3_1::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
  899. {
  900. d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog);
  901. }
  902. inline void QOpenGLFunctions_3_1::glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
  903. {
  904. d_2_0_Core->f.GetShaderiv(shader, pname, params);
  905. }
  906. inline void QOpenGLFunctions_3_1::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
  907. {
  908. d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog);
  909. }
  910. inline void QOpenGLFunctions_3_1::glGetProgramiv(GLuint program, GLenum pname, GLint *params)
  911. {
  912. d_2_0_Core->f.GetProgramiv(program, pname, params);
  913. }
  914. inline GLint QOpenGLFunctions_3_1::glGetAttribLocation(GLuint program, const GLchar *name)
  915. {
  916. return d_2_0_Core->f.GetAttribLocation(program, name);
  917. }
  918. inline void QOpenGLFunctions_3_1::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
  919. {
  920. d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj);
  921. }
  922. inline void QOpenGLFunctions_3_1::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
  923. {
  924. d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name);
  925. }
  926. inline void QOpenGLFunctions_3_1::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
  927. {
  928. d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name);
  929. }
  930. inline void QOpenGLFunctions_3_1::glEnableVertexAttribArray(GLuint index)
  931. {
  932. d_2_0_Core->f.EnableVertexAttribArray(index);
  933. }
  934. inline void QOpenGLFunctions_3_1::glDisableVertexAttribArray(GLuint index)
  935. {
  936. d_2_0_Core->f.DisableVertexAttribArray(index);
  937. }
  938. inline void QOpenGLFunctions_3_1::glDetachShader(GLuint program, GLuint shader)
  939. {
  940. d_2_0_Core->f.DetachShader(program, shader);
  941. }
  942. inline void QOpenGLFunctions_3_1::glDeleteShader(GLuint shader)
  943. {
  944. d_2_0_Core->f.DeleteShader(shader);
  945. }
  946. inline void QOpenGLFunctions_3_1::glDeleteProgram(GLuint program)
  947. {
  948. d_2_0_Core->f.DeleteProgram(program);
  949. }
  950. inline GLuint QOpenGLFunctions_3_1::glCreateShader(GLenum type)
  951. {
  952. return d_2_0_Core->f.CreateShader(type);
  953. }
  954. inline GLuint QOpenGLFunctions_3_1::glCreateProgram()
  955. {
  956. return d_2_0_Core->f.CreateProgram();
  957. }
  958. inline void QOpenGLFunctions_3_1::glCompileShader(GLuint shader)
  959. {
  960. d_2_0_Core->f.CompileShader(shader);
  961. }
  962. inline void QOpenGLFunctions_3_1::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
  963. {
  964. d_2_0_Core->f.BindAttribLocation(program, index, name);
  965. }
  966. inline void QOpenGLFunctions_3_1::glAttachShader(GLuint program, GLuint shader)
  967. {
  968. d_2_0_Core->f.AttachShader(program, shader);
  969. }
  970. inline void QOpenGLFunctions_3_1::glStencilMaskSeparate(GLenum face, GLuint mask)
  971. {
  972. d_2_0_Core->f.StencilMaskSeparate(face, mask);
  973. }
  974. inline void QOpenGLFunctions_3_1::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
  975. {
  976. d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask);
  977. }
  978. inline void QOpenGLFunctions_3_1::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
  979. {
  980. d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass);
  981. }
  982. inline void QOpenGLFunctions_3_1::glDrawBuffers(GLsizei n, const GLenum *bufs)
  983. {
  984. d_2_0_Core->f.DrawBuffers(n, bufs);
  985. }
  986. inline void QOpenGLFunctions_3_1::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
  987. {
  988. d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha);
  989. }
  990. // OpenGL 2.1 core functions
  991. inline void QOpenGLFunctions_3_1::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  992. {
  993. d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value);
  994. }
  995. inline void QOpenGLFunctions_3_1::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  996. {
  997. d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value);
  998. }
  999. inline void QOpenGLFunctions_3_1::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  1000. {
  1001. d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value);
  1002. }
  1003. inline void QOpenGLFunctions_3_1::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  1004. {
  1005. d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value);
  1006. }
  1007. inline void QOpenGLFunctions_3_1::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  1008. {
  1009. d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value);
  1010. }
  1011. inline void QOpenGLFunctions_3_1::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
  1012. {
  1013. d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value);
  1014. }
  1015. // OpenGL 3.0 core functions
  1016. inline GLboolean QOpenGLFunctions_3_1::glIsVertexArray(GLuint array)
  1017. {
  1018. return d_3_0_Core->f.IsVertexArray(array);
  1019. }
  1020. inline void QOpenGLFunctions_3_1::glGenVertexArrays(GLsizei n, GLuint *arrays)
  1021. {
  1022. d_3_0_Core->f.GenVertexArrays(n, arrays);
  1023. }
  1024. inline void QOpenGLFunctions_3_1::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
  1025. {
  1026. d_3_0_Core->f.DeleteVertexArrays(n, arrays);
  1027. }
  1028. inline void QOpenGLFunctions_3_1::glBindVertexArray(GLuint array)
  1029. {
  1030. d_3_0_Core->f.BindVertexArray(array);
  1031. }
  1032. inline void QOpenGLFunctions_3_1::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
  1033. {
  1034. d_3_0_Core->f.FlushMappedBufferRange(target, offset, length);
  1035. }
  1036. inline GLvoid* QOpenGLFunctions_3_1::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
  1037. {
  1038. return d_3_0_Core->f.MapBufferRange(target, offset, length, access);
  1039. }
  1040. inline void QOpenGLFunctions_3_1::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
  1041. {
  1042. d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
  1043. }
  1044. inline void QOpenGLFunctions_3_1::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
  1045. {
  1046. d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
  1047. }
  1048. inline void QOpenGLFunctions_3_1::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
  1049. {
  1050. d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  1051. }
  1052. inline void QOpenGLFunctions_3_1::glGenerateMipmap(GLenum target)
  1053. {
  1054. d_3_0_Core->f.GenerateMipmap(target);
  1055. }
  1056. inline void QOpenGLFunctions_3_1::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
  1057. {
  1058. d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
  1059. }
  1060. inline void QOpenGLFunctions_3_1::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
  1061. {
  1062. d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
  1063. }
  1064. inline void QOpenGLFunctions_3_1::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
  1065. {
  1066. d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
  1067. }
  1068. inline void QOpenGLFunctions_3_1::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
  1069. {
  1070. d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level);
  1071. }
  1072. inline void QOpenGLFunctions_3_1::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
  1073. {
  1074. d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level);
  1075. }
  1076. inline GLenum QOpenGLFunctions_3_1::glCheckFramebufferStatus(GLenum target)
  1077. {
  1078. return d_3_0_Core->f.CheckFramebufferStatus(target);
  1079. }
  1080. inline void QOpenGLFunctions_3_1::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
  1081. {
  1082. d_3_0_Core->f.GenFramebuffers(n, framebuffers);
  1083. }
  1084. inline void QOpenGLFunctions_3_1::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
  1085. {
  1086. d_3_0_Core->f.DeleteFramebuffers(n, framebuffers);
  1087. }
  1088. inline void QOpenGLFunctions_3_1::glBindFramebuffer(GLenum target, GLuint framebuffer)
  1089. {
  1090. d_3_0_Core->f.BindFramebuffer(target, framebuffer);
  1091. }
  1092. inline GLboolean QOpenGLFunctions_3_1::glIsFramebuffer(GLuint framebuffer)
  1093. {
  1094. return d_3_0_Core->f.IsFramebuffer(framebuffer);
  1095. }
  1096. inline void QOpenGLFunctions_3_1::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
  1097. {
  1098. d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params);
  1099. }
  1100. inline void QOpenGLFunctions_3_1::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
  1101. {
  1102. d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height);
  1103. }
  1104. inline void QOpenGLFunctions_3_1::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
  1105. {
  1106. d_3_0_Core->f.GenRenderbuffers(n, renderbuffers);
  1107. }
  1108. inline void QOpenGLFunctions_3_1::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
  1109. {
  1110. d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers);
  1111. }
  1112. inline void QOpenGLFunctions_3_1::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
  1113. {
  1114. d_3_0_Core->f.BindRenderbuffer(target, renderbuffer);
  1115. }
  1116. inline GLboolean QOpenGLFunctions_3_1::glIsRenderbuffer(GLuint renderbuffer)
  1117. {
  1118. return d_3_0_Core->f.IsRenderbuffer(renderbuffer);
  1119. }
  1120. inline const GLubyte * QOpenGLFunctions_3_1::glGetStringi(GLenum name, GLuint index)
  1121. {
  1122. return d_3_0_Core->f.GetStringi(name, index);
  1123. }
  1124. inline void QOpenGLFunctions_3_1::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
  1125. {
  1126. d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
  1127. }
  1128. inline void QOpenGLFunctions_3_1::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
  1129. {
  1130. d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value);
  1131. }
  1132. inline void QOpenGLFunctions_3_1::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
  1133. {
  1134. d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value);
  1135. }
  1136. inline void QOpenGLFunctions_3_1::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
  1137. {
  1138. d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value);
  1139. }
  1140. inline void QOpenGLFunctions_3_1::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
  1141. {
  1142. d_3_0_Core->f.GetTexParameterIuiv(target, pname, params);
  1143. }
  1144. inline void QOpenGLFunctions_3_1::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
  1145. {
  1146. d_3_0_Core->f.GetTexParameterIiv(target, pname, params);
  1147. }
  1148. inline void QOpenGLFunctions_3_1::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
  1149. {
  1150. d_3_0_Core->f.TexParameterIuiv(target, pname, params);
  1151. }
  1152. inline void QOpenGLFunctions_3_1::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
  1153. {
  1154. d_3_0_Core->f.TexParameterIiv(target, pname, params);
  1155. }
  1156. inline void QOpenGLFunctions_3_1::glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
  1157. {
  1158. d_3_0_Core->f.Uniform4uiv(location, count, value);
  1159. }
  1160. inline void QOpenGLFunctions_3_1::glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
  1161. {
  1162. d_3_0_Core->f.Uniform3uiv(location, count, value);
  1163. }
  1164. inline void QOpenGLFunctions_3_1::glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
  1165. {
  1166. d_3_0_Core->f.Uniform2uiv(location, count, value);
  1167. }
  1168. inline void QOpenGLFunctions_3_1::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
  1169. {
  1170. d_3_0_Core->f.Uniform1uiv(location, count, value);
  1171. }
  1172. inline void QOpenGLFunctions_3_1::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
  1173. {
  1174. d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3);
  1175. }
  1176. inline void QOpenGLFunctions_3_1::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
  1177. {
  1178. d_3_0_Core->f.Uniform3ui(location, v0, v1, v2);
  1179. }
  1180. inline void QOpenGLFunctions_3_1::glUniform2ui(GLint location, GLuint v0, GLuint v1)
  1181. {
  1182. d_3_0_Core->f.Uniform2ui(location, v0, v1);
  1183. }
  1184. inline void QOpenGLFunctions_3_1::glUniform1ui(GLint location, GLuint v0)
  1185. {
  1186. d_3_0_Core->f.Uniform1ui(location, v0);
  1187. }
  1188. inline GLint QOpenGLFunctions_3_1::glGetFragDataLocation(GLuint program, const GLchar *name)
  1189. {
  1190. return d_3_0_Core->f.GetFragDataLocation(program, name);
  1191. }
  1192. inline void QOpenGLFunctions_3_1::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
  1193. {
  1194. d_3_0_Core->f.BindFragDataLocation(program, color, name);
  1195. }
  1196. inline void QOpenGLFunctions_3_1::glGetUniformuiv(GLuint program, GLint location, GLuint *params)
  1197. {
  1198. d_3_0_Core->f.GetUniformuiv(program, location, params);
  1199. }
  1200. inline void QOpenGLFunctions_3_1::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
  1201. {
  1202. d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params);
  1203. }
  1204. inline void QOpenGLFunctions_3_1::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
  1205. {
  1206. d_3_0_Core->f.GetVertexAttribIiv(index, pname, params);
  1207. }
  1208. inline void QOpenGLFunctions_3_1::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
  1209. {
  1210. d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer);
  1211. }
  1212. inline void QOpenGLFunctions_3_1::glEndConditionalRender()
  1213. {
  1214. d_3_0_Core->f.EndConditionalRender();
  1215. }
  1216. inline void QOpenGLFunctions_3_1::glBeginConditionalRender(GLuint id, GLenum mode)
  1217. {
  1218. d_3_0_Core->f.BeginConditionalRender(id, mode);
  1219. }
  1220. inline void QOpenGLFunctions_3_1::glClampColor(GLenum target, GLenum clamp)
  1221. {
  1222. d_3_0_Core->f.ClampColor(target, clamp);
  1223. }
  1224. inline void QOpenGLFunctions_3_1::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
  1225. {
  1226. d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
  1227. }
  1228. inline void QOpenGLFunctions_3_1::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)
  1229. {
  1230. d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
  1231. }
  1232. inline void QOpenGLFunctions_3_1::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
  1233. {
  1234. d_3_0_Core->f.BindBufferBase(target, index, buffer);
  1235. }
  1236. inline void QOpenGLFunctions_3_1::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
  1237. {
  1238. d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size);
  1239. }
  1240. inline void QOpenGLFunctions_3_1::glEndTransformFeedback()
  1241. {
  1242. d_3_0_Core->f.EndTransformFeedback();
  1243. }
  1244. inline void QOpenGLFunctions_3_1::glBeginTransformFeedback(GLenum primitiveMode)
  1245. {
  1246. d_3_0_Core->f.BeginTransformFeedback(primitiveMode);
  1247. }
  1248. inline GLboolean QOpenGLFunctions_3_1::glIsEnabledi(GLenum target, GLuint index)
  1249. {
  1250. return d_3_0_Core->f.IsEnabledi(target, index);
  1251. }
  1252. inline void QOpenGLFunctions_3_1::glDisablei(GLenum target, GLuint index)
  1253. {
  1254. d_3_0_Core->f.Disablei(target, index);
  1255. }
  1256. inline void QOpenGLFunctions_3_1::glEnablei(GLenum target, GLuint index)
  1257. {
  1258. d_3_0_Core->f.Enablei(target, index);
  1259. }
  1260. inline void QOpenGLFunctions_3_1::glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
  1261. {
  1262. d_3_0_Core->f.GetIntegeri_v(target, index, data);
  1263. }
  1264. inline void QOpenGLFunctions_3_1::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
  1265. {
  1266. d_3_0_Core->f.GetBooleani_v(target, index, data);
  1267. }
  1268. inline void QOpenGLFunctions_3_1::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
  1269. {
  1270. d_3_0_Core->f.ColorMaski(index, r, g, b, a);
  1271. }
  1272. // OpenGL 3.1 core functions
  1273. inline void QOpenGLFunctions_3_1::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
  1274. {
  1275. d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
  1276. }
  1277. inline void QOpenGLFunctions_3_1::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
  1278. {
  1279. d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
  1280. }
  1281. inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
  1282. {
  1283. d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
  1284. }
  1285. inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
  1286. {
  1287. d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
  1288. }
  1289. inline GLuint QOpenGLFunctions_3_1::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
  1290. {
  1291. return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName);
  1292. }
  1293. inline void QOpenGLFunctions_3_1::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
  1294. {
  1295. d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
  1296. }
  1297. inline void QOpenGLFunctions_3_1::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
  1298. {
  1299. d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
  1300. }
  1301. inline void QOpenGLFunctions_3_1::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)
  1302. {
  1303. d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
  1304. }
  1305. inline void QOpenGLFunctions_3_1::glPrimitiveRestartIndex(GLuint index)
  1306. {
  1307. d_3_1_Core->f.PrimitiveRestartIndex(index);
  1308. }
  1309. inline void QOpenGLFunctions_3_1::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
  1310. {
  1311. d_3_1_Core->f.TexBuffer(target, internalformat, buffer);
  1312. }
  1313. inline void QOpenGLFunctions_3_1::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)
  1314. {
  1315. d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
  1316. }
  1317. inline void QOpenGLFunctions_3_1::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
  1318. {
  1319. d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount);
  1320. }
  1321. QT_END_NAMESPACE
  1322. #endif // QT_NO_OPENGL && !QT_OPENGL_ES_2
  1323. #endif