1use lumo::tracer::*;
2use lumo::*;
3
4const SCENE_URL: &str = "https://casual-effects.com/g3d/data10/research/model/fireplace_room/fireplace_room.zip";
5const SCENE_NAME: &str = "fireplace_room.obj";
6
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let camera = Camera::perspective(
9 Vec3::new(4.0, 1.0, -3.0),
10 0.5 * Vec3::Y,
11 Vec3::Y,
12 90.0,
13 0.0,
14 1.0,
15 1024,
16 768,
17 );
18
19 let mut scene = parser::scene_from_url(SCENE_URL, SCENE_NAME)?;
20
21 scene.add_light(Sphere::new(
22 Vec3::new(2.0, 1.5, -2.0),
23 0.3,
24 Material::Light(Texture::Solid(Color::WHITE)),
25 ));
26
27 let renderer = Renderer::new(scene, camera);
28 renderer.render().save("fireplace.png")?;
29
30 Ok(())
31}