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}