If you can use GL 4.3, you can use shader storage buffer objects to hold the data instead of a texture. An SSBO can be bound as GL_ARRAY_BUFFER for you draw call.