To my best knowledge, Texture1DArrays must all be of the same length. So what makes a Texture1DArray containing 10 texture1Ds, each with a width of 256 texels, different from a Texture2D of size 256x10?

As far as I can tell they all take up one texture register, the same amount of memory and are even accessed in the same way, so is there any real difference in implementation or is the only difference just the name?

I assume the same argument applies to Texture2D arrays and Texture3Ds too.

Sole Creator of Pigment - a procedural, block-base space trading sim.

PhD student working on medical imaging at the University of Southampton.

They're sampled differently. When you sample from a Texture2D it takes a 2x2 block and does a weighted average of all 4 texels (assuming standard linear filtering), when you sample from a Texture1D array it takes a 2x1 block from the slice you specify and does a weighted average of that.

In other words, it does not interpolate between slices in the array.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.