Blender Git Loki

Git Commits -> Revision 3d74e55

December 16, 2014, 17:26 (GMT)
Initial VBO code for GPU subsurf.

This commit adds a few generalizations to the VBO
code so that modifiers can create and populate their own GPU objects.

The VBO code originally supported CDDerivedMesh only. The design moves
slightly towards the viewport refactor where the rendering system
requests data from modifiers.

What we do have is support for solid shading with multiple
materials, flat/smooth shading and a big performance boost.
Performance could

In this commit only basic support for vertices and normals is provided
and some features from blender's VBO system, such as mapping to
original faces, unique element indices for vertices and loose vertex/
and can be added later. The one feature that is missing now is the quick
navigation feature of the multires modifier (which uses the same code).

- Why this commit is made on the widget branch -

Facemap widgets need to avoid drawing the whole mesh when we do
collision detection on them. For subsurf drawing we need to iterate
through the whole mesh every time. What we need instead is sort
indexed elemet drawing according to the facemap each face belongs to.
This screams VBOs but since I was going to add that, I thought that
I could push it a bit further and add proper solid shading support.

Commit Details:

Full Hash: 3d74e55dd7628d8d72e114911651b737c371409e
Parent Commit: c32ac24
Lines Changed: +395, -53

6 Modified Paths:

/release/scripts/modules/sys_info.py (+3, -0) (Diff)
/source/blender/blenkernel/BKE_DerivedMesh.h (+4, -0) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+3, -3) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+315, -4) (Diff)
/source/blender/gpu/GPU_buffers.h (+16, -1) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+54, -45) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021