buzzwords or not?

Vadi

Regular
Hello!

I have some questions:

There has been talk about "virtual displacement mapping" or "holographic texture mapping". It's part of the Unreal3- and Farcry-engine. I know this effect as "bump-mapping".

So why the new buzzwords (Does it self-shadowing [which isn't available in 3d-rendering-software as far as I know])?

Would it be possible to make decals (bullet-holes) perturb according to the bumps-maps?


Also a member of Crytek talks about a new feature called "holographic-shadows". According to him they're cool because they are are realtime (I hope I understood him correctly because I watched him on a video of the Nvidia-event [about the NV40]).

How are they different from shadow-maps or stencil-shadows (roughly)?


Thank you very much!


Vadi
 
"virtual displacement mapping" and "holographic texture mapping":
Traditional bumpmapping perturbs the normal used in the lightning equation, but doesn't affect texture coordinates.
The method above (it's two names on the same thing) samples the height map, calculates a texture displacement depending on the height and the angle you're looking at the surface, and then samples all the rest of the textures at that displacement.

I'm not sure what "holographic-shadows" are. But it might be self-shadowing bumpmap (used together with "holographic texture mapping").

Se both effets together in Humus' "Self shadowing bumpmapping" demo.
Go here, and click "Direct3D" in the menu.

And it's a lot better looking than traditional bump maps.
 
I really wonder why no one did this technique before. I saw a demo back when the 8500 was out:
http://www.shaderstudio.com/images/BumpDispl.jpg
Maybe he just needed some better art for it to get noticed.

I'm not sure, but isn't it impossible to do this technique with PS 1.3 or less? If people are ogling over this technique now in the PS 2.0/3.0 era, just think of how much it would have helped ATI while it struggled through those times, trying to convince people PS 1.4 was a very good thing. I think only developers understood.
 
I always thought that traditional bumpmapping was "virtual displacement mapping" and "holographic texture mapping"! Somehow I thought that perturbing the normals implies perturbing everything other (for that face) too!

Tim Sweeney called "virtual displacement mapping" "holographic texture mapping" (seems to be named offset-mapping too).

Doom3 also does this or am I wrong?


I'm pretty sure the guy from Crytec pointed out that all the shadows of the trees are suddenly realtime. He didn't point to any bump-shadows (this would mean volumetric rendering I think).

I already saw Humus' "Self shadowing bumpmapping" demo and some of the other demos too :D .

Thank you!


Vadi
 
For me "texture coordinate adjustment" + "normal perturbation" was bump mapping.
Is "texture coordinate adjustment" like perturbing a texture map (for example straight lines get curved across a dent)? I ask because 3d-rendering-software doesn't do this and I always though that it did.

Thanks a lot!


Vadi
 
Vadi said:
For me "texture coordinate adjustment" + "normal perturbation" was bump mapping.
Never was. Until very recently, texture coordinates were never affected by bump mapping. Bump mapping algorithms have, in the past, only perturbed the lighting. This meant that bump mapped surfaces only looked correct if viewed face-on, and started to look very poor very quickly at even reasonable angles.

With parallax mapping (or whatever one of the other dozen terms you want to call it), lighting is adjusted in the normal fashion, but the base texture is also affected by the bump map, to give a much better feeling of depth. Parallax-mapped surfaces still look superb until you are almost perfectly edge-on.
 
Now I ask myself why this has never been used in software-rendering?
Anyway!
Thanks a lot!


Vadi
 
Hi again!
I just watched the video again and Farcry will use "volumetric soft shadows". Please could someone explain roughly how this way is different from stencil shadows or shadow maps?

Thank you very much!


Vadi
 
Vadi said:
Hi again!
I just watched the video again and Farcry will use "volumetric soft shadows". Please could someone explain roughly how this way is different from stencil shadows or shadow maps?
Volumetric soft shadows most likely refers to a stencil shadow technique (I believe volume shadows pretty much always refer to stencil shadows....). You can get soft shadows from stencil shadows by "jittering" the position of the light and rendering multiple shadow hulls for each object. There is a significant performance hit, of course.
 
The "virtual displacement mapping" is just a fancy name for a high quality bump mapping implementation. It really isn't "new" it's just been recently rediscovered in the real time rendering domain. For example, I had rendering software for my Amiga in 1992 or so that did this correctly. It sure looks much better than not doing though ;)
 
Chalnoth said:
Vadi said:
Hi again!
I just watched the video again and Farcry will use "volumetric soft shadows". Please could someone explain roughly how this way is different from stencil shadows or shadow maps?
Volumetric soft shadows most likely refers to a stencil shadow technique (I believe volume shadows pretty much always refer to stencil shadows....). You can get soft shadows from stencil shadows by "jittering" the position of the light and rendering multiple shadow hulls for each object. There is a significant performance hit, of course.

A new and very good soft shadow technique that used stencil/shadow volumes was presented at last year's "Graphics Hardware" and "SIGGRAPH" conferences.
 
Mintmaster said:
I'm not sure, but isn't it impossible to do this technique with PS 1.3 or less?

afaik yes it can be done on original dx8 hardware (theres a few demos around). nvidia also had a gf4 demo with bumpmapping that adjusted z values so it looked better when intersecting another surface.
 
Aha!
Her is an explanation about those stencil soft shadows:
http://www.tml.hut.fi/Opinnot/Tik-111.500/2002/paperit/matti_dahlbom.pdf
I was surprised that you could do realtime area shadows. However there are two methods described:

1. replace light with multiple darker lights :arrow: performance hit

2. render as usual and smear out the shadow (size depending on distance from the shadowing vertex to the shadow receiving surface)

Obviously the second method, which is inaccurate, will be used for Farcry PS3.0. The trees indeed look like that (they simply look like shadow-mapped).

It would be sad and pretty dumb if Crytek they did their soft shadows for PS3.0 only, because the guy from Crytek himself said it would be possible to do it with PS2.0.

@Mintmaster:
Probably you meant this (demo):
http://www.aceshardware.com/read_news.jsp?id=65000404
Needs no pixel shader but is only useful for stills (no moving light or camera).

@GameCat:
I had an Amiga too! But I only played around with a demo of Deluxe Paint IV and played games :? . It is puzzling that 3d-software nowadays doesn't do offset mapping :oops: .

@Bambers:
bumpmapping that adjusted z values so it looked better when intersecting another surface.
I still think that this is volume rendering.

Thanks a lot!


Vadi
 
Vadi said:
Now I ask myself why this has never been used in software-rendering?
Anyway!
Thanks a lot!


Vadi

because it isn't cheap at all until very recently in hardware ? yes, that _could_ be a reason.
 
Didn't think of that! Sorry!

Thank you very much!


Vadi


edit: I didn't want to be nerve wrecking. Sorry! :oops: .
 
Vadi said:
Didn't think of that! Sorry!
It might have been cheaper, for instance, to just do normal displacement mapping than to do parallax mapping in software renderers.
 
Bambers said:
Mintmaster said:
I'm not sure, but isn't it impossible to do this technique with PS 1.3 or less?

afaik yes it can be done on original dx8 hardware (theres a few demos around). nvidia also had a gf4 demo with bumpmapping that adjusted z values so it looked better when intersecting another surface.
Would you mind explaining to me how?

I know you can do it in PS 1.4, because you can do the displacement math before the phase marker, then look up the normals and do math after the phase marker. Something like this:
Code:
ps_1_4

texld r0, t0 //height lookup
texcrd r1, t1 //bump, diffuse coords
texcrd r2, t2 //offset direction computed by VS

mad r3, r0.a, r2, r1

phase

texld r0, r3 //offset bump lookup
texld r1, r3 //offset normal lookup

//now do whatever you want for lighting...

I remember the Z correction, but that still didn't do the offset stuff.

You know what, now that I think of it, you could probably do it with ps 1.1 using texm3x2tex, but you'd have to get creative, putting the height in it's own map with one channel constantly at 1 and splitting the offset direction into two texture coordinates. Plus you could only get the colour in one pass, then the diffuse bump map in another pass, and specular bump in yet another (latter two need separate passes due to lack of texture slots for light and halfway vectors together). Can you think of a better way?

It still would have been a tangible benefit for the 8500/9000 series. I think ps 1.4 only started getting public respect when NVidia said (in their HL2 rebuttal) some shaders in HL2 should be ps 1.4 if ps 2.0 wasn't needed, and even this minor attention was only there because of the irony involved.
 
Hi!

@Mintmaster:
I don't know why I thought that you pointed me to a soft stencil demo. Sorry!


Vadi
 
Back
Top