Blender Git Commit Log

Git Commits -> Revision e000dcb

Revision e000dcb by Clément Foucault (master)
March 26, 2020, 14:55 (GMT)
Overlay: Wireframe: New method to avoid zfighting with geometry

This new method is only enabled if Overlay Smooth Wire is enabled.

This method gives really nice results but has some downside:
- Require a depth copy or loose the ability to write wire depth to the
depth buffer and have correct depth ordering of wires. This patch use the former, with its associated cost.
- Require some depth sampling and prevent early depth test (i.e: has
some performance impact).
- Has some relatively minor instability with geometry that are perpendicular
to the view and intersecting with other geometry.

Pros:
- Compared to a fullpass approach this is surely going to have less
performance impact and much higher quality.
- Removes the additional vertex offset. (see T74961)
- Fixes all half edges z-fighting.

{F8428014}

{F8428015}

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D7233

Commit Details:

Full Hash: e000dcb8490880d6d49aa91588c457612685e9f1
Parent Commit: 458f50b
Lines Changed: +96, -27

7 Modified Paths:

/source/blender/draw/engines/overlay/overlay_antialiasing.c (+35, -15) (Diff)
/source/blender/draw/engines/overlay/overlay_engine.c (+2, -0) (Diff)
/source/blender/draw/engines/overlay/overlay_private.h (+4, -1) (Diff)
/source/blender/draw/engines/overlay/overlay_shader.c (+12, -7) (Diff)
/source/blender/draw/engines/overlay/overlay_wireframe.c (+7, -1) (Diff)
/source/blender/draw/engines/overlay/shaders/wireframe_frag.glsl (+30, -0) (Diff)
/source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl (+6, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021