1 2 3 4 5 6 7 8 9 10 11 12 13
use super::*;
pub struct PixelPerfectCamera;
impl AbstractCamera2d for PixelPerfectCamera {
fn view_matrix(&self) -> Mat3<f32> {
Mat3::identity()
}
fn projection_matrix(&self, framebuffer_size: Vec2<f32>) -> Mat3<f32> {
Mat3::translate(vec2(-1.0, -1.0))
* Mat3::scale(vec2(2.0 / framebuffer_size.x, 2.0 / framebuffer_size.y))
}
}