One way to do this is have a 32x32 texture marking which squares are grayed out, then have the material (or shader?) use the 32x32 texture to compute the grayed out color. However, I think a simpler way to do it is to just make the actual 2048x2048 board texture a dynamic texture, then have my C++ code edit the texture colors. When a new square is revealed, my C++ code will just modify the 2048x2048 board texture. So far I’ve read about dynamic textures and it looks overly complicated and I’m not sure whether I’m on the right path…