Projects that have specifically been abandoned or considered "dead" get moved here, so people will quit bumping them. If your project has wound up here and it should not be, contact a moderator to have it moved back to the land of the living.
Gez wrote:Yeah, that's it. Brighter light? Make it a whiter color. Dimmer light? Darker color. That's all there is to it. It's enough for Doom 64; and in GZDoom it would be combined with all the other effects at out disposal (fade, fog, per-surface light level...) so there's no real need for any further control.
Yes, there is. The system cannot replicate light level, it can only replicate color which are two entirely separate properties in GZDoom. The light level logic in GZDoom is a very complex thing that works quite differently. Mixing this so it won't break dynamic lights, depth fading and some other stuff is not going to be easy.
That reminds me, how does one change the distance before things start fading out? Doom 64 fades things somewhat quickly but most maps are so small you don't notice it. Maps like Blood Keep, The Absolution seem to be the easiest to observe it. I know I could probably set the level fade in MAPINFO to black and lower the fog density but it ends up making the whole level darker which isn't ideal.
Thanks! Since the editor doesn't support them right now, just typing in the thing numbers, blindly placing them and repeatedly running the executable to check my work will have to do.
Archviz in GZDoom? ;) The attenuated lights makes ALL the difference!
Nevander wrote:
That reminds me, how does one change the distance before things start fading out? Doom 64 fades things somewhat quickly but most maps are so small you don't notice it. Maps like Blood Keep, The Absolution seem to be the easiest to observe it. I know I could probably set the level fade in MAPINFO to black and lower the fog density but it ends up making the whole level darker which isn't ideal.
That is controlled by the light level. Which is precisely the problem with a Doom64 lighting implementation. It will require either some change to the lighting model or some explicit setting of light level and color values.
Not me, I'll be that guy - what's the difference between the regular lights and attenuated ones? OK, OK, yeah, they're attenuated, but what does that actually mean as far how how they look in a map and what they are better used for versus the older ones?
Not so technical explanation: Attenuated lights are more realistic.
If you've ever played the game "Dark Souls" ... if you walk too close to the wall, the light emitted by the player will have an increasingly smaller radius. The illumination being calculated actually reacts to the angle and distance of the surface it's trying to light. This lighting model can be observed in pretty much any modern game WRT to spherical dynamic lights.
The problem with attenuated lights though is that the amount of surface that gets illuminated is perceived to be "smaller" - this became a problem in the past when attenuated lights replaced non-attenuated lights - mappers that relied on dynamic lights to light their maps are suddenly getting dark maps and they're lighting design broken. So attenuated lights is now opt-in via GLDEFs and new placeable dynamic light things.
Last edited by Nash on Thu Jan 19, 2017 12:36 pm, edited 1 time in total.
What are the arguments to attenuated lights?
And, yes, what's the technical difference compared to the normal lights? (in relation to WYSIWYG presentation in GZDB visual mode)
Edit: saw the above post, so the differences are mostly on the GZDoom side and no argument changes. Ok.
ZZYZX wrote:What are the arguments to attenuated lights?
And, yes, what's the technical difference compared to the normal lights? (in relation to WYSIWYG presentation in GZDB visual mode)
Arguments are exactly the same, and the technical difference is a different math formula when calculating the brightness of a pixel that's affected by the light in the shader. Attenuation multiplies the light with the affected plane's normal vector.
Do I use dot product between surface normal and direction to light normal? (sorry, kinda bad at maths, just remember some basic operations to achieve result X)
If so, do parallel normals mean 0% light or there's some further scaling? (maybe there's some place to look at in the code?)