Context:
- H19.5
- GLSL-330
Current Approach:
- My Houdini-side shader node (VOP) has a multiparm of image-path string parms, equiv to an array of images. This gets filled programatically and so can shrink and grow dynamically. Let's say each image-path entry in the array is named image#.
- The image index that should be used for a given prim is stashed as an int prim attribute that gets picked up by the glsl-geo shader and passed to the glsl-frag shader. All of this works as expected.
- The glsl-frag shader declares a set (finite, but large, say 50 or so) of uniform texture buffers named in the same way as the houdini-shader multiparm entries: uniform sampler2D image0; uniform sampler2D image1; etc.. These appear to be generated (loaded/assigned) correctly by the gl engine, and it all works fine... but only up to some limit...
Problem:
It appears, from testing, that H19.0 has a limit of ~15 such buffers available/generated for the fragment shader, and H19.5 only gets around 10 max.
Is there an alternate/better way to do this so that I don't hit these texture buffer limits?
If the above approach is correct, is there maybe a way to increase these limits? (didn't see an obvious envar via hconfig)
Or maybe I'm going about it the wrong way?
Thanks in advance for any/all help!