IndirectDiffuse and IndirectSpecular parameters on standard_surface seem to be constant i.e. they are not re-evaluated per sample. Is it a bug or a feature? Either way, would it be possible to make these parameters dynamic, so we can drive their values using the connections. Also, would it be possible to clearly mark connectable and not connectable parameters in documentation.
Thanks, Alex
For your first question: that's by design. indirect_diffuse and indirect_specular are not linkable (you can't connect shaders or other parameters to them). I think it's a UI bug that MtoA lets you connect shaders.
Stephen, what is the reason for making this attribute non-linkable? Are you trying to save time by caching the value and not evaluating it for every sample? This might make renders fractionally faster, but it would make shaders less flexible. We were trying to use these parameters to optimise indirect computations on some assets (don't do indirect diffuse on specular hits, limit the indirect depth on a per shader basis, etc). But since these parameters are not linkable we cannot do any of these optimisations. Can you suggest an alternative solution?
A workaround is to use per-face shader assignments, and set indirect_diffuse and indirect_specular on a per-face basis.
Yes, we can make them linkable. I'll log a feature request.
Why weren't they linkable? I don't know for sure. I don't remember anybody asking about it before, so that might be one reason.