You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Could be worth switching to reverse depth + infinite far plane.
Reverse depth makes better use of how floating point numbers hold greater precision close to 0, reducing collisions.
Infinite far plane simplifies what a user may have to configure, with apparently little downsides (e.g. loss of precision).
Additionally, splitting the mvp matrices can also have an impact on compounding floating point errors. But that's upto the individual shaders, which we might officially provide users with the ability to change in future.
I've never tested these techniques, but they seem like a good idea and they're generally agreed upon from what I've been reading.
Could be worth switching to reverse depth + infinite far plane.
Reverse depth makes better use of how floating point numbers hold greater precision close to 0, reducing collisions.
Infinite far plane simplifies what a user may have to configure, with apparently little downsides (e.g. loss of precision).
Additionally, splitting the mvp matrices can also have an impact on compounding floating point errors. But that's upto the individual shaders, which we might officially provide users with the ability to change in future.
I've never tested these techniques, but they seem like a good idea and they're generally agreed upon from what I've been reading.
This seems like most useful guide: https://thxforthefish.com/posts/reverse_z/
Other discussion of the topic:
https://developer.nvidia.com/content/depth-precision-visualized
http://www.terathon.com/gdc07_lengyel.pdf
This is supposed to have a webgpu example, but currently requires chrome nightly so I haven't tested it.
http://austin-eng.com/webgpu-samples/samples/reversedZ
The text was updated successfully, but these errors were encountered: