Animate!
This commit is contained in:
parent
afc4970023
commit
8a5bce290c
38
src/main.rs
38
src/main.rs
|
|
@ -100,25 +100,27 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
let mut f = BufReader::new(f);
|
||||
load_mesh(&mut f)?
|
||||
};
|
||||
let m_view = ypr_to_mat(vec3(135.0 * PI / 180.0, -30.0 * PI / 180.0, 0.0f32));
|
||||
let m_camera = transpose(&m_view);
|
||||
let img = render(mesh.as_slice(), |off| {
|
||||
// perspective projection
|
||||
let base = vec3(0.0, 0.0, -40.0);
|
||||
let ray = vec3(off.x, off.y, 2.0);
|
||||
|
||||
// orthographic projection
|
||||
// let base = vec3(off.x, off.y, -10.0);
|
||||
// let ray = vec3(0.0, 0.0, 1.0);
|
||||
|
||||
(m_camera * base, m_camera * ray)
|
||||
});
|
||||
|
||||
let window = show_image::create_window("Raytracing", WindowOptions::default())?;
|
||||
let image = ImageView::new(ImageInfo::rgb8(W as u32, H as u32), img.data());
|
||||
window.set_image("image", image)?;
|
||||
window.wait_until_destroyed()?;
|
||||
Ok(())
|
||||
loop {
|
||||
for phi in 0..360 {
|
||||
let m_view = ypr_to_mat(vec3((135.0 + phi as f32) * PI / 180.0, -30.0 * PI / 180.0, 0.0f32));
|
||||
let m_camera = transpose(&m_view);
|
||||
let img = render(mesh.as_slice(), |off| {
|
||||
// perspective projection
|
||||
let base = vec3(0.0, 0.0, -40.0);
|
||||
let ray = vec3(off.x, off.y, 2.0);
|
||||
|
||||
// orthographic projection
|
||||
// let base = vec3(off.x, off.y, -10.0);
|
||||
// let ray = vec3(0.0, 0.0, 1.0);
|
||||
|
||||
(m_camera * base, m_camera * ray)
|
||||
});
|
||||
|
||||
let image = ImageView::new(ImageInfo::rgb8(W as u32, H as u32), img.data());
|
||||
window.set_image("image", image)?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn edge_dist(a: Vec3, b: Vec3, base: Vec3, dir: Vec3) -> f32 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user