struct Hex { float heights[6]; uint colors[7]; }; layout(std430, buffer_reference) readonly buffer Region { int q; int r; Hex hexes[]; }; layout(std430, buffer_reference) readonly buffer HexContext { mat4 proj; mat4 view; vec2 camera; vec2 forward; Region regions[]; }; layout(std430, push_constant) uniform PushConstant { HexContext context; uint region; float time; } pc;