Change Scene trait to account for material data
This commit is contained in:
parent
76448ed442
commit
2bc5ec93fe
19 changed files with 306 additions and 124 deletions
|
|
@ -11,6 +11,7 @@ use crate::{
|
|||
triangle_bvh::{Triangle, TriangleBVH},
|
||||
ASMaterial, AccelerationStructureScene,
|
||||
},
|
||||
examples::ExampleSceneEnum,
|
||||
parse_obj::ObjData,
|
||||
};
|
||||
|
||||
|
|
@ -34,8 +35,8 @@ impl<R: Rng> Default for StanfordDragon<R> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<R: Rng + 'static> ExampleScene<R> for StanfordDragon<R> {
|
||||
fn get_scene(&self) -> Box<dyn Scene<R> + Sync> {
|
||||
impl<R: Rng> ExampleScene<R> for StanfordDragon<R> {
|
||||
fn get_scene(&self) -> ExampleSceneEnum<R> {
|
||||
let s = self.scene.get_or_init(|| {
|
||||
let obj = ObjData::new("ray-tracing-scene/obj/stanford_dragon.obj").unwrap();
|
||||
|
||||
|
|
@ -111,7 +112,7 @@ impl<R: Rng + 'static> ExampleScene<R> for StanfordDragon<R> {
|
|||
});
|
||||
|
||||
let n: AccelerationStructureScene<_, _> = s.clone();
|
||||
Box::new(n)
|
||||
ExampleSceneEnum::AccelerationStructureScene(n)
|
||||
}
|
||||
|
||||
fn get_camera_pos(&self) -> Pos3 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue