Not exactly: texture arrays are declared in HLSL as Texture2DArray for Texture2D and not as an array of texture, so it is quite different. They are almost acting as a 3D texture, where the z is a slice of the 2D Texture (in terms of uv, it is the w dimension). This has the benefit of supporting bilinear interpolation between the 2D slices (an array of texture doesn't support that). Concerning the memory, I believe this is equivalent, for performance, not sure they give a huge boost even when performing a bilinear filtering but this should be better. Using Texture2DArray is also easier as you only need to bind it to a single slot.
xoofx
- 1.4k
- 9
- 11