struct Hex { float heights[6]; uint colors[6]; }; layout(std430, buffer_reference) readonly buffer HexList { Hex h[]; }; struct Region { uint x; uint y; HexList hexes; }; layout(std430, buffer_reference) readonly buffer RegionList { Region r[]; }; layout(std430, buffer_reference) readonly buffer HexContext { mat4 proj; mat4 view; RegionList regions; }; layout(std430, push_constant) uniform PushConstant { HexContext context; float time; } pc;