Add more 3d objects
This commit is contained in:
		
							parent
							
								
									99277995be
								
							
						
					
					
						commit
						ee49ce9ecb
					
				
					 3 changed files with 15963 additions and 9 deletions
				
			
		
							
								
								
									
										8023
									
								
								obj/Coffee Cup.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8023
									
								
								obj/Coffee Cup.obj
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										7928
									
								
								obj/cat.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7928
									
								
								obj/cat.obj
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										21
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								src/main.rs
									
									
									
									
									
								
							| 
						 | 
					@ -189,7 +189,10 @@ fn from_obj(path: &str) -> HittableList {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }*/
 | 
					    }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let material = Arc::new(Lambertian::new(&Color::new(0.4, 0.2, 0.1)));
 | 
					    //let material = Arc::new(Lambertian::new(&Color::new(0.4, 0.2, 0.3)));
 | 
				
			||||||
 | 
					    //let material = Arc::new(Dielectric::new(2.0));    
 | 
				
			||||||
 | 
					    let material = Arc::new(Metal::new(&Color::new(0.9, 0.9, 0.7), 0.0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let cornell_box = tobj::load_obj(path, &tobj::GPU_LOAD_OPTIONS);
 | 
					    let cornell_box = tobj::load_obj(path, &tobj::GPU_LOAD_OPTIONS);
 | 
				
			||||||
    let (models, materials) = cornell_box.expect("Failed to load OBJ file");
 | 
					    let (models, materials) = cornell_box.expect("Failed to load OBJ file");
 | 
				
			||||||
| 
						 | 
					@ -266,23 +269,23 @@ fn main() {
 | 
				
			||||||
    let aspect_ratio = 16.0 / 9.0;
 | 
					    let aspect_ratio = 16.0 / 9.0;
 | 
				
			||||||
    let image_width = 1000;
 | 
					    let image_width = 1000;
 | 
				
			||||||
    let image_height = (image_width as f64 / aspect_ratio) as u32;
 | 
					    let image_height = (image_width as f64 / aspect_ratio) as u32;
 | 
				
			||||||
    let samples_per_pixel = 1_u32;
 | 
					    let samples_per_pixel = 25_u32;
 | 
				
			||||||
    let max_depth = 20;
 | 
					    let max_depth = 25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let vfov = 80.0;
 | 
					    let vfov = 60.0;
 | 
				
			||||||
    let lookfrom = Point3::new(3.0, 1.0, 3.0);
 | 
					    let lookfrom = Point3::new(500.0, 500.0, 200.0);
 | 
				
			||||||
    let lookat = Point3::new(0.0, 0.2, 2.0);
 | 
					    let lookat = Point3::new(0.0, 100.0, 0.0);
 | 
				
			||||||
    let vup = Vec3::new(0.0, 1.0, 0.0);
 | 
					    let vup = Vec3::new(0.0, 1.0, 0.0);
 | 
				
			||||||
    let dist_to_focus = 3.0;
 | 
					    let dist_to_focus = 300.0;
 | 
				
			||||||
    let aperture = 0.1;
 | 
					    let aperture = 0.1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // limit rayon multithreading thread count
 | 
					    // limit rayon multithreading thread count
 | 
				
			||||||
    let thread_count = 4; // if 0, for each logical cpu core a thread wil be created
 | 
					    let thread_count = 0; // if 0, for each logical cpu core a thread wil be created
 | 
				
			||||||
    if thread_count > 0 {
 | 
					    if thread_count > 0 {
 | 
				
			||||||
        env::set_var("RAYON_NUM_THREADS", thread_count.to_string());
 | 
					        env::set_var("RAYON_NUM_THREADS", thread_count.to_string());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let world = from_obj("obj/baum.obj");
 | 
					    let world = from_obj("obj/cat.obj");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // World
 | 
					    // World
 | 
				
			||||||
    // let world = random_world();
 | 
					    // let world = random_world();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue