40 #ifndef QOPENGLTEXTUREHELPER_P_H
41 #define QOPENGLTEXTUREHELPER_P_H
54 #include <QtOpenGL/qtopenglglobal.h>
66 #ifndef GL_TEXTURE_BASE_LEVEL
67 #define GL_TEXTURE_BASE_LEVEL 0x813C
69 #ifndef GL_TEXTURE_MAX_LEVEL
70 #define GL_TEXTURE_MAX_LEVEL 0x813D
72 #ifndef GL_TEXTURE_COMPARE_MODE
73 #define GL_TEXTURE_COMPARE_MODE 0x884C
75 #ifndef GL_TEXTURE_COMPARE_FUNC
76 #define GL_TEXTURE_COMPARE_FUNC 0x884D
80 #if !defined(Q_OS_ANDROID) || !defined(__clang__)
83 #elif !defined(GL_APICALL)
117 (this->*GenerateTextureMipmap)(
texture,
target, bindingTarget);
153 (this->*TextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
format,
type,
pixels);
159 (this->*TextureImage2D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
border,
format,
type,
pixels);
175 (this->*TextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
178 (this->*TextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
189 (this->*TextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
type,
pixels);
192 (this->*TextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
type,
pixels);
246 (this->*CompressedTextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
imageSize,
bits);
249 (this->*CompressedTextureSubImage2D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
width,
height,
format,
imageSize,
bits);
262 (this->*CompressedTextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
bits);
265 (this->*CompressedTextureSubImage3D)(
texture,
target, bindingTarget,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
bits);
308 (this->*CompressedTextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
imageSize,
bits);
311 (this->*CompressedTextureImage3D)(
texture,
target, bindingTarget,
level,
internalFormat,
width,
height,
depth,
border,
imageSize,
bits);
511 TexSubImage3D(
target,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
type,
pixels);
535 CompressedTexSubImage3D(
target,
level,
xoffset,
yoffset,
zoffset,
width,
height,
depth,
format,
imageSize,
data);
631 #if !QT_CONFIG(opengles2)
654 #if !QT_CONFIG(opengles2)
680 typedef void (
QOpenGLTextureHelper::*TextureImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLenum format,
GLenum type,
const GLvoid *
pixels);
681 typedef void (
QOpenGLTextureHelper::*TextureImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
const GLvoid *
pixels);
683 typedef void (
QOpenGLTextureHelper::*TextureSubImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const GLvoid *
pixels);
684 typedef void (
QOpenGLTextureHelper::*TextureSubImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid *
pixels);
689 typedef void (
QOpenGLTextureHelper::*CompressedTextureSubImage2DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLsizei imageSize,
const GLvoid *
bits);
690 typedef void (
QOpenGLTextureHelper::*CompressedTextureSubImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const GLvoid *
bits);
693 typedef void (
QOpenGLTextureHelper::*CompressedTextureImage3DMemberFunc)(
GLuint texture,
GLenum target,
GLenum bindingTarget,
GLint level,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLsizei imageSize,
const GLvoid *
bits);
696 TextureParameteriMemberFunc TextureParameteri;
697 TextureParameterivMemberFunc TextureParameteriv;
698 TextureParameterfMemberFunc TextureParameterf;
699 TextureParameterfvMemberFunc TextureParameterfv;
700 GenerateTextureMipmapMemberFunc GenerateTextureMipmap;
701 TextureStorage3DMemberFunc TextureStorage3D;
702 TextureStorage2DMemberFunc TextureStorage2D;
703 TextureStorage1DMemberFunc TextureStorage1D;
704 TextureStorage3DMultisampleMemberFunc TextureStorage3DMultisample;
705 TextureStorage2DMultisampleMemberFunc TextureStorage2DMultisample;
706 TextureImage3DMemberFunc TextureImage3D;
707 TextureImage2DMemberFunc TextureImage2D;
708 TextureImage1DMemberFunc TextureImage1D;
709 TextureSubImage3DMemberFunc TextureSubImage3D;
710 TextureSubImage2DMemberFunc TextureSubImage2D;
711 TextureSubImage1DMemberFunc TextureSubImage1D;
712 TextureImage3DMultisampleMemberFunc TextureImage3DMultisample;
713 TextureImage2DMultisampleMemberFunc TextureImage2DMultisample;
714 CompressedTextureSubImage1DMemberFunc CompressedTextureSubImage1D;
715 CompressedTextureSubImage2DMemberFunc CompressedTextureSubImage2D;
716 CompressedTextureSubImage3DMemberFunc CompressedTextureSubImage3D;
717 CompressedTextureImage1DMemberFunc CompressedTextureImage1D;
718 CompressedTextureImage2DMemberFunc CompressedTextureImage2D;
719 CompressedTextureImage3DMemberFunc CompressedTextureImage3D;
734 void (
QOPENGLF_APIENTRYP TextureImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border,
GLenum format,
GLenum type,
const GLvoid *
pixels);
737 void (
QOPENGLF_APIENTRYP TextureSubImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const GLvoid *
pixels);
742 void (
QOPENGLF_APIENTRYP CompressedTextureSubImage3DEXT)(
GLuint texture,
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const GLvoid *
bits);
760 void (
QOPENGLF_APIENTRYP TexSubImage3D)(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLenum type,
const GLvoid *
pixels);
766 void (
QOPENGLF_APIENTRYP CompressedTexSubImage3D)(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth,
GLenum format,
GLsizei imageSize,
const GLvoid *
data);
793 #undef Q_CALL_MEMBER_FUNCTION
The QOpenGLContext class represents a native OpenGL context, enabling OpenGL rendering on a QSurface.
The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.
void glPixelStorei(GLenum pname, GLint param)
void glGetBooleanv(GLenum pname, GLboolean *params)
void glGetIntegerv(GLenum pname, GLint *params)
The QOpenGLPixelTransferOptions class describes the pixel storage modes that affect the unpacking of ...
void setSkipPixels(int skipPixels)
bool isLeastSignificantBitFirst() const
void setRowLength(int rowLength)
void setImageHeight(int imageHeight)
void setSwapBytesEnabled(bool swapBytes)
void setSkipRows(int skipRows)
bool isSwapBytesEnabled() const
void setLeastSignificantByteFirst(bool lsbFirst)
void setAlignment(int alignment)
void setSkipImages(int skipImages)
void glTextureStorage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)
void glTextureView(GLuint texture, GLenum target, GLuint origTexture, GLenum internalFormat, GLuint minLevel, GLuint numLevels, GLuint minLayer, GLuint numLayers)
void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width)
void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)
void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void glCompressedTextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void setPixelUploadOptions(const QOpenGLPixelTransferOptions &options)
QOpenGLFunctions * functions
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
void glTextureStorage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
void glTextureImage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glActiveTexture(GLenum texture)
void glTextureParameterfv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLfloat *params)
void glTextureStorage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width)
void glTextureParameteriv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLint *params)
QOpenGLPixelTransferOptions savePixelUploadOptions()
void glTextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureImage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations)
void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img)
void glGenerateTextureMipmap(GLuint texture, GLenum target, GLenum bindingTarget)
void glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureStorage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)
void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
void glGenerateMipmap(GLenum target)
void glTextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
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)
void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)
void glCompressedTextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glCompressedTextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureParameterf(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLfloat param)
void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
void glCompressedTextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void glTextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glCompressedTextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTextureStorage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations)
void glCompressedTextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits, const QOpenGLPixelTransferOptions *const options=nullptr)
QOpenGLTextureHelper(QOpenGLContext *context)
void glTextureParameteri(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLint param)
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)
void glTextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const QOpenGLPixelTransferOptions *const options=nullptr)
void glTexBufferRange(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size)
#define QOPENGLF_APIENTRYP
GLenum GLuint GLenum GLuint GLuint GLuint GLuint numlayers
GLboolean GLboolean GLboolean b
typedef GLint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)(GLuint program
GLint GLenum GLsizei GLsizei GLsizei depth
typedef GLfloat(GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC)(GLuint path
GLenum GLuint GLint level
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint origtexture
GLenum GLuint GLenum GLuint GLuint GLuint minlayer
GLsizei GLenum GLsizei GLsizei GLboolean fixedSampleLocations
GLint GLenum GLsizei GLsizei GLsizei GLint border
GLint GLint GLint yoffset
GLint GLint GLint GLint zoffset
typedef GLsizei(GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target)
GLenum GLuint GLenum GLuint GLuint numlevels
typedef GLenum(GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC)(void)
GLint GLenum internalformat
GLenum GLuint GLenum GLuint minlevel
typedef GLboolean(GL_APIENTRYP PFNGLISENABLEDIOESPROC)(GLenum target
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum const GLint * param
GLenum GLuint GLintptr offset
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const void * pixels
typedef GLuint(GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC)(GLuint count
GLint GLsizei GLsizei GLenum format
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
GLsizei GLenum internalFormat
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const void * bits
#define GL_UNPACK_SKIP_IMAGES
#define GL_UNPACK_IMAGE_HEIGHT