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?
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.
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.
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.
@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)
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?
Replies
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.
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)