Google-apps
Hoofdmenu

Post a Comment On: C0DE517E

"Normalmaps everywhere"

10 Comments -

1 – 10 of 10
Blogger Sander van Rossen said...

Hey, interesting post. I've been working on physical based shading lately, and this is something I'm currently researching, so great timing!
I do have some questions though.
You mention "Occlusion maps", do you mean something like pre-baked ambient occlusion here? Otherwise I'm not entirely sure what occlusion maps are supposed to be ...
Also, did I understood correctly that you dropped normal maps entirely?

February 2, 2012 at 2:39 AM

Anonymous Daniel Holden said...

What are your thoughts on the work Crytek was doing into making normal mapping better? That included better compression methods and accurate storage in the g-buffer.

Is this not enough or is the MipMapping issue the real killer?

February 2, 2012 at 3:05 AM

Blogger Charles de Rousiers said...

Hi,

Good article. I like you way to see the problem as pre/post filtering!

I have just two remarks:

- You definitely should read this article : http://hal.inria.fr/inria-00589940/en . It sums up the main methods/techniques used for filtering non-linear functions in computer graphics, especially for normal map.

- Just to be right, you said : "We already know that in reality our materials are made by purely specular, tiny fragments, that average together to create what we model ...". Lot of people are confusing about that. It is not the reality. In reality light waves interact with atoms/electrons. What you describe is just a physical model for explaining what is happening :)

February 2, 2012 at 7:00 AM

Blogger DEADC0DE said...

Sander: I just mean to mind about occlusions, as a mean to "encode detail" in general. Then yes, you can think about baked AO or multiplying the occlusion in the diffuse and specular or as in the example I made for skin (where diffuse SSS makes occlusion less relevant there) just use specular occlusion (you might also want to have a higher exponent inside the pores, as the normals there are occluded thus restricting the range of the possible specular highlight but it's probably overkill)

February 2, 2012 at 11:13 AM

Blogger DEADC0DE said...

Daniel: mipmapping is the core issue yes

February 2, 2012 at 11:13 AM

Blogger DEADC0DE said...

Charles: Thanks for the link. And I acknowledge that saying "in reality" is an abuse, but you made the same mistake. In reality we don't have microfacets nor atoms, they are _all_ physical models of reality and I just choose the one that fits better the domain I was working in :)

February 2, 2012 at 11:14 AM

Anonymous Anonymous said...

I'm not a programmer, could I make a shader in UDK's material nodes that just increases the gloss and fades the normal map as the pixel depth increases? would this give roughly the same effect?

February 3, 2012 at 4:16 PM

Anonymous Anonymous said...

Just curious.. have you had a chance to form an opinion about Toksvig's Normal mipmapping approach?

February 1, 2013 at 9:01 PM

Anonymous Anonymous said...

Anon1: You could widen a bit of gloss as the normalmap mip increases (no need to fade the normalmap as it will "fade" itself automatically, that's the problem), but that will "work" only for normalmaps that are more or less equally rough everywhere (could be a workaround for skin pores fading away with mips, for example). A normalmap that has flat areas, and rough ones, won't work correctly with just a constant change everywhere

February 8, 2013 at 1:23 PM

Anonymous Anonymous said...

Anon2: Toksvig is in general a very nice idea. Honestly I don't know how much better a custom fit like the one I sketch in mathematica would work over Toksvig, mine was just an exercise. In general though, the point is to understand Toksvig and Lean and Clean and know that following the same principles you can/should formulate your own based on whatever shading model you're employing.

February 8, 2013 at 1:25 PM

You can use some HTML tags, such as <b>, <i>, <a>

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot