From 1e0ba605b76519cb1d51f78a3e0796930780ddd3 Mon Sep 17 00:00:00 2001 From: jaby Date: Thu, 18 May 2023 22:14:38 +0200 Subject: [PATCH] Use POLY_F4 and clean up code --- examples/PoolBox/application/src/main.cpp | 59 +++++++++++++++++------ examples/PoolBox/assets/IconTexture.png | 4 +- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/examples/PoolBox/application/src/main.cpp b/examples/PoolBox/application/src/main.cpp index a3d61dc3..cc0d3653 100644 --- a/examples/PoolBox/application/src/main.cpp +++ b/examples/PoolBox/application/src/main.cpp @@ -41,32 +41,59 @@ static void load_assets() { } void main() { - static constexpr auto FirstOffsetX = 64; - const JabyEngine::GPU::POLY_F3 triangle({{0, 0}, {64, 64}, {0, 64}}, JabyEngine::GPU::Color24(0x0, 0xFF, 0xFF)); - const JabyEngine::GPU::POLY_FT3 triangle2( - {{0, 0}, {64, 0}, {64, 64}}, {{0, 0}, {64, 0}, {64, 64}}, - JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit), - JabyEngine::GPU::PageClut(320, 510), - JabyEngine::GPU::Color24(0xFF, 0xFF, 0xFF)); + static constexpr auto TriangleColor = JabyEngine::GPU::Color24(0x0, 0xFF, 0xFF); + static constexpr auto TriangleArea = JabyEngine::GPU::AreaI16({0, 0}, {64, 64}); + static constexpr auto TriangleTPage = JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit); + static constexpr auto TriangleClut = JabyEngine::GPU::PageClut(320, 510); + + static constexpr auto RectangleColor = JabyEngine::GPU::Color24(0x80, 0x80, 0xFF); + static constexpr auto RectangleArea = JabyEngine::GPU::AreaI16({0, TriangleArea.size.height}, {80, 80}); + static constexpr auto RectangleTPage = JabyEngine::GPU::TPage(320, 256, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit); + static constexpr auto RectangleClut = JabyEngine::GPU::PageClut(320, 511); + + const JabyEngine::GPU::POLY_F3 triangle1({ + {TriangleArea.position.x, TriangleArea.position.y}, + {TriangleArea.size.width, TriangleArea.size.height}, + {TriangleArea.position.x, TriangleArea.size.height}}, + TriangleColor + ); + const JabyEngine::GPU::POLY_FT3 triangle2({ + {TriangleArea.position.x, TriangleArea.position.y}, + {TriangleArea.size.width, TriangleArea.position.y}, + {TriangleArea.size.width, TriangleArea.size.height}},{ + // Texture + {TriangleArea.position.x, TriangleArea.position.y}, + {TriangleArea.size.width, TriangleArea.position.y}, + {TriangleArea.size.width, TriangleArea.size.height}}, + TriangleTPage, + TriangleClut, + JabyEngine::GPU::Color24::White() + ); const JabyEngine::GPU::POLY_G3 triangle3({ - {{0 + FirstOffsetX, 0}, {0xFF, 0x0, 0x0}}, - {{64 + FirstOffsetX, 64}, {0x0, 0xFF, 0x0}}, - {{0 + FirstOffsetX, 64}, {0x0, 0x0, 0xFF}}}); + {triangle1.vertex0.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Red()}, + {triangle1.vertex1.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Green()}, + {triangle1.vertex2.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Blue()}} + ); const JabyEngine::GPU::POLY_GT3 triangle4({ - {{0 + FirstOffsetX, 0}, {0, 0}, {0xFF, 0x0, 0x0}}, - {{64 + FirstOffsetX, 64}, {64, 64}, {0x0, 0x0, 0xFF}}, - {{64 + FirstOffsetX, 0}, {64, 0}, {0x0, 0xFF, 0x0}}}, - JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit), - JabyEngine::GPU::PageClut(320, 510)); + {triangle2.vertex0.move(TriangleArea.size.width, 0), triangle2.page0, JabyEngine::GPU::Color24::Red()}, + {triangle2.vertex1.move(TriangleArea.size.width, 0), triangle2.page1, JabyEngine::GPU::Color24::Blue()}, + {triangle2.vertex2.move(TriangleArea.size.width, 0), triangle2.page2, JabyEngine::GPU::Color24::Green()}}, + TriangleTPage, + TriangleClut + ); + + const JabyEngine::GPU::POLY_F4 rectangle(RectangleArea, RectangleColor); load_assets(); while(true) { - JabyEngine::GPU::render(triangle); + JabyEngine::GPU::render(triangle1); JabyEngine::GPU::render(triangle2); JabyEngine::GPU::render(triangle3); JabyEngine::GPU::render(triangle4); + JabyEngine::GPU::render(rectangle); + JabyEngine::GPU::swap_buffers_vsync(2); } } diff --git a/examples/PoolBox/assets/IconTexture.png b/examples/PoolBox/assets/IconTexture.png index 3fefb9c8..d1af743b 100644 --- a/examples/PoolBox/assets/IconTexture.png +++ b/examples/PoolBox/assets/IconTexture.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f607226a3415638de7e65be597dd6e9e7049addc69334f88bcb94f4611454246 -size 28329 +oid sha256:4ab27c037b82e661ec89c8275635bd585b1199848744894a200158b05e76783f +size 26787