/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "quad.h" #include "assert/assert.h" void quadBuffer( meshvertex_t *vertices, const float_t minX, const float_t minY, const float_t maxX, const float_t maxY, const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a, const float_t u0, const float_t v0, const float_t u1, const float_t v1 ) { const float_t z = 0.0f; // Z coordinate for 2D rendering assertNotNull(vertices, "Vertices cannot be NULL"); // First triangle vertices[0] = (meshvertex_t) { { r, g, b, a }, // Color { u0, v0 }, // UV { minX, minY, z } // Position }; vertices[1] = (meshvertex_t) { { r, g, b, a }, // Color { u1, v0 }, // UV { maxX, minY, z } // Position }; vertices[2] = (meshvertex_t) { { r, g, b, a }, // Color { u1, v1 }, // UV { maxX, maxY, z } // Position }; // Second triangle vertices[3] = (meshvertex_t) { { r, g, b, a }, // Color { u0, v0 }, // UV { minX, minY, z } // Position }; vertices[4] = (meshvertex_t) { { r, g, b, a }, // Color { u1, v1 }, // UV { maxX, maxY, z } // Position }; vertices[5] = (meshvertex_t) { { r, g, b, a }, // Color { u0, v1 }, // UV { minX, maxY, z } // Position }; }