1use lumo::tracer::*;
2use lumo::*;
3
4const DRAGON_URL: &str = "https://casual-effects.com/g3d/data10/research/model/dragon/dragon.zip";
5
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let camera = Camera::default(1024, 768);
8 let def_color = Color::new(242, 242, 242);
9 let mut scene = Scene::empty_box(
10 def_color,
11 Material::diffuse(Texture::Solid(Color::new(255, 0, 0))),
12 Material::diffuse(Texture::Solid(Color::new(0, 255, 0))),
13 );
14
15 scene.add(
16 parser::mesh_from_url(
17 DRAGON_URL,
18 Material::transparent(
19 Texture::Solid(Color::new(255, 0, 255)),
20 0.03,
21 1.5,
22 ),
23 )?
24 .to_unit_size()
25 .to_origin()
26 .rotate_y(5.0 * PI / 8.0)
27 .scale(1.3, 1.3, 1.3)
28 .translate(0.0, -0.35, -1.4)
29 );
30
31 let renderer = Renderer::new(scene, camera);
32 renderer.render().save("dragon.png")?;
33 Ok(())
34}