better bump mapping

Good call. I must have been coding too fast again

This is the single best real-time effect I have ever seen !
(on my list there were realtime generalized shadows, dot3 bump mapping, and RTT based tricks)

I am really disappointed though not to be able to run it, as I only have a GF3. Any chance to translate this to register_combiners_2 (am i naive…) ? Or have a software emulation for fragment_programs ?

For software you can see if Mesa has ARB_fp support yet and use that. I think also that this could be done using register combiners on a NV2x level chip. It would probably take a few passes, but really the only thing different I see here that wasn’t already done on NV2x level hardware are those three instructions that was mentioned earlier in this thread that computes the “newtexcoord” variable.

Who knows, maybe I’ll just make a geforce 3/4 version.

-SirKnight

Wow, huge image quality difference when close-up. Nice work and thanks a bunch for sharing

Originally posted by SirKnight:
Who knows, maybe I’ll just make a geforce 3/4 version.

not possible as far as i remember the capabilities of texshaders…

radeon8500+ should be possible (fragmentshader), though…

Extremely impressive!

I especially liked how the rock wall (second texture) looked with offset mapping only (no bump mapping). I think people get all too excited and put exaggerated specular bump mapping all over the place, including on materials such as wood etc, just to give it more depth, without realizing that it looks very unrealistic.

Your offset mapping really solves this problem, making it possible to use only moderate bump mapping, or none at all, and get very, VERY convincing results.

[This message has been edited by marcus256 (edited 01-13-2004).]

Anyone got a working glut32.dll the one I have(3.7 from sgi) gives qn error that it can’t find “glutInitWithExit”.
The screenshots certainly look promising!

Charles

I tried the one at Nates GLUT 4 win page, and it worked:
http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip

Looks awesome
Gotta try this out.

yeah i yet talked with a friend about the possibility to add this to your shadowed bumpmaps, humus. together, that could look reeeeeally nice. if the math is correct done, it could get verrrrrrryy neat

Looks real nice! This method requires one additional texture (the height map) when compared to ordinary normal mapping right?

This method should be great for non-specular surfaces because the depth can be percieved with just viewpoint changes unlike the traditional normalmapping where the movement of the light source is required for a good enough perception of the depth.

Originally posted by krychek:
Looks real nice! This method requires one additional texture (the height map) when compared to ordinary normal mapping right?

Technically, yes, but you can put the height in the alpha channel of the normal map and get the value out with the same lookup. I think RGB textures are stored internally as RGBA anyway, so if that’s true you wouldn’t be wasting any memory at all either.

That actually won’t work quite right. The height map and normal map are indexed by different texture coordinates, so they require seperate lookups.

I must break my silence just to say…jesus christ that is a fantastic improvement to simple modulating bump-mapping! It’s truly stunning, but I’m just waiting for dorbie to point to a 1987 paper describing the technique.

Wow, Mo. I love graphics: something can be beautiful both in result and implementation.

You bias/offset values seem to be a local linearization of the surface. I wonder if you could extend this technique to take into account local curvature. Instead of using scale/bias and a per-texel hieght, store the coefficients of a per-texel polynomial that represents the local shape of the surface. In fact, you could probably derive the normal map from this as well.

-Won

knackered: Yeah, I’m just waiting for that too

Won: I’m not completely sure what you’re getting at, but it sounds a lot like the VDM paper that Relic posted near the top of this forum.

Scanning that paper in my copy of the proceedings…you’re right! It appears to be the same idea as VDM. Which might mean that this approach is a subset of VDM where curvature is uniformly 0 and without the silhouette mapping stuff.

Still, an awesome effect.

-Won

Edit:

On further inspection, I like Mogumbo’s technique alot more. VDM requires a stupid about of texture memory.

[This message has been edited by Won (edited 01-13-2004).]

Originally posted by davepermen:
yeah i yet talked with a friend about the possibility to add this to your shadowed bumpmaps, humus. together, that could look reeeeeally nice. if the math is correct done, it could get verrrrrrryy neat

Well, I had the exact same thought. I’ve tried this technique out now, and it works very well. As pointed out though, it does require fairly smooth bumpmaps to look good. I will make a demo though which uses both this technique and self shadowing bumpmapping, alternatively upgrade the self shadow demo to use this technique too.

You can probably get away with using any old bump map. I think it’s the height map that needs to be smooth for it to look good. Can’t wait to see what you can do with it, though.

Originally posted by Humus:
Well, I had the exact same thought. I’ve tried this technique out now, and it works very well. As pointed out though, it does require fairly smooth bumpmaps to look good. I will make a demo though which uses both this technique and self shadowing bumpmapping, alternatively upgrade the self shadow demo to use this technique too.

i just looked trough your demos … and dreamed of the addon…

and i stopped at one…

the water demo. please, oh please, add it to the water demo! it looks so brilliant, it is so smooth, it would simply make it look perfect.