Example usage:
```rust use rtracer::datatypes::vector3::Vector3; use rtracer::datatypes::material::Material; use rtracer::utilities::framehandler::FrameHandler; use rtracer::datatypes::color::Color; use rtracer::datatypes::vector2d::Vector2D; use rtracer::spacial::scene::Scene; use rtracer::spacial::camera::Camera; use rtracer::spacial::meshobject::MeshObject; use rtracer::utilities::fileutilities::{loadmodel, savevector2daspng, import_texture}; use std::time::Instant;
let rock = Material::new(Color::black(), Color::black(), Color::black(), Color::black(), 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, true, Some(0), None, Some(0), None, Some(1), Some(2), Some(3) );
let rocksphere = loadmodel("../Models/rock_sphere.obj", rock);
let mut meshes: Vec
let sizex: usize = 1200; let sizey: usize = 800;
let environmentmap: Vector2D
let mut maps: Vec
let rockcol: Vector2D
maps.push(rockcol); maps.push(rocknormal); maps.push(rocksmoothness); maps.push(rockspecular);
let scene: Scene = Scene::new(meshes, maps, Color::white() * 0.3, Some(environmentmap)); let camera: Camera = Camera::new( Vector3::new(-200.0, 0.0, 50.0), Vector3::new(0.0, 15.0, 0.0), scene, 2.8, sizex, size_y, 30, 3, 0.3, 0.0, 192.0, 1.3, 0 );
let framehandler: FrameHandler = FrameHandler::new(sizex, size_y, "RTracer");
let starttime = Instant::now();
let frame: Vector2D
let hours = elapsedtime.assecs() / 3600; let minutes = (elapsedtime.assecs() % 3600) / 60; let seconds = elapsedtime.assecs() % 60; let milliseconds = elapsedtime.subsecmillis(); println!( "Elapsed time: {:02}:{:02}:{:02}:{:03}", hours, minutes, seconds, milliseconds );
savevector2das_png(&frame, "../Renders/render.png"); ```