Oh, i thought it was Half-Life style lightmaps.Hey Doomer_ wrote: ↑Sun Apr 09, 2023 1:30 am This is also noticeable in more subtle ways compared to fake contrast - such as lighting stairways (E1M9) and sides of columns (E2M5) - but that's the idea. It does produce anomalies here and there, and note that side tiers are not available in ZScript.
Relighting v4.0165b - blurry shadows w/ rlassets
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 123
- Joined: Wed Nov 11, 2020 3:25 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: Relighting v4.0159b - better light & shadow
-
- Posts: 354
- Joined: Mon Mar 25, 2013 11:47 am
Re: Relighting v4.0159b - better light & shadow
Great answer!! I really appreciate your detailed and meticulous answer!
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Relighting v4.0159b - better light & shadow
WIWO v4.0160b
I did experiment with particle lights emitting from decorative light sources, and this is underwhelming in performance and effect. I've shelved that idea for now.
At this point still kicking tires. I think this version of this mod looks and performs well, but the old version was mighty pretty. This was partly because of PBR textures and point lights attached to those textures. I'm not sure how relevant the former is outside of canonical doom, and the latter needs specific configurations that also diminish the universal nature of this version of the mod.
All the same I am looking at texture lighting again and basing choices on sector shape, placement, and lighting while ignoring the textures on the assumption that the author's intent is to create a sector that is "lit." This is scalable and universal in theory, and so far it's only POC. But here are some random screenshots:
e1m2
map02
map04
This is about 15 minutes of work while basically using existing code (treating these like decorative light sources) and just checking a few variables, but it looks interesting enough to continue to develop.
I did experiment with particle lights emitting from decorative light sources, and this is underwhelming in performance and effect. I've shelved that idea for now.
At this point still kicking tires. I think this version of this mod looks and performs well, but the old version was mighty pretty. This was partly because of PBR textures and point lights attached to those textures. I'm not sure how relevant the former is outside of canonical doom, and the latter needs specific configurations that also diminish the universal nature of this version of the mod.
All the same I am looking at texture lighting again and basing choices on sector shape, placement, and lighting while ignoring the textures on the assumption that the author's intent is to create a sector that is "lit." This is scalable and universal in theory, and so far it's only POC. But here are some random screenshots:
e1m2
map02
map04
This is about 15 minutes of work while basically using existing code (treating these like decorative light sources) and just checking a few variables, but it looks interesting enough to continue to develop.
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Relighting v4.0159b - better light & shadow
Progress v4.0160b
I have been pruning and categorizing creation of light sources. These are now sector light sources (generally reserved to well lit areas between the median and maximum areas), decorative lights, and texture lights in any sector meeting criteria. The latter are ignored for shadows. The number of light sources is now very small, although this depends on the map. Many light sources are added for light baking alone and subsequently destroyed.
I have also pruned sprite limits depending on the number of potential shadow generators on a map. For highly detailed maps this can easily be in the thousands, which understandably adds many thinkers. It isn't possible to correct for any height curve distortion, since sprite actors tend to be evenly distributed in many levels. More monsters means more ammo and health, etc. Thus I have added a factor based on the number of sprites that could generate shadows, and that factor dynamically affects Settings.
How texture lights work is simple. It doesn't consider the textures, what they are called, or anything like that; the size and ratio of sector lighting to back sectors is considered. This isn't perfect but is surprisingly effective in many cases since it is an interpretation of the author's intent.
Still a bit to do.
I have been pruning and categorizing creation of light sources. These are now sector light sources (generally reserved to well lit areas between the median and maximum areas), decorative lights, and texture lights in any sector meeting criteria. The latter are ignored for shadows. The number of light sources is now very small, although this depends on the map. Many light sources are added for light baking alone and subsequently destroyed.
I have also pruned sprite limits depending on the number of potential shadow generators on a map. For highly detailed maps this can easily be in the thousands, which understandably adds many thinkers. It isn't possible to correct for any height curve distortion, since sprite actors tend to be evenly distributed in many levels. More monsters means more ammo and health, etc. Thus I have added a factor based on the number of sprites that could generate shadows, and that factor dynamically affects Settings.
How texture lights work is simple. It doesn't consider the textures, what they are called, or anything like that; the size and ratio of sector lighting to back sectors is considered. This isn't perfect but is surprisingly effective in many cases since it is an interpretation of the author's intent.
Still a bit to do.
-
- Posts: 354
- Joined: Mon Mar 25, 2013 11:47 am
Re: Relighting v4.0159b - better light & shadow
Really a fan of the insight you provide via these status updates!
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
More Progress v4.0160b
More Progress v4.0160b
e1m2
e1m7
The above shows the effects of the new "texture" lights. These are used for light baking and some added point lights and ignored for shadow generation. I've also increased lights that are "extra" and destroyed after light baking. Overall this is looking OK, although the extra light baking increases load times a bit with some maps. That can't be helped.
Another note on texture lighting. These point lights attached to the texture take on the color of that sector and do not consider the texture itself. I have not added any exception coding.
I've played through enough of Doom I, II, and a few Heretic maps to know this is a keeper. Most maps look better, but it is far from perfect. There are areas lit before that are not now and vice versa, and in addition some sprites in some areas appear darker than baked lights suggest where sector light level remains the same. Some areas as before are barely light (there are just no visible sources of light, a common problem in Doom maps in particular) and other areas have light from no obvious source (another problem from the 90s). I'm surprised at how a few small changes have made such dramatic changes in maps. Note, extra light baking doesn't affect game play at all, since this is all calculated in WorldLoaded().
The "code cleanup" includes stuff like adding common functions and moving blocks of code to make more sense / efficiency. Most of what's done in WorldLoaded() is linear and not repetitive, but all the same there are areas for improvement.
Anyway there's a bit more to be done.
Many thanks for your patience and interest!
Edit
Adding more baked lighting - as texture lighting does - adds more realism but also means adjusting sector light levels. (The warehouse room in MAP10 is a good example of this.) This is far from perfect but getting closer. The net effect adds more light, which is still very good. Examples:
e1m3
e1m7
The calculation here looks at total light (positive numbers) and total shadow (negative numbers) added to wall textures to adjust sector light level. A problem is that sprites are lit according to sector light level and may appear darker or lighter compared to surrounding textures. Currently the default for shadow-casters is to light either in shadow (if their shadow is between themselves and the player) or use the sector light level. The sector light level is a constant, and that causes the anomalies against baked textures. Since I always know how close light is to an actor casting a shadow, tweaking that value is feasible. I'll look at that next.
Still more to do, but so far this looks very good. There is generally more light and where it is expected.
Code: Select all
v4.0160b
4/13 - added texture lights
4/15 - cap sprite & shadow distance limits by number of actors (scalability)
4/15 - general code cleanup
e1m7
The above shows the effects of the new "texture" lights. These are used for light baking and some added point lights and ignored for shadow generation. I've also increased lights that are "extra" and destroyed after light baking. Overall this is looking OK, although the extra light baking increases load times a bit with some maps. That can't be helped.
Another note on texture lighting. These point lights attached to the texture take on the color of that sector and do not consider the texture itself. I have not added any exception coding.
I've played through enough of Doom I, II, and a few Heretic maps to know this is a keeper. Most maps look better, but it is far from perfect. There are areas lit before that are not now and vice versa, and in addition some sprites in some areas appear darker than baked lights suggest where sector light level remains the same. Some areas as before are barely light (there are just no visible sources of light, a common problem in Doom maps in particular) and other areas have light from no obvious source (another problem from the 90s). I'm surprised at how a few small changes have made such dramatic changes in maps. Note, extra light baking doesn't affect game play at all, since this is all calculated in WorldLoaded().
The "code cleanup" includes stuff like adding common functions and moving blocks of code to make more sense / efficiency. Most of what's done in WorldLoaded() is linear and not repetitive, but all the same there are areas for improvement.
Anyway there's a bit more to be done.
Many thanks for your patience and interest!
Edit
Adding more baked lighting - as texture lighting does - adds more realism but also means adjusting sector light levels. (The warehouse room in MAP10 is a good example of this.) This is far from perfect but getting closer. The net effect adds more light, which is still very good. Examples:
e1m3
e1m7
The calculation here looks at total light (positive numbers) and total shadow (negative numbers) added to wall textures to adjust sector light level. A problem is that sprites are lit according to sector light level and may appear darker or lighter compared to surrounding textures. Currently the default for shadow-casters is to light either in shadow (if their shadow is between themselves and the player) or use the sector light level. The sector light level is a constant, and that causes the anomalies against baked textures. Since I always know how close light is to an actor casting a shadow, tweaking that value is feasible. I'll look at that next.
Still more to do, but so far this looks very good. There is generally more light and where it is expected.
Last edited by Hey Doomer_ on Mon Apr 17, 2023 5:22 am, edited 2 times in total.
-
- Posts: 878
- Joined: Tue May 07, 2019 12:24 pm
- Graphics Processor: nVidia with Vulkan support
Re: Relighting v4.0159b - better light & shadow
if i had to suggest 1 exception, it'd be keybar lights.Hey Doomer_ wrote: ↑Sun Apr 16, 2023 7:58 am
Another note on texture lighting. These point lights attached to the texture take on the color of that sector and do not consider the texture itself. I have not added any exception coding.
maybe add a separate, weaker, coloured light for keybars?
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Relighting v4.0159b - better light & shadow
What do you mean by keybars?Dan_The_Noob wrote: ↑Sun Apr 16, 2023 4:16 pmif i had to suggest 1 exception, it'd be keybar lights.Hey Doomer_ wrote: ↑Sun Apr 16, 2023 7:58 am
Another note on texture lighting. These point lights attached to the texture take on the color of that sector and do not consider the texture itself. I have not added any exception coding.
maybe add a separate, weaker, coloured light for keybars?
-
- Posts: 878
- Joined: Tue May 07, 2019 12:24 pm
- Graphics Processor: nVidia with Vulkan support
Re: Relighting v4.0159b - better light & shadow
like the Red/Blue/Yellow bars/skulls around key doors/switches.Hey Doomer_ wrote: ↑Sun Apr 16, 2023 4:59 pmWhat do you mean by keybars?Dan_The_Noob wrote: ↑Sun Apr 16, 2023 4:16 pmif i had to suggest 1 exception, it'd be keybar lights.Hey Doomer_ wrote: ↑Sun Apr 16, 2023 7:58 am
Another note on texture lighting. These point lights attached to the texture take on the color of that sector and do not consider the texture itself. I have not added any exception coding.
maybe add a separate, weaker, coloured light for keybars?
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Relighting v4.0159b - better light & shadow
Ok gotchaDan_The_Noob wrote: ↑Sun Apr 16, 2023 8:33 pmlike the Red/Blue/Yellow bars/skulls around key doors/switches.Hey Doomer_ wrote: ↑Sun Apr 16, 2023 4:59 pmWhat do you mean by keybars?Dan_The_Noob wrote: ↑Sun Apr 16, 2023 4:16 pm
if i had to suggest 1 exception, it'd be keybar lights.
maybe add a separate, weaker, coloured light for keybars?
-
- Posts: 190
- Joined: Mon Dec 20, 2021 6:16 am
- Graphics Processor: ATI/AMD (Modern GZDoom)
Re: Relighting v4.0159b - better light & shadow
In addition to the request above, how about having the blue/red/yellow posts by the key doors glow?
-
- Posts: 150
- Joined: Mon Jan 21, 2019 10:10 am
Re: Relighting v4.0159b - better light & shadow
Some little ideas If were talking about little neat touches.
What about filling in window slots with glass panes? or at least the ones with a view of the sky to give places more of the illusion they are real locations and not just abstract shapes.
Also an idea is for maybe small light textures to have lens flares/halo's, to give lights a bit of a 'pop'.
Lastly, what about having key doors be used by some kinda animation or something (like the access card shows up to the door, or scan's itself) rather then having a key and just magically that door is now openable, just needs something more immersive but i think this one is further away for this project then the other 2 ideas.
What about filling in window slots with glass panes? or at least the ones with a view of the sky to give places more of the illusion they are real locations and not just abstract shapes.
Also an idea is for maybe small light textures to have lens flares/halo's, to give lights a bit of a 'pop'.
Lastly, what about having key doors be used by some kinda animation or something (like the access card shows up to the door, or scan's itself) rather then having a key and just magically that door is now openable, just needs something more immersive but i think this one is further away for this project then the other 2 ideas.
-
- Posts: 219
- Joined: Fri Nov 03, 2017 6:05 pm
Re: Relighting v4.0159b - better light & shadow
Not to add to the list of featured ideas, but I'm curious if it's possible to project liquid refraction onto walls?
Spoiler:
-
- Posts: 442
- Joined: Tue Oct 18, 2022 1:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Relighting v4.0159b - better light & shadow
Sorry, not sure what I'm looking at here.BROS_ETT_311 wrote: ↑Mon Apr 17, 2023 5:10 pm Not to add to the list of featured ideas, but I'm curious if it's possible to project liquid refraction onto walls?
Spoiler:
-
- Posts: 219
- Joined: Fri Nov 03, 2017 6:05 pm
Re: Relighting v4.0159b - better light & shadow
Guess it's a little too subtle in the screenshots, but if you squint enough you should notice the water refracting onto the walls...It's honestly probably more noticeable in action.
Something like this -
Spoiler:https://imgur.com/RBkh0ea
https://imgur.com/w7VnKPL