godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.13k stars 93 forks source link

Implement interval (dynamic with a .5-3 second response time) lighting #8320

Open RadiantUwU opened 11 months ago

RadiantUwU commented 11 months ago

Describe the project you are working on

VR on Mobile - a library to make it easy to use handheld controllers to make awesome VR games

Describe the problem or limitation you are having in your project

Performance issues

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Non dynamic lighting would be something between static and dynamic lighting, its lighting that doesnt update instantly, but may update sometimes. This type of lighting should preferably work in combination with VoxelGI to provide direct lighting

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Simple new enum for "Slow-Interval (VoxelGI only)" (.5-3 seconds) "Fast-Interval (VoxelGI only)" (.15-.5 seconds)

If this enhancement will not be used often, can it be worked around with a few lines of script?

No

Is there a reason why this should be core and not an add-on in the asset library?

It affects lighting and will greatly benefit other mobile game developers that also want to increase performance at the cost of lower graphics without going completely static.

AThousandShips commented 11 months ago

I'd say "non-dynamic" is a misleading name, as it's still dynamic, just not instant, more apt IMO would be "delayed/interval dynamic"

Calinou commented 11 months ago

VoxelGI isn't designed to update slowly across frames (this is something SDFGI does). What's expensive in VoxelGI anyway isn't calculating the light bounces – it's rendering the scene itself.

PS: I'm surprised you've even using VoxelGI on mobile in the first place… it's really designed as a desktop-only solution. Lightmaps and reflection probes are the mobile-friendly GI solution.

RadiantUwU commented 11 months ago

VoxelGI isn't designed to update slowly across frames (this is something SDFGI does). What's expensive in VoxelGI anyway isn't calculating the light bounces – it's rendering the scene itself.

PS: I'm surprised you've even using VoxelGI on mobile in the first place… it's really designed as a desktop-only solution. Lightmaps and reflection probes are the mobile-friendly GI solution.

Another reason im tryna set this up is cause i use Roblox and that has fast/slow interval lighting https://github.com/RadiantUwU/RobloxToGodotProject

RadiantUwU commented 11 months ago

VoxelGI isn't designed to update slowly across frames (this is something SDFGI does). What's expensive in VoxelGI anyway isn't calculating the light bounces – it's rendering the scene itself.

PS: I'm surprised you've even using VoxelGI on mobile in the first place… it's really designed as a desktop-only solution. Lightmaps and reflection probes are the mobile-friendly GI solution.

I cant use lightmaps since they're completely static and undesirable which is why i suggested interval lighting