I'd like to render hundreds of thousands of objects and provide data for each object in GLSL.

My plan is something like this -
1. Put the data for each object in textures - GL_TEXTURE_RECTANGLE
2. Render to FBO Updates and Logic using texture data
3. Render each Object using glDrawElementsInstanced and use the provided data from the FBO render

I'm looking for general input on how this could be optimized.
How do you determine the max texture size of GL_TEXTURE_RECTANGLE?
Is this the best\fastest way to provide unique data to hundreds of thousands of objects?
Any thoughts on this process?