Blender Git Loki
Git Commits -> Revision e9a60ce
Revision e9a60ce by Lukas Stockner (experimental-build) October 26, 2018, 12:56 (GMT) |
Workbench: Add Curvature overlay for better visibility of surface detail for e.g. sculpting The approach is fairly simple, just apply an edge detection filter to the view normal and scale the brightness based on that. The overlay is disabled at object boundaries to avoid dark lines around objects. Generally, this implementation follows the proposal of @monio at https://blender.community/c/rightclickselect/J9bbbc. The changes are: - Radius of two pixels instead of one - might not be better, though, needs some feedback - Options to reduce the strength of both ridges and valleys - Tweaked function for the strength reduction (the original method actually had a local maximum, resulting in a brighter line inside valleys) - Multiplication for blending instead of overlay, which doesn't work reliably with scene-referred intensities - Renamed to point out the distinction between it and the SSAO-based cavity overlay Reviewers: jbakker Subscribers: linko, monio Differential Revision: https://developer.blender.org/D3617 |
Commit Details:
Full Hash: e9a60ce199200e25d2a6e9d722ad7e8de8cab206
Parent Commit: 9500604
Lines Changed: +132, -7
1 Added Path:
/source/blender/draw/engines/workbench/shaders/workbench_curvature_lib.glsl (+40, -0) (View)
13 Modified Paths:
/release/scripts/startup/bl_ui/space_view3d.py (+11, -0) (Diff)
/source/blender/blenkernel/intern/screen.c (+2, -0) (Diff)
/source/blender/blenloader/intern/versioning_280.c (+13, -0) (Diff)
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl (+3, -1) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl (+5, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_data.c (+3, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_deferred.c (+4, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+2, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_materials.c (+15, -3) (Diff)
/source/blender/draw/engines/workbench/workbench_private.h (+7, -3) (Diff)
/source/blender/makesdna/DNA_view3d_types.h (+4, -0) (Diff)
/source/blender/makesrna/intern/rna_space.c (+22, -0) (Diff)
/source/blender/blenkernel/intern/screen.c (+2, -0) (Diff)
/source/blender/blenloader/intern/versioning_280.c (+13, -0) (Diff)
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl (+3, -1) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl (+5, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_data.c (+3, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_deferred.c (+4, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+2, -0) (Diff)
/source/blender/draw/engines/workbench/workbench_materials.c (+15, -3) (Diff)
/source/blender/draw/engines/workbench/workbench_private.h (+7, -3) (Diff)
/source/blender/makesdna/DNA_view3d_types.h (+4, -0) (Diff)
/source/blender/makesrna/intern/rna_space.c (+22, -0) (Diff)