I suspect that LittlePenny referred to array indexing from within vertex/pixel shader programs. Under vertex shaders, the only array that can be indexed is a bank of constant-registers (96 in VS1.0, 256 in VS2.0) - this array contains only 4-element vectors, and indexing is done by putting an FP number into a dedicated address register, rounding it down to nearest integer in the process. Under pixel shaders, the closest thing you can get to an indexed array lookup is a texture map lookup - to simulate lookups into an 1D array, define a 1D texture, set filtering method to point-sampling and divide the array index by the texture size just prior to lookup. For 2D and 3D array lookups, extend this method to 2D and 3D textures as needed. Neither vertex nor pixel shaders allow you to write to any indexable arrays.