Visible Mip-map boundaries with bump maps

Hello,

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.)

44839--1630--$showingmipmapproblem_686.jpg

Unqualified response here

The only time Ive ever had that issue is if , like you already pointed out, the aniso is not right…

So the diffuse tex also has trilinear filtering and aniso bumped up also?

I dont think it sholud be looking like that…<

AC

Next suggestion>

Trilinear filtering on the bump texture fixed it. :slight_smile: 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)

Thanks,
-Jon

That’s a damn good tip! Thanks Jon (and Neil).

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.

–Eric

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

EDIT thanks for the buffering tip Ethan
EDIT2 useful link perhaps:
http://developer.apple.com/tools/sharkoptimize.html

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.

Ethan

Just to show the result from that one texture sheet…

seconded - would be very good info to have!

@antenna - that looks awesome ; )

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.

Heh heh. :wink:

Looks awesome Antenna, very tight.

-Jeremy

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.