I have a shader which takes a 16-bit index and looks into a 256x256 table for an RGBA value, a colormap I want to extend it to handle larger indexes. I think the best way is create a texture array or a 3D texture with multiple 256x256 textures. Then instead of looking up just U, V I would look up R, S, T.
Are texture arrays and 3d textures both supported in PyOpenGL? Is one better suited to this problem? I want an exact nearest-neighbor lookup, no filtering in X, Y or Z.