geng_camera/
pixel_perfect.rs

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