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
Halo 2: Able to see other objects through objects close to you #55
Comments
Confirmed in testing here too. Relevant test specs:
|
This also affects Wallace & Gromit in Project Zoo, Miami Vice, Tom Clancy's Splinter Cell and Serious Sam |
Here’s a log for this. |
This looks like it may be a depth buffer precision issue, stepping through the draws in renderdoc I see depth buffer values for the more distant draws that are suspiciously close to but less than the nearby correct nearer geometry with odd discontinuities (e.g., if I follow the plane of a wall that is being cut out, I see values that follow a linear trend then jump to higher values where the earlier draw is peeking through, then resume within the expected interpolated range after the slice). Halo2 uses a non-standard clip range:
though it at least uses the same range throughout all of the draws in the frame I traced. I've previously found that the technique xemu employs to attempt to map screen coords produced by the nv2a shaders back into OpenGL-friendly NDC has some issues when dealing with unusual clip ranges (e.g., #843). This may be part of what is happening here. |
Not sure if this is helpful at all, but in my naive attempt to debug this issue in Renderdoc, I found that commenting out this line of the vertex shader completely fixes the "see-through" issue (though also adds other problems). Might that point away from it being a depth buffer precision issue, and perhaps point towards it being a problem converting the screen space to clip space? |
Thanks to your comment, I accidentally got Skybox working! |
Also can depend on viewing angle aswell as how close objects are to you from my testing
Title: 4d530064
The text was updated successfully, but these errors were encountered: