Blender Git Loki
Git Commits -> Revision d2c3bc5
Revision d2c3bc5 by Sergey Sharybin (opensubdiv-modifier) April 25, 2014, 11:37 (GMT) |
Initial integration of OpenSubdiv into Subsurf modifier Summary: This commit is an initial implementation of subsurf modifier using OpenSubdiv instead of our older CC. This doesn't change data layout and only uses OpsnSubdiv evaluation API to get coordinates and values for grid elements. Main changes: - Tweaked build systems to add flag to build with OSD. - Added C-API for opensubdiv, so it might be used from blender kernel. - Subsurf evaluation is hacked in into CCGSubSurf. TODO: - Clean up all the WIP code, make it more clear separation between legacy CCGSubSurf code and new one based on OSD evaluation. - Edges are not evaluating currently at all. - UVs subdivision currently would lead to incorrect memory usage. - Subdivision happens in a single thread. - Loose edges are not supported. - Only quads does work now, need to support triangles and N-gons. Only committing this to share via developer.b.o with other developers who are interested. Reviewers: brecht Differential Revision: https://developer.blender.org/D56 |
Commit Details:
Full Hash: d2c3bc58a1cf5a4800bd2fcfe75263b4b5fb90e9
Parent Commit: fe52e64
Lines Changed: +1038, -6
5 Added Paths:
/build_files/cmake/Modules/FindOpenSubdiv.cmake (+71, -0) (View)
/intern/opensubdiv/CMakeLists.txt (+40, -0) (View)
/intern/opensubdiv/opensubdiv_capi.cc (+392, -0) (View)
/intern/opensubdiv/opensubdiv_capi.h (+71, -0) (View)
/intern/opensubdiv/SConscript (+37, -0) (View)
/intern/opensubdiv/CMakeLists.txt (+40, -0) (View)
/intern/opensubdiv/opensubdiv_capi.cc (+392, -0) (View)
/intern/opensubdiv/opensubdiv_capi.h (+71, -0) (View)
/intern/opensubdiv/SConscript (+37, -0) (View)
18 Modified Paths:
/build_files/cmake/macros.cmake (+3, -0) (Diff)
/build_files/scons/config/darwin-config.py (+6, -0) (Diff)
/build_files/scons/config/linux-config.py (+8, -0) (Diff)
/build_files/scons/config/win32-mingw-config.py (+6, -0) (Diff)
/build_files/scons/config/win32-vc-config.py (+6, -0) (Diff)
/build_files/scons/config/win64-mingw-config.py (+6, -0) (Diff)
/build_files/scons/config/win64-vc-config.py (+6, -0) (Diff)
/build_files/scons/tools/Blender.py (+16, -0) (Diff)
/build_files/scons/tools/btools.py (+11, -2) (Diff)
/CMakeLists.txt (+14, -0) (Diff)
/intern/CMakeLists.txt (+3, -0) (Diff)
/intern/SConscript (+2, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+7, -0) (Diff)
/source/blender/blenkernel/intern/CCGSubSurf.c (+209, -3) (Diff)
/source/blender/blenkernel/SConscript (+4, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+112, -1) (Diff)
/source/blenderplayer/CMakeLists.txt (+4, -0) (Diff)
/source/creator/CMakeLists.txt (+4, -0) (Diff)
/build_files/scons/config/darwin-config.py (+6, -0) (Diff)
/build_files/scons/config/linux-config.py (+8, -0) (Diff)
/build_files/scons/config/win32-mingw-config.py (+6, -0) (Diff)
/build_files/scons/config/win32-vc-config.py (+6, -0) (Diff)
/build_files/scons/config/win64-mingw-config.py (+6, -0) (Diff)
/build_files/scons/config/win64-vc-config.py (+6, -0) (Diff)
/build_files/scons/tools/Blender.py (+16, -0) (Diff)
/build_files/scons/tools/btools.py (+11, -2) (Diff)
/CMakeLists.txt (+14, -0) (Diff)
/intern/CMakeLists.txt (+3, -0) (Diff)
/intern/SConscript (+2, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+7, -0) (Diff)
/source/blender/blenkernel/intern/CCGSubSurf.c (+209, -3) (Diff)
/source/blender/blenkernel/SConscript (+4, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+112, -1) (Diff)
/source/blenderplayer/CMakeLists.txt (+4, -0) (Diff)
/source/creator/CMakeLists.txt (+4, -0) (Diff)