From c7cbd0d288083ad7ae132ac6627cf93ec5b3aed5 Mon Sep 17 00:00:00 2001 From: Sakarias Johansson Date: Sun, 16 Apr 2023 14:32:42 +0200 Subject: =?UTF-8?q?=E2=9C=A8=20Add=20support=20for=20camera=20configuratio?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also decided to not use glam and just do the math myself. Just didn't want an entire library for such a small thing. Probably goint to replace Vec3 at some point, just not now. --- racer-tracer/src/main.rs | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'racer-tracer/src/main.rs') diff --git a/racer-tracer/src/main.rs b/racer-tracer/src/main.rs index afdc919..16fe6c4 100644 --- a/racer-tracer/src/main.rs +++ b/racer-tracer/src/main.rs @@ -35,10 +35,7 @@ use structopt::StructOpt; use synchronoise::SignalEvent; use terminal::Terminal; -use crate::{ - scene_controller::{interactive::InteractiveScene, SceneController, SceneData}, - vec3::Vec3, -}; +use crate::scene_controller::{interactive::InteractiveScene, SceneController, SceneData}; use crate::{ camera::Camera, @@ -51,20 +48,7 @@ use crate::{ fn run(config: Config, log: Logger, term: Terminal) -> Result<(), TracerError> { info!(log, "Starting racer-tracer {}", env!("CARGO_PKG_VERSION")); let image = image::Image::new(config.screen.width, config.screen.height); - let look_from = Vec3::new(13.0, 2.0, 3.0); - let look_at = Vec3::new(0.0, 0.0, 0.0); - // TODO: Make camera configurable. - // pos, look_at, fov, aperture, focus distance. - // Also ensure those can be changed during runtime. - let camera = Camera::new( - look_from, - look_at, - Vec3::new(0.0, 1.0, 0.0), - 20.0, - &image, - 0.1, - 10.0, - ); + let camera = Camera::from((&image, &config.camera)); let scene = Scene::try_new(&config.loader)?; let mut window_res: Result<(), TracerError> = Ok(()); let mut render_res: Result<(), TracerError> = Ok(()); -- cgit v1.2.3