Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-08-05 15:20:40 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-08-05 15:20:40 +0300
commit8d179e3c1f61731f025818c1c25b8997be77f2a9 (patch)
tree4e5203e1b0de7491d7fe4cd1e4776e4ac5b5c713 /source/blender/blenkernel/intern/DerivedMesh.c
parent0ea45676d026b2d8c43809f2dc5394c73298ee3f (diff)
OpenSubdiv: Resolve regression with unity AABB for CCGDM calculated on CPU
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index fd98fcac2f3..b52bd087fb4 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -78,6 +78,8 @@ 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! */
@@ -3524,8 +3526,15 @@ void DM_set_object_boundbox(Object *ob, DerivedMesh *dm)
#ifdef WITH_OPENSUBDIV
/* TODO(sergey): Currently no way to access bounding box from hi-res mesh. */
if (dm->type == DM_TYPE_CCGDM) {
- copy_v3_fl3(min, -1.0f, -1.0f, -1.0f);
- copy_v3_fl3(max, 1.0f, 1.0f, 1.0f);
+ 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