68 glDeleteTextures(1, &
m_id);
73 if (!
setupSize(image->getSize(), buildMipmaps))
79 glImage->paste(image);
89 setupPixels(level++, glImage->getSize(), glImage->getPixelData(), glImage->getBpp(), compress);
90 }
while (glImage->nextMipmap());
94 setupPixels(0, glImage->getSize(), glImage->getPixelData(), glImage->getBpp(), compress);
99 m_opaque = !image->hasTransparentPixel();
106 glBindTexture(GL_TEXTURE_2D,
m_id);
112 glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, screenRect.
x(), screenRect.
y(), screenRect.
width(), screenRect.
height());
127 glGenerateMipmap(GL_TEXTURE_2D);
164 glGenTextures(1, &
m_id);
179 "the maximum size allowed by the graphics card is %dx%d,"
180 "to prevent crashes the texture will be displayed as a blank texture",
195 texParam = GL_CLAMP_TO_EDGE;
197 texParam = GL_REPEAT;
199 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, texParam);
200 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, texParam);
208 minFilter =
m_hasMipmaps ? GL_LINEAR_MIPMAP_LINEAR : GL_LINEAR;
209 magFilter = GL_LINEAR;
212 minFilter =
m_hasMipmaps ? GL_NEAREST_MIPMAP_NEAREST : GL_NEAREST;
213 magFilter = GL_NEAREST;
215 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, minFilter);
216 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter);
244 format = GL_LUMINANCE_ALPHA;
251 GLenum internalFormat = GL_RGBA;
257 internalFormat = GL_COMPRESSED_RGBA;
260 glTexImage2D(GL_TEXTURE_2D, level, internalFormat, size.
width(), size.
height(), 0,
format, GL_UNSIGNED_BYTE, pixels);