Blender Git Commit Log

Git Commits -> Revision 7163ddf

December 16, 2014, 16:05 (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.

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).

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

- 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: 7163ddf53e6f5f67c59a8dfc14f60515f8f577c7
Parent Commit: 1740ee2
Lines Changed: +177, -44

4 Modified Paths:

/source/blender/blenkernel/BKE_DerivedMesh.h (+4, -0) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+108, -0) (Diff)
/source/blender/gpu/GPU_buffers.h (+3, -1) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+62, -43) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021