Blender Git Loki
Git Commits -> Revision a25856f
Revision a25856f by Clément Foucault (master) May 16, 2018, 14:58 (GMT) |
GPUShader/DRW: Add Transform Feedback support. This is a usefull feature that can be used to do a lot of precomputation on the GPU instead of the CPU. Implementation is simple and only covers the most usefull case. How to use: - Create shader with transform feedback. - Create a pass with DRW_STATE_TRANS_FEEDBACK. - Create a target Gwn_VertBuf (make sure it's big enough). - Create a shading group with DRW_shgroup_transform_feedback_create(). - Add your draw calls to the shading group. - Render your pass normaly. Current limitation: - Only one output buffer. - Cannot pause/resume tfb rendering to interleave with normal drawcalls. - Cannot get the number of verts drawn. |
Commit Details:
Full Hash: a25856f2a802dae4e2c4c01e9b74d8c8a1769933
Parent Commit: a3f4c72
Lines Changed: +113, -5
8 Modified Paths:
/source/blender/draw/intern/draw_manager.h (+5, -0) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+13, -1) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+28, -1) (Diff)
/source/blender/draw/intern/draw_manager_shader.c (+8, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+6, -0) (Diff)
/source/blender/gpu/GPU_shader.h (+15, -1) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+36, -2) (Diff)
/source/blender/gpu/intern/gpu_shader_private.h (+2, -0) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+13, -1) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+28, -1) (Diff)
/source/blender/draw/intern/draw_manager_shader.c (+8, -0) (Diff)
/source/blender/draw/intern/DRW_render.h (+6, -0) (Diff)
/source/blender/gpu/GPU_shader.h (+15, -1) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+36, -2) (Diff)
/source/blender/gpu/intern/gpu_shader_private.h (+2, -0) (Diff)