When you put a bump map on a flat object and look at it from an angle, you can see some mip map boundaries. Depending on the situation, this can be fairly noticable. Turning off mipmaps tends to make it look worse, as it makes the bump map noisey. Which makes sense. Aniso filtering is already on high, so it’s not that.
Is there any recommended solution for this, or is it one of those “hard problems”?
Thanks!
-Jon
(Attached is an image showing it, kind of. It’s much more apparent in motion. If you look carefully there is a boundary running across the platform near the center.)
Trilinear filtering on the bump texture fixed it. It was bilinear before.
For the education of all, trilinear blends across mipmap levels. Whereas bilinear has a hard line where it jumps from one mipmap level to another. (Thanks to NCarter fo the explanation)
Yeah, I’ve noticed that trilinear is often necessary for bumpmaps. Also, detail textures usually benefit a lot. With normal textures it tends not to be that noticeable, although it depends on the texture.
Yeah, with a texture sheet that has say 16 different tileable textures on it I usually create a “buffer” around each tile to allow for the mipmap reduction so I can avoid any noticable seams. I need to try trilinear now to see if it fixes the pixel bleed that I usually see if I don’t create the buffer. How expensive is trilinear versus bilinear?
Dumping trlinear for bilinear on 80% of the textures was the lastminute quickfix I did on my explosivo entry. that suprised me because I thought gpu handled textures,(128mb) and cpu handled physics detection(733mhtz) I had always figured my cpu was the bottleneck, but not so. It made it playable on my G4.
Id like to try profiling with something like shark, but Ive never done that. Maybe someone could post a how-to if its a difficult process. Im heading over to apple.com to find it right now…
AC
Here’s an example of UVs spread out and tiled to avoid any mipmap bleeding stituations. Even trilinear filtering can’t beat creating tiling buffers for each texture square in a sheet. Notice how each square is scaled back by a 1/32nd grid to avoid any sharp transitions with mipmaps. Everything is tiled on the borders to allow for any pixel reduction.
In simple terms, it is about twice as expensive on the pixel pipelines on the GPU and on the video memory bandwidth. That’s the reason why it’s not on by default; so that you’d only use trilinear where it’s actually needed.
In more complex terms, it’s not exactly twice as expensive; as 1) most GPUs have internal caches for recently used texels, so trilinear filtering is likely to hit those caches, making it less expensive. And 2) most GPUs have cunning ways to optimize trilinear lookups whenever possible. So in reality it’s not exactly twice as slow. And of course, if you’re limited by the CPU or by something else than GPU’s pixel pipelines or VRAM bandwidth, then trilinear can come for free.
Thanks, that house is just the end result from the Lightmapping tutorial for the Unity Magazine that was supposed to come out months ago. I thik it’s a decent example for how to use multiple UV sets with Lightmapping plus a good example of how to avoid mipmap seams.
Did that tutorial actually make it into the magazine? From what you’ve said that would cover a number of things I need clarification on - namely anything to do with how to best build a level in Maya for use in Unity
To clarify, this was not content that was going to be published in Unity Developer Magazine, but rather content from a previous effort to establish a magazine.
/me just doesn’t want anyone unfamiliar with things to think that I was supposed to be publishing a lightmapping tutorial months ago.