Home Technical Talk

Putiing cavity into albedo

polycounter lvl 10
Offline / Send Message
dzibarik polycounter lvl 10
I had this argument with a colleague. I've argued that you shouldn't put any sord of cavity information into albedo (same goes for AO, sharpening and so on) while he said that it's ok for PBR. While we don't argue about AO, I can't remember anything substantial being said about cavity maps.

Can people with more experience make this issue clear - is there a solid rule on that?

Replies

  • Bal
    Offline / Send Message
    Bal polycounter lvl 17
    Theoretically (and ideally) no you shouldn't, in practice, depending on the engine, lighting, project, position of the moon in the sky, you might still have to a bit to get the results your art direction wants.
  • Fingus
    Offline / Send Message
    Fingus polycounter lvl 11
    If you're using cavity to give the look of edge wear and dirt gathering in crevices it should be fine. Although in those cases you should probably use it as masks for those effects rather than just overlay it.
    Same with AO really. Use it as a mask, but don't multiply it on top of your albedo to give the look of self shadowing. That's what the AO input in PBR shaders is for.
  • thomasp
    Offline / Send Message
    thomasp hero character
    well if it's for game use then the only rule i have encountered so far is that whatever subtle stuff tech promises the engine can do at the start of a project, they will remove by the end of it to make the whole thing run. forcing you to bake and cheat to keep the look.

    as long as you have everything separated into layers i do not see what the problem could be. you can always adapt the textures.
  • Clark Coots
    Offline / Send Message
    Clark Coots polycounter lvl 12
    You can bend the "rules" if you want, depends on the look you're going for.
  • EarthQuake
    Theres different ways too look at this, and it really depends on what you mean when you save cavity map. A lot of people mean curvature map (which has both concavity and convexity information in it) which is handy to use for various texturing effects but should NOT be throw directly on your diffuse/spec maps.

    A cavity map which only contains concavity information can be useful for micro occlusion in both spec and diffuse maps, as shaders/geometry often aren't detailed enough to account for very small pores, cracks, etc. Though generally, if your game has screen space reflections that does a better job of reflection occlusion than baked down maps.

    More on cavity vs curvature, including how to convert curvature to concavity/convexity maps here: http://www.polycount.com/forum/showthread.php?t=140861

    AO maps certainly should not be multiplied directly onto diffuse or spec, they should be loaded as a separate pass and only applied to ambient diffuse lighting typically. Otherwise if you shine a dynamic light on it, the surface never lights up, which is not physically plausible and looks dumb.
  • Chimp
    Offline / Send Message
    Chimp interpolator
    Earthquake needs an award for most helpful user by far.
  • Ben Cloward
    Offline / Send Message
    Ben Cloward polycounter lvl 18
    This comes down to the reason you don't put AO into your textures - which is that the engine should be generating the AO in realtime so that it's dynamic as part of the lighting instead of baked in. If your engine can't capture the detail that you get with a cavity map in the real-time AO, then you probably need to help it out by putting those details in the texture. It should definitely go into the spec map, and how you use it in the diffuse map comes down to art direction.
Sign In or Register to comment.