# 3D Textures and Mipmaps?

## Recommended Posts

Hi, I'm am currently working on my terrain-renderer and for that, I'm using 3D-Textures. Is it possible to create mipmaps/enable anistropic filtering for those 3d textures? I have ugly pixel-artefacts when moving on my terrain. But when I enable anistropic filtering in the ati-control panel, they are gone. Here is the code for creating the texture:
		glGenTextures(1, &newtexture.textureid);
glBindTexture(GL_TEXTURE_3D, newtexture.textureid);

glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);

glTexImage3D(GL_TEXTURE_3D, 0, GL_RGB, 256, 256, 4, 0, GL_RGB, GL_UNSIGNED_BYTE, buffer);

Edit: Okay, when using anistropic filtering, it works good:
	glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 4.0f);

So, now I've got another question: Does it make sense to use mipmaps? For all my 2D-Textures, I'm currently using gluBuild2DMipmaps. Should I begin to use only anis-filtering? [Edited by - Ludi83 on March 4, 2006 8:16:45 PM]

##### Share on other sites
yes u can have mipmaps for 3d textures u need to use GL_..MIPMAP.. for one of the min or max filtering methods
also u should never use gluBuild2DMipmaps for creating mipmaps use GENERATE_MIPMAP or loadd them yourself

##### Share on other sites
Narf ... double post.

##### Share on other sites
Quote:
 Original post by zedzeekyes u can have mipmaps for 3d textures u need to use GL_..MIPMAP.. for one of the min or max filtering methodsalso u should never use gluBuild2DMipmaps for creating mipmaps use GENERATE_MIPMAP or loadd them yourself

Thanks for your answer. Without using GL_GENERATE_MIPMAP, set the minfilter to GL_LINEAR_MIPMAP_LINEAR creates an invalid enum error, but now it works :) And I will ban gluBuild2DMipmaps from my texture-loader :)

But there's another problem: When using mipmaps and set the min-filter to any GL_.._MIPMAP_... value, it produces only a blurred pixel-mass:

Setting the min-filter to GL_LINEAR, I get those pixel arifacts :(

Arrrgh, what can I do? Any help?

##### Share on other sites
im using
glTexParameteri( texture_target, GL_GENERATE_MIPMAP, GL_TRUE );
glTexParameteri( texture_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR );

no probs
if its to blurred perhaps the 3dtexture size is to small?
though in those screenshoots it looks like u would only be using the mag filter and not the min since the 3d image takes up a large part of the screen

##### Share on other sites
Quote:
 Original post by zedzeekim using glTexParameteri( texture_target, GL_GENERATE_MIPMAP, GL_TRUE );glTexParameteri( texture_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR );no probsif its to blurred perhaps the 3dtexture size is to small?though in those screenshoots it looks like u would only be using the mag filter and not the min since the 3d image takes up a large part of the screen

It works now, just before I wanted to post it, you made the response :). The problem was, that this test-quad was to small. I put it on a big terrain, and it looks ... hmm ... little bit better now :)

But I have a problem with anisotropic filtering. As soon as I enable it, I get those strange shadows/whatever on my terrain (but I don't do any shadowing yet). Is it a dirver-bug, perhaps?

Edit:
I'm using a Radeon9800 Pro, don't know which driver (I think 5.11/12) :)

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
627708
• Total Posts
2978730

• 21
• 14
• 12
• 22
• 35