Add min_weight property to Scene
This commit is contained in:
		
							parent
							
								
									482896cfa1
								
							
						
					
					
						commit
						6c1e8c7ffb
					
				
					 2 changed files with 7 additions and 2 deletions
				
			
		|  | @ -19,6 +19,7 @@ | |||
| Scene::Scene() | ||||
|     : width(640), height(480), | ||||
|       max_depth(5), | ||||
|       min_weight(1e-4), | ||||
|       ambient(new AmbientLight()), | ||||
|       shapes(), | ||||
|       lights(), | ||||
|  | @ -181,7 +182,7 @@ Scene::trace_ray(const Ray &ray, | |||
|                  const int depth, | ||||
|                  const float weight) | ||||
| { | ||||
|     if (depth >= max_depth) { | ||||
|     if (depth >= max_depth || weight <= min_weight) { | ||||
|         return Color::Black; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -47,8 +47,12 @@ private: | |||
|     // Pixel dimensions of the image.
 | ||||
|     int width, height; | ||||
| 
 | ||||
|     // Ray tracing parameters.
 | ||||
|     /*
 | ||||
|      * Ray tracing parameters. max_depth indicates the maximum depth of the ray tree. min_weight indicates the minimum | ||||
|      * specular weight to apply before giving up. | ||||
|      */ | ||||
|     int max_depth; | ||||
|     float min_weight; | ||||
| 
 | ||||
|     // Scene objects.
 | ||||
|     AmbientLight *ambient; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue