Blender Git Loki
Git Commits -> Revision 9589442
Revision 9589442 by Clément Foucault (master) June 10, 2018, 18:02 (GMT) |
Workbench: Xray: Optimize and fix implementation. There was a method explained in the Weighted Blended Order-Independent Transparency paper to support hardware that does not support per render target blending function. So now only 2 geometry passes are required instead of 3 (one being the outline/depth fill pass). This also fix how the blending is done. There was some premult confusion in the implementation. |
Commit Details:
Full Hash: 95894421cb4e9ccabb4cff393b561625b9bc4280
Parent Commit: b23d513
Lines Changed: +47, -153
1 Deleted Path:
/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_revealage_frag.glsl (+0, -7)
9 Modified Paths:
/source/blender/draw/CMakeLists.txt (+0, -1) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl (+4, -4) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl (+14, -21) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl (+9, -3) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+15, -98) (Diff)
/source/blender/draw/engines/workbench/workbench_materials.c (+0, -4) (Diff)
/source/blender/draw/engines/workbench/workbench_private.h (+0, -11) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+4, -3) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -1) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl (+4, -4) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl (+14, -21) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl (+9, -3) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+15, -98) (Diff)
/source/blender/draw/engines/workbench/workbench_materials.c (+0, -4) (Diff)
/source/blender/draw/engines/workbench/workbench_private.h (+0, -11) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+4, -3) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -1) (Diff)