Comments (8)
It might be worth turning off tighter shadow culling in project settings advanced , rendering lights and shadows, to check whether this is a regression due to tighter culling.
I can confirm disabling tighter shadow culling stops the flickering
from godot.
Getting clues now. It seems to be due to the spotlight being attached to the camera, at 0, 0 on the y and z axis.
The light position is therefore on the exact boundary for the top and bottom camera frustum planes, and sometimes the distance check is returning +0 and sometimes -0 due to float inaccuracy.
This may need an epsilon to prevent this edge condition.
UPDATE:
It looks like this can be solved just be increasing the colinearity epsilon a bit (I did have it set to a deliberately very low value, partly because once you increase it, you never know whether it can be lower).
Whether borderline frustum planes should be considered back facing is another matter, but this seems more like a question of slightly increasing efficiency, rather than affecting accuracy.
I'll make PR soon, I just want to check there aren't any other additions to make it more robust.
from godot.
It might be worth turning off tighter shadow culling in project settings advanced , rendering lights and shadows, to check whether this is a regression due to tighter culling.
If so I can investigate saturday. There is currently a known bug with directional lights in dev6, but spots and omnis no bugs currently reported.
from godot.
It might be worth turning off tighter shadow culling in project settings advanced , rendering lights and shadows, to check whether this is a regression due to tighter culling.
If so I can investigate saturday. There is currently a known bug with directional lights in dev6, but spots and omnis no bugs currently reported.
It might be worth turning off tighter shadow culling in project settings advanced , rendering lights and shadows, to check whether this is a regression due to tighter culling.
I can confirm disabling tighter shadow culling stops the flickering
Just tried this out, it does seem to solve the flickering issue, but apparently tighter shadow caster culling can increase performance, which is exactly what I want. Maybe tighter shadow caster culling could be set separately for each light? Maybe we could add the option's 'flickering' issue in the docs.
from godot.
@catboy-catfish Don't worry, this was just to know where the problem started, is not the final solution. As lawnjelly said this will be investigated to make work with tighter shadow culling
from godot.
@catboy-catfish Don't worry, this was just to know where the problem started, is not the final solution. As lawnjelly said this will be investigated to make work with tighter shadow culling
Cool cool, maybe I could make a proposal out of this
from godot.
Re-opening as this is not fixed yet. Disabling was to identify the bug, not to fix.
from godot.
First step was making a more usable MRP, then converting to 3.x:
spotlight_tight_cull_bug.zip
from godot.
Related Issues (20)
- Transform3D Aabb operator * does not handle rotations properly [C#] HOT 6
- `ERROR: Parameter "data.tree" is null.` while `is_inside_tree()` is true. HOT 1
- StreamPeerGzip::finish() fails when compressing with Condition "err != (p_close ? 1 : 0)" is true. Returning: FAILED HOT 3
- Parser error on lambda corner case
- BaseButton.button_pressed doesn't work as documented HOT 1
- Export of GDExtension files that were excluded still appears in extension_list.cfg resulting in errors during startup
- Renaming nodes broken on X11 HOT 3
- GPUParticles2D issue HOT 3
- Reduced tween performance when FileDialog in tree HOT 7
- modules/text_server_adv/text_server_adv.cpp:3486 - Condition "!_ensure_cache_for_size(fd, fd->msdf ? Vector2i(fd->msdf_source_size, 0) : Vector2i(16, 0))" is true. Returning: false FreeType: Error loading font: ''. HOT 4
- Signal is not created in specified object HOT 7
- Unnecessary "Viewport Texture must be set to use it." errors while trying to set said ViewportTexture
- Odd behavior with shaders drawing to DEPTH HOT 2
- godot app version saying mono when it has been replaced with .net HOT 2
- Could not resolve SDK "Godot.NEt.Sdk" HOT 3
- Building with mono can't handle special characters in file path
- Multiple ScrollContainer nodes under a TabContainer show warning messages HOT 2
- Unable to vertical scroll animation bezier editor with mousewheel
- Tool scripts modified from the in-engine script editor don't update HOT 4
- FileDialog unable to be interacted with when launched from PopupWindow HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot.