diff --git a/ggdt/tests/graphics_indexed.rs b/ggdt/tests/graphics_indexed.rs index b8df313..a08a8b7 100644 --- a/ggdt/tests/graphics_indexed.rs +++ b/ggdt/tests/graphics_indexed.rs @@ -2318,7 +2318,34 @@ fn draw_triangles(dest: &mut IndexedBitmap, mode: TriangleType, texture: Option< let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(220.0, 20.0), top_left, top_right, bottom_left, bottom_right); dest.triangle_list_2d(&triangles); + + // other downscaled sizes + let scale_factor = 0.25; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(60.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + let scale_factor = 0.3; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(80.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.35; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(100.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.5; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(60.0, 60.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.66; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, blendmap, scale * Matrix3x3::new_2d_translation(90.0, 60.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + // upscaled sizes with various rotations // todo: my matrix math is wrong here somehow (was trying to do rotations around the center of each quad), but i // don't care enough to fix this properly. the output of this crap is "good enough" let mut angle = 0.0; diff --git a/ggdt/tests/graphics_rgba.rs b/ggdt/tests/graphics_rgba.rs index edb0094..10edb52 100644 --- a/ggdt/tests/graphics_rgba.rs +++ b/ggdt/tests/graphics_rgba.rs @@ -2648,6 +2648,33 @@ fn draw_triangles(dest: &mut RgbaBitmap, mode: TriangleType, texture: Option<&Rg let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(220.0, 20.0), top_left, top_right, bottom_left, bottom_right); dest.triangle_list_2d(&triangles); + // other downscaled sizes + let scale_factor = 0.25; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(60.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.3; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(80.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.35; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(100.0, 40.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.5; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(60.0, 60.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + let scale_factor = 0.66; + let scale = Matrix3x3::new_2d_scaling(scale_factor, scale_factor); + let triangles = get_quad(mode, texture, scale * Matrix3x3::new_2d_translation(90.0, 60.0), top_left, top_right, bottom_left, bottom_right); + dest.triangle_list_2d(&triangles); + + // upscaled sizes with various rotations // todo: my matrix math is wrong here somehow (was trying to do rotations around the center of each quad), but i // don't care enough to fix this properly. the output of this crap is "good enough" let mut angle = 0.0; diff --git a/ggdt/tests/ref/indexed/triangle_2d_solid_blended.png b/ggdt/tests/ref/indexed/triangle_2d_solid_blended.png index ce00397..334045e 100644 Binary files a/ggdt/tests/ref/indexed/triangle_2d_solid_blended.png and b/ggdt/tests/ref/indexed/triangle_2d_solid_blended.png differ diff --git a/ggdt/tests/ref/indexed/triangle_2d_solid_textured.png b/ggdt/tests/ref/indexed/triangle_2d_solid_textured.png index 85b8784..a929bd7 100644 Binary files a/ggdt/tests/ref/indexed/triangle_2d_solid_textured.png and b/ggdt/tests/ref/indexed/triangle_2d_solid_textured.png differ diff --git a/ggdt/tests/ref/indexed/triangle_2d_solid_textured_blended.png b/ggdt/tests/ref/indexed/triangle_2d_solid_textured_blended.png index a7ff7bf..078f1ff 100644 Binary files a/ggdt/tests/ref/indexed/triangle_2d_solid_textured_blended.png and b/ggdt/tests/ref/indexed/triangle_2d_solid_textured_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_blended.png b/ggdt/tests/ref/rgba/triangle_2d_solid_blended.png index 5c5edbd..6545ea1 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_blended.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_multicolor_blended.png b/ggdt/tests/ref/rgba/triangle_2d_solid_multicolor_blended.png index 4dd563e..b36c909 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_multicolor_blended.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_multicolor_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured.png index 56ea90c..995120d 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_blended.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_blended.png index ae4535a..d310353 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_blended.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored.png index ff5182f..9148784 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored_blended.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored_blended.png index 48357b0..1f02a10 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored_blended.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_colored_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored.png index b039e55..03132f7 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored_blended.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored_blended.png index 84633ee..6642234 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored_blended.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_multicolored_blended.png differ diff --git a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_tinted.png b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_tinted.png index 7caea1a..cabfe96 100644 Binary files a/ggdt/tests/ref/rgba/triangle_2d_solid_textured_tinted.png and b/ggdt/tests/ref/rgba/triangle_2d_solid_textured_tinted.png differ