소스 검색

Improvement to y_sort: make clear which item has to be drawn first

when both have the same y coordinate (prevents possible flickering). Reapplying #7241 to the 3.0 code.
lonesurvivor 8 년 전
부모
커밋
8b8807e37d
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      servers/visual/visual_server_canvas.h

+ 4 - 1
servers/visual/visual_server_canvas.h

@@ -44,7 +44,10 @@ public:
 
 		_FORCE_INLINE_ bool operator()(const Item* p_left,const Item* p_right) const {
 
-			return p_left->xform.elements[2].y < p_right->xform.elements[2].y;
+			if(Math::abs(p_left->xform.elements[2].y - p_right->xform.elements[2].y) < CMP_EPSILON )
+				return p_left->xform.elements[2].x < p_right->xform.elements[2].x;
+			else
+				return p_left->xform.elements[2].y < p_right->xform.elements[2].y;
 		}
 	};