
Longview
Fixes flickering, jaggies and Z-fighting on long distances using the Reverse Z technique.


Longview is a mod that fixes glitches such as Z-fighting and jaggies on far distances.
This is accomplished through two techniques:
- By changing the Z coordinate limits from [-1,1] to [0,1] using the
GL_ARB_CLIP_CONTROLextension (officially part of OpenGL 4.5) - By applying the reversed Z technique, where the far plane and the near plane are swapped in the renderer.
This ensures that the depth buffer will be evenly distributed no matter the distance, fixing all sorts of glitches that happens from a distance!
Compatibility
This mod requires a device supporting either the GL_ARB_CLIP_CONTROL extension or OpenGL 4.5 in order to apply Technique 1.
On devices that don't support either, like ones running macOS, Technique 2 will still be applied, although since the Z coordinate limits will remain as [-1,1], flipping them will do nothing at all considering said limit is effectively symmetric.
While this mod only supports Minecraft's OpenGL backend and the CinnabarVK custom backend, this mod is fully compatible with custom graphics backends and will do nothing by default, but this mod can implement support for them individually.
Acknowledgements
- This Godot Engine blog post for introducing me to the reverse Z technique.
- Depth Precision Visualized: an excellent article covering the topic of depth precision as well as the reverse Z technique.
- The many people who have independently discovered and popularized this technique, including goddamn Quake developers.
- qendolin for putting together the farz-poc proof-of-concept and for starting discussions involving Mojang developers.
- IMS for he's a jolly good fellow, which nobody can deny.
