I've been trying to figure out how texture atlassing works, only to see people say that you shouldn't do it, and instead use array textures (provided you can target people with that capability, which I can). What I don't understand is how this is at all a replacement for texture atlas, given a texture atlas can hold many textures at once, only bounded by max texture size, where as an array texture can only handle min 256 on old opengl versions, and min 4096 on newer versions.
In a minecraft style game, you may have all blocks using a separate texture per face, which means 256/6 = 42 max block types, similarly 4096/6 = 682 max block types for the newer opengl versions. Clearly this is not a good model if you want to have large support for many textures. Using a texture atlas on modern cards mandates 2^14 size texture minimum, which with 16x16 square texture, gives 1,048,576 different textures/ or worst case 174,762 max type of blocks per texture.
Given the great disparity between the amount of block types that can be stored via atlassing vs array textures, it seems like one shouldn't use array textures for this type of thing, is there away around this limitation that I don't understand?