Blender Git Loki
Git Commits -> Revision 7163ddf
Revision 7163ddf by Antonis Ryakiotakis (gooseberry, gooseberry_farm, temp_constraint_volume, temp_hair_modifiers, temp_motionpaths, temp_widgets_c++_experiment, temp_widgets_files_refactor, temp_widgets_update_tagging, UI-experiments, wiggly-widgets) 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