build mipmaps with GLU for texture shader
This commit is contained in:
parent
ab56320889
commit
e53e626a63
@ -51,9 +51,18 @@ static GLuint load_texture(const char *fname)
|
||||
GLuint id = loadTexture(fname);
|
||||
if (id != 0)
|
||||
{
|
||||
int width, height;
|
||||
glBindTexture(GL_TEXTURE_2D, id);
|
||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
|
||||
glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height);
|
||||
char *data = (char *) malloc(4 * width * height);
|
||||
glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
|
||||
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGBA,
|
||||
GL_UNSIGNED_BYTE, data);
|
||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
|
||||
GL_LINEAR_MIPMAP_LINEAR);
|
||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
free(data);
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user