Ok ya this makes sense. So, in a way this would operate similar to how the composite top operates, where if the number of inputs is over 32, the top internally via cpu, sort of “runs two passes”?
I guess then my only other question would be - what happens if a glsl shader tries to access say light 0, followed by light 50, within a for loop? If the first 32 lights are mapped to 32 available samplers, then would there be some extra cost or limitation or recompile needed if the desired light, is not already mapped to a sampler? Also maybe I’m over complicating this and missing some mechanic that helps with this sort of thing…
To zoom out a bit, my questions are all circling around the subject of Clustered Shading - an optimization / acceleration structure of sorts that makes it possible to render very large quantities of lights.
It does require having immediate access to all lights though in some sort of buffer since different sets of lights are iterated through on a pixel to pixel basis.
Trying to figure out if the new system would make it easier / more elegant to implement that than is currently possible, or if the same work around(s) would be necessary.