mirror of
https://github.com/guilhermewerner/wgpu-renderer
synced 2025-06-15 13:24:20 +00:00
21 lines
559 B
Rust
21 lines
559 B
Rust
use super::OPENGL_TO_WGPU_MATRIX;
|
|
|
|
pub struct Camera {
|
|
pub eye: cgmath::Point3<f32>,
|
|
pub target: cgmath::Point3<f32>,
|
|
pub up: cgmath::Vector3<f32>,
|
|
pub aspect: f32,
|
|
pub fovy: f32,
|
|
pub znear: f32,
|
|
pub zfar: f32,
|
|
}
|
|
|
|
impl Camera {
|
|
pub fn BuildViewProjectionMatrix(&self) -> cgmath::Matrix4<f32> {
|
|
let view = cgmath::Matrix4::look_at_rh(self.eye, self.target, self.up);
|
|
let proj = cgmath::perspective(cgmath::Deg(self.fovy), self.aspect, self.znear, self.zfar);
|
|
|
|
OPENGL_TO_WGPU_MATRIX * proj * view
|
|
}
|
|
}
|