Facepunch / sbox-issues

177 stars 12 forks source link

Add a shadow quality setting for scene lights #5724

Open Fortune117 opened 5 months ago

Fortune117 commented 5 months ago

For?

S&Box

What can't you do?

Right now lights in the scene have very few options that can be changed. On maps with many lights, turning on shadows at all can incur a huge performance cost. I am currently working on randomly generated levels which include lights in the rooms being generated and shadows are by far the biggest performance hit.

How would you like it to work?

Some settings to tweak the quality of shadows cast by light sources would be nice, godot has a tonne of settings that are user accessible: https://docs.godotengine.org/en/stable/tutorials/3d/lights_and_shadows.html

It'd be nice to get some similar options.

What have you tried?

Disabling shadows is the only real option right now.

Additional context

No response

chrisspieler commented 2 weeks ago

Simply exposing the underlying scene object's ShadowTextureResolution property via Light would be good for a lot of cases.

Right now, in certain scenes where I want to avoid grainy shadows, I have to do a hacky workaround where I find the SceneLight (as in SceneObject) using tags and set ShadowTextureResolution.

https://github.com/user-attachments/assets/14f3ebac-bd5d-4bb8-86cf-c511c394488e

handsomematt commented 2 weeks ago

I think we should expose some stuff yeah, but it's not like any of this will make them more performant. They are a constant CPU cost hit regardless of any of the proposed settings