diff options
author | Jorge Bernal <jbernalmartinez@gmail.com> | 2015-10-28 03:21:36 +0300 |
---|---|---|
committer | Jorge Bernal <jbernalmartinez@gmail.com> | 2015-10-28 03:22:16 +0300 |
commit | 9eb7eb5379cdb2f8584aa90d0bec0ffef2f91023 (patch) | |
tree | b5d07e8332348fb7f36ba00528b71b5aa0a05d79 /source/blender/blenkernel/intern | |
parent | fd1487977b0d1a24b2076e1bdf72b6102821e6e4 (diff) |
BGE: Fix T44448: LOD will display wrong LOD level object if zoomed out
then in
Current object distance hasn't to be cached.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 4ec41373116..b6fcb04f616 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1156,16 +1156,15 @@ bool BKE_object_lod_remove(Object *ob, int level) static LodLevel *lod_level_select(Object *ob, const float camera_position[3]) { LodLevel *current = ob->currentlod; - float dist_sq, dist_sq_curr; + float dist_sq; if (!current) return NULL; dist_sq = len_squared_v3v3(ob->obmat[3], camera_position); - dist_sq_curr = current->distance * current->distance; - if (dist_sq < dist_sq_curr) { + if (dist_sq < SQUARE(current->distance)) { /* check for higher LoD */ - while (current->prev && dist_sq < dist_sq_curr) { + while (current->prev && dist_sq < SQUARE(current->distance)) { current = current->prev; } } |