I don’t know how I missed this when Nvidia released
NV_bindless_texture, I guess because all the samples I saw used bindless textures to demonstrate a ridiculous number of texture reads. But I realized when reading the recently released
ARB_bindless_texture extension that they can also be used to “store,” or write, to a very large number of textures (using
ARB_shader_image_load_store functionality). Which finally gets rid of that extremely pesky
MAX_IMAGE_UNITS limitation I’ve been complaining about. The only downside is that I can no longer run my program at home on my GTX 480.