[Bf-blender-cvs] [9eb7eb5] master: BGE: Fix T44448: LOD will display wrong LOD level object if zoomed out then in

Jorge Bernal noreply at git.blender.org
Wed Oct 28 01:25:26 CET 2015


Commit: 9eb7eb5379cdb2f8584aa90d0bec0ffef2f91023
Author: Jorge Bernal
Date:   Wed Oct 28 01:21:36 2015 +0100
Branches: master
https://developer.blender.org/rB9eb7eb5379cdb2f8584aa90d0bec0ffef2f91023

BGE: Fix T44448: LOD will display wrong LOD level object if zoomed out
then in

Current object distance hasn't to be cached.

===================================================================

M	source/blender/blenkernel/intern/object.c

===================================================================

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 4ec4137..b6fcb04 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;
 		}
 	}




More information about the Bf-blender-cvs mailing list