| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -23,8 +23,8 @@ void BVH::recursiveBuild(int level, int idx, int idx_u, int idx_v) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        int firstChild = 4 * idx + 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        int halfRange = int(std::pow(2, maxLevel - level - 1)); // 当前层的曲面片的边长采样宽度的一半
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild, idx_u, idx_v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild + 1, idx_u, idx_v + halfRange); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild + 2, idx_u + halfRange, idx_v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild + 1, idx_u + halfRange, idx_v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild + 2, idx_u, idx_v + halfRange); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        recursiveBuild(level + 1, firstChild + 3, idx_u + halfRange, idx_v + halfRange); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        for (int i = 0; i < 4; i++) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            bound = Union(bound, tree[firstChild + i].bound); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |