Home Technical Talk

RGB vs Greyscale glow maps

polycounter lvl 11
Offline / Send Message
Sastrei polycounter lvl 11
For glow/self-illumination maps, what are the differences or use cases between using a full RGB texture and a black and white texture? Why would you use one or the other, and what is the purpose of having a full color emission map?

Replies

  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    full color would allow multiple different colors to be represented on one texture. In a standard shader. color tinting the emissive may be inadequete, though tinting is still usually an option depending on engine and shaders you are using. 
  • ZacD
    Offline / Send Message
    ZacD ngon master
    Full color glow maps are necessary if you want the "off color" and the "glow color" to be different. Otherwise you could get away with using the diffuse/base color as the color of the glow, and the greyscale as the relative intensity.
  • Eric Chadwick
    I've done a lot of work with grayscale glow maps, they give a lot of variability thru tinting, and you can store three grayscale maps for the same memory cost as one rgb bitmap. Check out my sketchbook for examples.

    Grayscale maps are limited though, you usually get just one hue for all the map. If you want different colors across your model, then a tinted grayscale map won't do.

    You can get fancy, and store multiple masks in one channel, but it gets messy to maintain, compression gives trouble, and the shader gets complex.
  • Sastrei
    Offline / Send Message
    Sastrei polycounter lvl 11
    @ZacD this is what I thought originally, which makes me think the game I'm dealing with has a non-standard implementation.

    If we are talking about a spaceship for example, the diffuse should be able to look like the engines are turned off, that way the RGB glow map influence can be added to the base diffuse texture (say as the ship speeds up and the engines turn on), right?

    @Eric Chadwick your portfolio site and sketchbook has a ton of fantastic information, thank you!

    In terms of memory cost I guess I am looking at two options for the situation I outline above:
    RGB map x 2 for engineOn and engineOff states + grayscale illum map
    RGB map for engineOff state + RGB illum map for engineOn state (+ alpha channel for masking lights which wouldn't be affected by the state change)

  • Eric Chadwick
    I would just use a single RGB bitmap. Red channel = windows and other static lights of the same window color. Green channel = engine glow, and animate a material color mutiplier to turn engines on/off. Blue channel= available for a 2nd glow color, maybe red flashing aviation lights?
Sign In or Register to comment.