#pragma once #include #include struct Vertex { float pos[2]; float uv[2]; }; struct TileRect { float x0; float y0; float x1; float y1; }; std::vector makeGridTileRects( uint32_t cols, uint32_t rows, float viewportWidth, float viewportHeight, float gapPixels, float targetAspect); std::vector makeGridLayout( uint32_t cols, uint32_t rows, float viewportWidth, float viewportHeight, float gapPixels, float targetAspect); void updateGridLayout( Vertex* vertices, uint32_t cols, uint32_t rows, float viewportWidth, float viewportHeight, float gapPixels, float targetAspect); void updateUvForAspectRatio( Vertex* vertices, uint32_t quadIndex, float srcAspect, float tileAspect);