Home Technical Talk

How are people packing their maps? How many masks do you use?

interpolator
Offline / Send Message
Shrike interpolator
So Im setting up a new texturing/shader workflow for us which is gonna be pretty important and probably running for a long time.
As I am in the finishing stages, I get the typical doubts, but just general curiousness as this is a very freestyle thing that can be done in unending ways.

I know these things are highly specific to usage case, still I would be very interested to hear how people pack their maps for their main surface shader and how many texture lookups and masks are being used, especially in a more optimized environment.

---------------------------------------------

Ill start with our previous one:
This is heavy on masks but very flexible in terms of totally changing visual styles

Map#1
RGB Diffuse Base Texture (Tiling or unique)

Map#2
RGB Paint Texture (Tiling)

Map#3
R - Wear Mask (Masking Paint layer from base layer, also driving gloss variance)
G - Gloss Map
B - 'Bling' Specular
A - AO 

Map#4
R - Rust Mask
G - Grime / Color Mask 2 (Secondary highlight color)
B - Base Sand/Snow Mask (Ground contact)

Map#5
RGB - Normal

---------------------------------------------

Lets hear some setups and get some inspiration!

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    Using alpha channel can double the memory footprint of a texture, because its less compressed than the other channels. So personally I avoid using it. Because using 2 rgb textures has the same memory size as a rgba one, but you have 6 channels instead of 4.
  • Shrike
    Offline / Send Message
    Shrike interpolator
    That is true, but isnt the texture lookup coming with a fixed cost also? or is it purely memory related?
  • Eric Chadwick
    You may be missing a couple maps. Metalness, emissive, transparency, sss, anisotropy, depends on what surface effects you want or need. 

    For PBR metal/rough we're using pretty standard packing.

    RGB base color, + optional A for transparency.

    RGB occlusion/roughness/metalness

    RGB emissive

    RGB normal
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    If the option is there, build the packing process into your texture/shader compiler and design the system so the shader author can define packing schemes for each effect - they know more about it than you do and more importantly they can profile the effect of changing it. 
    Eg.. It's not unusual to find that you can hide the cost of a texture lookup behind the execution of other code and essentially get it for free. 

    If you're on unreal, listen to obscura


  • Shrike
    Offline / Send Message
    Shrike interpolator
    Packing is usually not a big deal, I'm more courious which kind of masking workflows people use

    Using the standard masks (diffuse,metal,normal,rough,ao etc) is not a lot of complexity. In general I feel most people use a very rigid approach with just the basic maps, but the portfolio pieces definitely skew that.

    When you start adding things like damage effects, swappable palettes, camouflage, weathering etc then its getting a lot more interesting
Sign In or Register to comment.