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
Currently the depth buffer is stored in range [0, 1], where 0 is nearest and 1 is furthest. Depth buffer loses precision the father away an object is, which can cause artifacts when depth is compared (e.g. shadow acne). If depth buffer uses a floating point type this problem is compounded as floating point format itself loses precision with larger numbers. However by reversing the depth buffer range to [1, 0], where 1 is nearest, and by using a floating point buffer, we can make these precision errors basically cancel out. This would involve adjusting projection matrix, as well as any shader that reads the depth and adjusting its usage.
The text was updated successfully, but these errors were encountered:
Currently the depth buffer is stored in range [0, 1], where 0 is nearest and 1 is furthest. Depth buffer loses precision the father away an object is, which can cause artifacts when depth is compared (e.g. shadow acne). If depth buffer uses a floating point type this problem is compounded as floating point format itself loses precision with larger numbers. However by reversing the depth buffer range to [1, 0], where 1 is nearest, and by using a floating point buffer, we can make these precision errors basically cancel out. This would involve adjusting projection matrix, as well as any shader that reads the depth and adjusting its usage.
The text was updated successfully, but these errors were encountered: