Clean up renderer classes

This commit is contained in:
hal8174 2025-01-04 23:22:04 +01:00
parent 24bf8753b2
commit ba2d853319
4 changed files with 16 additions and 64 deletions

View file

@ -1,29 +1,17 @@
use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene}; use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene};
use std::marker::PhantomData;
pub struct DepthRenderer<R> pub struct DepthRenderer {
where
R: Rng,
{
width: u32, width: u32,
height: u32, height: u32,
rng: PhantomData<R>,
} }
impl<R> DepthRenderer<R> impl DepthRenderer {
where
R: Rng,
{
pub fn new(width: u32, height: u32) -> Self { pub fn new(width: u32, height: u32) -> Self {
Self { Self { width, height }
rng: PhantomData {},
width,
height,
}
} }
} }
impl<S, C, R> ClassicalRenderer<R, S, C> for DepthRenderer<R> impl<S, C, R> ClassicalRenderer<R, S, C> for DepthRenderer
where where
S: Scene<R>, S: Scene<R>,
C: Camera<R>, C: Camera<R>,

View file

@ -1,29 +1,17 @@
use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene}; use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene};
use std::marker::PhantomData;
pub struct NextEventEstimation<R> pub struct NextEventEstimation {
where
R: Rng,
{
width: u32, width: u32,
height: u32, height: u32,
rng: PhantomData<R>,
} }
impl<R> NextEventEstimation<R> impl NextEventEstimation {
where
R: Rng,
{
pub fn new(width: u32, height: u32) -> Self { pub fn new(width: u32, height: u32) -> Self {
Self { Self { width, height }
width,
height,
rng: PhantomData {},
}
} }
} }
impl<S, C, R> ClassicalRenderer<R, S, C> for NextEventEstimation<R> impl<S, C, R> ClassicalRenderer<R, S, C> for NextEventEstimation
where where
S: Scene<R>, S: Scene<R>,
C: Camera<R>, C: Camera<R>,

View file

@ -1,29 +1,17 @@
use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene}; use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene};
use std::marker::PhantomData;
pub struct PathTracer<R> pub struct PathTracer {
where
R: Rng,
{
width: u32, width: u32,
height: u32, height: u32,
rng: PhantomData<R>,
} }
impl<R> PathTracer<R> impl PathTracer {
where
R: Rng,
{
pub fn new(width: u32, height: u32) -> Self { pub fn new(width: u32, height: u32) -> Self {
Self { Self { width, height }
width,
height,
rng: PhantomData {},
}
} }
} }
impl<S, C, R> ClassicalRenderer<R, S, C> for PathTracer<R> impl<S, C, R> ClassicalRenderer<R, S, C> for PathTracer
where where
S: Scene<R>, S: Scene<R>,
C: Camera<R>, C: Camera<R>,

View file

@ -1,29 +1,17 @@
use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene}; use ray_tracing_core::{camera::Camera, prelude::*, renderer::ClassicalRenderer, scene::Scene};
use std::marker::PhantomData;
pub struct PathTracerImportance<R> pub struct PathTracerImportance {
where
R: Rng,
{
width: u32, width: u32,
height: u32, height: u32,
rng: PhantomData<R>,
} }
impl<R> PathTracerImportance<R> impl PathTracerImportance {
where
R: Rng,
{
pub fn new(width: u32, height: u32) -> Self { pub fn new(width: u32, height: u32) -> Self {
Self { Self { width, height }
width,
height,
rng: PhantomData {},
}
} }
} }
impl<S, C, R> ClassicalRenderer<R, S, C> for PathTracerImportance<R> impl<S, C, R> ClassicalRenderer<R, S, C> for PathTracerImportance
where where
S: Scene<R>, S: Scene<R>,
C: Camera<R>, C: Camera<R>,