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() {
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);
}
}

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

Binary file not shown.