monster w/ glowing parts
Moderator: Graf Zahl
- Eriance
- Posts: 150
- Joined: Wed Mar 29, 2006 19:36
- Location: Everywhere and nowhere
- Contact:
monster w/ glowing parts
Does GZdoom support sprites were a certain color is always bright? Duke 3d has monsters where their eyes or all the red colors or green colors glow (uneffected by light). Cant Gzdoom do this, maybe through PNG's and alpha channels?
- Paul
- DRD Team Admin (Inactive)
- Posts: 1058
- Joined: Thu Jun 30, 2005 13:30
- Location: Poland - Grojec / Radom
- Contact:
In Software renderer, which relies on the colormap, that is possible. Colormap is a lump that matches specific pallette's indexes (colors) onto colors in the game, depending on the light level the color is in (in light diminishing. Technique used in Build's games, Doom games and RoTT. Prolly something else as well).
In plain english-Colormap lump informs the engine that white, in darkness, becomes grey, then black. If one would adjust the colormap so specific colors (like red) are mapped as the same color despite the light level-then you would achieve full bright color in all light values, which would produce your desired effect.
DSV 5 uses this:
http://www.doomworld.com/idgames/index.php?id=12361
In OpenGL (in Gzdoom) the renderer doesn't use the colormap to produce the light sourcing, which results in much better visuals. The sacrifice is the fullbright pixels effect (that and colormap-based fog, though fog can be still done in OpenGL).
Sorry, impossible
In plain english-Colormap lump informs the engine that white, in darkness, becomes grey, then black. If one would adjust the colormap so specific colors (like red) are mapped as the same color despite the light level-then you would achieve full bright color in all light values, which would produce your desired effect.
DSV 5 uses this:
http://www.doomworld.com/idgames/index.php?id=12361
In OpenGL (in Gzdoom) the renderer doesn't use the colormap to produce the light sourcing, which results in much better visuals. The sacrifice is the fullbright pixels effect (that and colormap-based fog, though fog can be still done in OpenGL).
Sorry, impossible

- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Perhaps impossible via a colormap, but surely other ways would be possible? eg JDoom has some way of defining parts of certain textures to be able to glow (eg the little green and red pixels on some of the TEKWALL textures have a light associated with them somehow). Perhaps the same principle can be extended to sprites?
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
I guessed that would be the case. Presumably it'd be something like a sprite of the same size but all black, or transparent, or something, and with the appropriate part picked out in suitable colours? Fairly quick to do for textures, a bit of a tedious task for full sprite sets (although I guess most would only require gun flashes and so on), but not difficult and certainly something I'd like to have as an editing option.
- Paul
- DRD Team Admin (Inactive)
- Posts: 1058
- Joined: Thu Jun 30, 2005 13:30
- Location: Poland - Grojec / Radom
- Contact:
- Nash
- Developer
- Posts: 1226
- Joined: Sun Sep 25, 2005 1:49
- Location: Kuala Lumpur, Malaysia
- Contact:
-
- Posts: 130
- Joined: Sat Oct 08, 2005 19:22
Theres no reason why this can't be done automatically by the engine. For example, you already have the palatte colour translation working in hardware (correct?) so you could do something similar which then creates the "mask" dynamically and then use multitexturing.
Sure, an intergrated Quake3 style shader (!fragment shader) system would allow for this and be more flexible.
Another option is (as mentioned) to use addtional geometry + texture + blend mode. Or you could write only those glowing pixels to a color buffer, grab the buffer as a texture, and then do a fullscreen additive pass. You could save a copy of the buffer, blur and then combine with the other buffer and then do the fullscreen pass to get a bloom effect too
In theory you could also write a fragment shader for this too.
Sure, an intergrated Quake3 style shader (!fragment shader) system would allow for this and be more flexible.
Another option is (as mentioned) to use addtional geometry + texture + blend mode. Or you could write only those glowing pixels to a color buffer, grab the buffer as a texture, and then do a fullscreen additive pass. You could save a copy of the buffer, blur and then combine with the other buffer and then do the fullscreen pass to get a bloom effect too

In theory you could also write a fragment shader for this too.
- Paul
- DRD Team Admin (Inactive)
- Posts: 1058
- Joined: Thu Jun 30, 2005 13:30
- Location: Poland - Grojec / Radom
- Contact:
- wildweasel
- DRD Team Admin (Inactive)
- Posts: 2132
- Joined: Wed Jun 29, 2005 22:00
- Location: the Admincave!
- Contact:
- Zeg-Vok
- Posts: 233
- Joined: Wed Sep 21, 2005 18:04
- Location: Up the creek without a paddle
- Contact:
- Nash
- Developer
- Posts: 1226
- Joined: Sun Sep 25, 2005 1:49
- Location: Kuala Lumpur, Malaysia
- Contact: