1

I was wondering to what type of textures do people usually apply MipMaps and anisotropic filtering and to what textures we should not add these.

For example, it makes a lot of sense to add MipMaps and filtering to diffuse textures but what about other textures such as specular textures, normal textures, bump maps and so on.

So far these are the type of textures that I use

  • Diffuse texture - has mipmaps and anisotropic filtering
  • Specular texture - has mipmaps and anisotropic filtering
  • Normals texture - does not have mipmaps and anisotropic filtering
  • Bump maps(displacement) texture - does not have mipmaps and anisotropic filtering

Does this c

genpfault
  • 51,148
  • 11
  • 85
  • 139
Saik
  • 993
  • 1
  • 16
  • 40

1 Answers1

0

I personally like to be consistent and use the same filtering for all textures of the same object.

I always use mipmapping for 3D objects. There is no performance penalty for using mipmapping, and it actually tends to be faster than not using it.

Anisotropic is something I haven't measured myself but I have read it has some cost. I use it when I can notice the difference in quality. For example, it looks much better for terrain and walls. However, it doesn't improve much on smaller objects such as characters, spheres, etc.

Anyway, it depends on what you are trying to achieve, and what your budget is. If you want your application to look great, just use anisotropic filtering for everything.

tuket
  • 3,232
  • 1
  • 26
  • 41
  • My worry here is actually not even the speed at the moment to be honest. I was more interested to know if I am actually messing up some visual aspects if I am introducing mipmaps and filters into textures that suppose to act as "data" sources such as normal maps for example. – Saik May 27 '20 at 22:39
  • Ah, I see. For normal maps, the interpolation can mess up the the vectors length. So you have to normalize() the normal in the fragment shader. This is not something specific to normal maps, even the vertex interpolation of normals requires you to renormalize. Anyway, just try and see - there is no correct answer, do whatever looks fine. The whole world of real time graphics is a trick anyways – tuket May 28 '20 at 08:19
  • @Saik: Unless you also use nearest neighbor filtering, you already interpolate inside your textures. Mipmaps wouldn't make it worse. In general, normalmaps and displacement(bump) maps are continuous data anyway and it shouldn't be a problem to interpolate them. The only texture I know of which can't be linearly interpolated are shadowmap textures (and maybe renderbuffer from deferred rendering) – BDL May 28 '20 at 08:49