Blender Git Commit Log

Git Commits -> Revision c96ae81

Revision c96ae81 by Mai Lavelle (master)
July 29, 2016, 07:36 (GMT)
Cycles microdisplacement: ngons and attributes for subdivision meshes

This adds support for ngons and attributes on subdivision meshes. Ngons are
needed for proper attribute interpolation as well as correct Catmull-Clark
subdivision. Several changes are made to achieve this:

- new primitive `SubdFace` added to `Mesh`
- 3 more textures are used to store info on patches from subd meshes
- Blender export uses loop interface instead of tessface for subd meshes
- `Attribute` class is updated with a simplified way to pass primitive counts
around and to support ngons.
- extra points for ngons are generated for O(1) attribute interpolation
- curves are temporally disabled on subd meshes to avoid various bugs with
implementation
- old unneeded code is removed from `subd/`
- various fixes and improvements

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D2108

Commit Details:

Full Hash: c96ae81160ad1a943fafaca44a7d5e97c2d7a0d7
Parent Commit: f746455
Lines Changed: +1229, -1193

2 Added Paths:

/intern/cycles/kernel/geom/geom_subd_triangle.h (+262, -0) (View)
/intern/cycles/render/mesh_subdivision.cpp (+224, -0) (View)

2 Deleted Paths:

/intern/cycles/subd/subd_mesh.cpp (+0, -419)
/intern/cycles/subd/subd_mesh.h (+0, -78)

26 Modified Paths:

/intern/cycles/app/cycles_xml.cpp (+5, -3) (Diff)
/intern/cycles/blender/blender_mesh.cpp (+201, -92) (Diff)
/intern/cycles/blender/blender_util.h (+5, -2) (Diff)
/intern/cycles/kernel/CMakeLists.txt (+1, -0) (Diff)
/intern/cycles/kernel/geom/geom.h (+1, -0) (Diff)
/intern/cycles/kernel/geom/geom_attribute.h (+19, -3) (Diff)
/intern/cycles/kernel/geom/geom_primitive.h (+8, -2) (Diff)
/intern/cycles/kernel/kernel_textures.h (+5, -3) (Diff)
/intern/cycles/kernel/kernel_types.h (+7, -2) (Diff)
/intern/cycles/kernel/osl/osl_services.cpp (+3, -4) (Diff)
/intern/cycles/kernel/svm/svm_attribute.h (+1, -3) (Diff)
/intern/cycles/kernel/svm/svm_image.h (+0, -3) (Diff)
/intern/cycles/render/attribute.cpp (+75, -21) (Diff)
/intern/cycles/render/attribute.h (+10, -6) (Diff)
/intern/cycles/render/CMakeLists.txt (+1, -0) (Diff)
/intern/cycles/render/mesh.cpp (+306, -121) (Diff)
/intern/cycles/render/mesh.h (+36, -2) (Diff)
/intern/cycles/render/scene.h (+4, -0) (Diff)
/intern/cycles/subd/CMakeLists.txt (+0, -2) (Diff)
/intern/cycles/subd/subd_dice.cpp (+10, -156) (Diff)
/intern/cycles/subd/subd_dice.h (+1, -45) (Diff)
/intern/cycles/subd/subd_patch.cpp (+0, -26) (Diff)
/intern/cycles/subd/subd_patch.h (+3, -15) (Diff)
/intern/cycles/subd/subd_split.cpp (+21, -178) (Diff)
/intern/cycles/subd/subd_split.h (+1, -7) (Diff)
/intern/cycles/util/util_math.h (+19, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021