Blender Git Loki
Git Commits -> Revision 8f9599d
Revision 8f9599d by Jeroen Bakker (master) May 26, 2021, 15:03 (GMT) |
DrawManager: Use Compute Shader to Update Hair. This patch will use compute shaders to create the VBO for hair. The previous implementation uses tranform feedback. Timings master (transform feedback with GPU_USAGE_STATIC between 0.000069s and 0.000362s Timings transform feedback with GPU_USAGE_DEVICE_ONLY. between 0.000057s and 0.000122s Timings compute shader between 0.000032 and 0.000092s Future improvements: * Generate hair Index buffer using compute shaders: currently done single threaded on CPU, easy to add as compute shader. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11057 |
Commit Details:
Full Hash: 8f9599d17e80254928d2d72081a4c7e0dee64038
Parent Commit: 87055dc
Lines Changed: +292, -82
1 Added Path:
/source/blender/draw/intern/shaders/common_hair_refine_comp.glsl (+24, -0) (View)
13 Modified Paths:
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/intern/draw_cache_impl_hair.c (+2, -1) (Diff)
/source/blender/draw/intern/draw_hair.c (+101, -34) (Diff)
/source/blender/draw/intern/draw_manager.h (+13, -0) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+36, -0) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+10, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+7, -0) (Diff)
/source/blender/draw/intern/shaders/common_hair_lib.glsl (+74, -4) (Diff)
/source/blender/draw/intern/shaders/common_hair_refine_vert.glsl (+2, -43) (Diff)
/source/blender/gpu/GPU_capabilities.h (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_capabilities.cc (+10, -0) (Diff)
/source/blender/gpu/intern/gpu_capabilities_private.hh (+2, -0) (Diff)
/source/blender/gpu/opengl/gl_backend.cc (+8, -0) (Diff)
/source/blender/draw/intern/draw_cache_impl_hair.c (+2, -1) (Diff)
/source/blender/draw/intern/draw_hair.c (+101, -34) (Diff)
/source/blender/draw/intern/draw_manager.h (+13, -0) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+36, -0) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+10, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+7, -0) (Diff)
/source/blender/draw/intern/shaders/common_hair_lib.glsl (+74, -4) (Diff)
/source/blender/draw/intern/shaders/common_hair_refine_vert.glsl (+2, -43) (Diff)
/source/blender/gpu/GPU_capabilities.h (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_capabilities.cc (+10, -0) (Diff)
/source/blender/gpu/intern/gpu_capabilities_private.hh (+2, -0) (Diff)
/source/blender/gpu/opengl/gl_backend.cc (+8, -0) (Diff)