Bindless textures can “store”
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.
December 2, 2014 at 6:37 am
Have you tried this combination? We are having some issues when passing the handle from a bindless image to an image load/store command in a GLSL fragment shader.. (error C7011: implicit cast from “uint64_t” to “int”). We have tried multiple inputs to receive and cast the handlers to images like:
layout(binding = MATERIAL) uniform material
{
uvec2 Diffuse[NUM_TEXTURES];
} Material;