diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-08-05 15:43:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-08-05 15:43:51 +0300 |
commit | 6cba20a8e60513ce73c4a75f44caafb854b359a1 (patch) | |
tree | c661567c8612ea4040c3fb8e7bf7529b43b1f171 /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | 5b76f72904f83a80525cbea9cca4881358961bc0 (diff) |
OpenSubdiv: Tweaks to AABB calculation when using opensubdiv for subsurf
Use coarse coordinates to calculate AABB which gives much better approximation
of AABB than using unity AABB size.
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index b52bd087fb4..6c13c791da9 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -78,8 +78,6 @@ static DerivedMesh *navmesh_dm_createNavMeshForVisualization(DerivedMesh *dm); #ifdef WITH_OPENSUBDIV # include "DNA_userdef_types.h" -# include "BKE_subsurf.h" -# include "CCGSubSurf.h" #endif /* very slow! enable for testing only! */ @@ -3523,25 +3521,8 @@ void DM_set_object_boundbox(Object *ob, DerivedMesh *dm) { float min[3], max[3]; -#ifdef WITH_OPENSUBDIV - /* TODO(sergey): Currently no way to access bounding box from hi-res mesh. */ - if (dm->type == DM_TYPE_CCGDM) { - CCGDerivedMesh *ccgdm = (CCGDerivedMesh *)dm; - if (!ccgSubSurf_needGrids(ccgdm->ss)) { - copy_v3_fl3(min, -1.0f, -1.0f, -1.0f); - copy_v3_fl3(max, 1.0f, 1.0f, 1.0f); - } - else { - INIT_MINMAX(min, max); - dm->getMinMax(dm, min, max); - } - } - else -#endif - { - INIT_MINMAX(min, max); - dm->getMinMax(dm, min, max); - } + INIT_MINMAX(min, max); + dm->getMinMax(dm, min, max); if (!ob->bb) ob->bb = MEM_callocN(sizeof(BoundBox), "DM-BoundBox"); |