Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan: Occlusion culling incorrectly culls objects which are not completely occluded #70516

Closed
Tracked by #70533
TheWoodenTree opened this issue Dec 24, 2022 · 5 comments

Comments

@TheWoodenTree
Copy link

Godot version

v4.0.beta9.official

System information

Windows 10, Vulkan, GeForce GTX 1070 driver ver. 512.15

Issue description

A large object being occluded by another large object will be incorrectly culled with occlusion culling when viewed almost off screen. I would expect that the object be fully occluded before being culled.

This seems to not happen so long as the face of the occluder that is perpendicular to the object being occluded is not visible. The face colored red below is what I am referring to.

The issue also seems to only happen when the objects cover the whole screen, though this is not entirely the case for the second video I've provided.

ex

Here is a video from a test project:

issue.mp4

Here is a video from a personal project where I first noticed the issue:

issue2.mp4

Steps to reproduce

Create two large cube meshes slightly offset from one another
Create Occluder Instance 3D and bake
Approach one of objects closely such that it partially covers the other object
Slowly move or rotate camera to occlude the other object
The object being occluded will (sometimes) be culled before it should be

Minimal reproduction project

Test.zip

@Chaosus
Copy link
Member

Chaosus commented Dec 24, 2022

Can you reproduce it on 3.x?

@TheWoodenTree
Copy link
Author

I tried this on 3.5.1 stable using an occluder shape and a similar setup; however I could not reproduce it. Forgive me if I am missing something here, I never used occlusion culling in 3.x and I'm not entirely sure if I've set it up here to work as needed.

issue3.mp4

@Chaosus Chaosus added this to the 4.0 milestone Dec 24, 2022
@TheWoodenTree
Copy link
Author

I can also confirm this is still an issue in 4.0 beta 10.

@Calinou
Copy link
Member

Calinou commented Dec 24, 2022

Related to #63771 and #53288.

@clayjohn
Copy link
Member

Duplicate of #53288. Closing in favour of #53288 so we can track this issue in only one place

@clayjohn clayjohn closed this as not planned Won't fix, can't repro, duplicate, stale Jan 12, 2023
@clayjohn clayjohn removed this from the 4.0 milestone Jan 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants