Use POLY_F4 and clean up code

This commit is contained in:
jaby 2023-05-18 22:14:38 +02:00
parent 5d2404c8bf
commit 1e0ba605b7
2 changed files with 45 additions and 18 deletions

View File

@ -41,32 +41,59 @@ static void load_assets() {
} }
void main() { void main() {
static constexpr auto FirstOffsetX = 64; static constexpr auto TriangleColor = JabyEngine::GPU::Color24(0x0, 0xFF, 0xFF);
const JabyEngine::GPU::POLY_F3 triangle({{0, 0}, {64, 64}, {0, 64}}, JabyEngine::GPU::Color24(0x0, 0xFF, 0xFF)); static constexpr auto TriangleArea = JabyEngine::GPU::AreaI16({0, 0}, {64, 64});
const JabyEngine::GPU::POLY_FT3 triangle2( static constexpr auto TriangleTPage = JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit);
{{0, 0}, {64, 0}, {64, 64}}, {{0, 0}, {64, 0}, {64, 64}}, static constexpr auto TriangleClut = JabyEngine::GPU::PageClut(320, 510);
JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit),
JabyEngine::GPU::PageClut(320, 510), static constexpr auto RectangleColor = JabyEngine::GPU::Color24(0x80, 0x80, 0xFF);
JabyEngine::GPU::Color24(0xFF, 0xFF, 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({ const JabyEngine::GPU::POLY_G3 triangle3({
{{0 + FirstOffsetX, 0}, {0xFF, 0x0, 0x0}}, {triangle1.vertex0.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Red()},
{{64 + FirstOffsetX, 64}, {0x0, 0xFF, 0x0}}, {triangle1.vertex1.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Green()},
{{0 + FirstOffsetX, 64}, {0x0, 0x0, 0xFF}}}); {triangle1.vertex2.move(TriangleArea.size.width, 0), JabyEngine::GPU::Color24::Blue()}}
);
const JabyEngine::GPU::POLY_GT3 triangle4({ const JabyEngine::GPU::POLY_GT3 triangle4({
{{0 + FirstOffsetX, 0}, {0, 0}, {0xFF, 0x0, 0x0}}, {triangle2.vertex0.move(TriangleArea.size.width, 0), triangle2.page0, JabyEngine::GPU::Color24::Red()},
{{64 + FirstOffsetX, 64}, {64, 64}, {0x0, 0x0, 0xFF}}, {triangle2.vertex1.move(TriangleArea.size.width, 0), triangle2.page1, JabyEngine::GPU::Color24::Blue()},
{{64 + FirstOffsetX, 0}, {64, 0}, {0x0, 0xFF, 0x0}}}, {triangle2.vertex2.move(TriangleArea.size.width, 0), triangle2.page2, JabyEngine::GPU::Color24::Green()}},
JabyEngine::GPU::TPage(320, 0, JabyEngine::GPU::SemiTransparency::B_Half_add_F_Half, JabyEngine::GPU::TexturePageColor::$4bit), TriangleTPage,
JabyEngine::GPU::PageClut(320, 510)); TriangleClut
);
const JabyEngine::GPU::POLY_F4 rectangle(RectangleArea, RectangleColor);
load_assets(); load_assets();
while(true) { while(true) {
JabyEngine::GPU::render(triangle); JabyEngine::GPU::render(triangle1);
JabyEngine::GPU::render(triangle2); JabyEngine::GPU::render(triangle2);
JabyEngine::GPU::render(triangle3); JabyEngine::GPU::render(triangle3);
JabyEngine::GPU::render(triangle4); JabyEngine::GPU::render(triangle4);
JabyEngine::GPU::render(rectangle);
JabyEngine::GPU::swap_buffers_vsync(2); JabyEngine::GPU::swap_buffers_vsync(2);
} }
} }

BIN
examples/PoolBox/assets/IconTexture.png (Stored with Git LFS)

Binary file not shown.