Normal mapping? Tangents? Binormals?

Started by
37 comments, last by es 12 years, 7 months ago
>I was afraid that it could have been expensive :)

I don't think it's expensive compared to using more interpolators.

>derivative maps approach(camera space) - 415 fps
>derivative maps approach(object space) - 385 fps
>tangent space approach - 425 fps

Interesting numbers. Looks like they are fairly close.

>But, Morten, is this correct to compute perturbing normal in view space when you have any scale factor in world matrix?

To some extent it's a matter of definition. There is nothing wrong imo with defining the perturbation as taking place in view-space.
That being said you are correct that if you intend to scale the object then to get the same visual impact from the bumps you'd also have
to scale up the bump-scale accordingly by the same object scale when perturbing in view-space. This bump scale represents the magnitude/length of the imaginary displacement
applied to the original surface.
If the scale is non-uniform then ideally you'd have to perturb in object space and transform as you have been doing. However, you could also simply do some approximate solution
which takes either the max or the average of the 3 object scales and then applies that to the bump scale and use it in the view-space perturbation.
Using non-uniform object scales from object space to view space is fairly uncommon in games though. Most games don't even support scaling going from object to view space.

>Is there any rule or maybe hint how to control user-scale for dBs and dBt or designers specify it "by sight" ?


Like I said the bump scale (not counting the dimension part) is actually the magnitude/length of the displacement to the original surface.
See figure 1 in the thesis I referenced --> http://image.diku.dk/projects/media/morten.mikkelsen.08.pdf

Does everything make sense?
Advertisement

Using non-uniform object scales from object space to view space is fairly uncommon in games though. Most games don't even support scaling going from object to view space.


It's important information for me. I'm developing GIS and i didn't know about it.

Now, it seems, i understood the most of nuances.
Morten, thanks for support and sharing of your techniques!

I will switch my code into your approach and will use it in future projects.

Dima.
I am the God of War! None shall defy me!



It's important information for me. I'm developing GIS and i didn't know about it.



I'm sorry I am not already familiar with the abbreviation GIS. What is it short for?
I only know it as some geographical software.

Cheers,

Morten.

I only know it as some geographical software.


You are right, GIS is Geographic Information System.

Dima.
I am the God of War! None shall defy me!

[quote name='mmikkelsen' timestamp='1315378242' post='4858510']
I only know it as some geographical software.


You are right, GIS is Geographic Information System.

Dima.
[/quote]

Interesting! Didn't realize you guys supported bump/normal mapping. Got any screen-shots? :)

Morten.

Interesting! Didn't realize you guys supported bump/normal mapping. Got any screen-shots?


Morten, i've sent PM to you.

Dima.
I am the God of War! None shall defy me!
Finally i would like to say that Morten's approach is slightly faster than tangent space approach
I am the God of War! None shall defy me!

Finally i would like to say that Morten's approach is slightly faster than tangent space approach


Nice :)

Care to shed some light on what changed your stats?

Cheers,

Morten



Care to shed some light on what changed your stats?


I just simplified my vertex shader. And i was able to do it, because i dont care anymore about non-uniform scaling of objects.

Dima.
I am the God of War! None shall defy me!

This topic is closed to new replies.

Advertisement