Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021