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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021