Version: Gaffer 53.1.0.0
Third-party tools: Arnold
Third-party modules: None
Description
Not sure whether to file this under bug or oversight, but @mattigruener suggested I bring it up. In our node implementation of the Arnold light filters, we don't clamp the following float plug values:
Barndoor shader: All flaps can be set outside 0-1. I can't think of any reason for opening up a flap to a negative angle, but maybe there are legitimate uses for flaps greater than 45°?
Gobo shader: Density can be set outside 0-1. Again, are there any legitimate uses for doing so?
Decay shader: All the attenuation boundaries can be set outside of 0-1.
Maya's implementation clamps these.
Arnold may accept any float value, but it's probably worth it to prevent the user from inputting non-meaningful inputs. I'm not sure how this fits into our other practices with float clamping. Do we have any kind of standard in place?
For Gaffer's native nodes, generally we have hard min/max values to prevent any plugs from being given values that are invalid for their particular use.
So I think we should :
Add min/max metadata as appropriate in gaffer.mtd. It's a pity they don't just ship a sensible metadata file with Arnold, because I think we'll basically just be reproducing the same limits that they specify in the metadata file for their Maya plugin.
Support that metadata in src/IECoreArnold/ParameterHandler.cpp, mapping it to min/max limits on the plugs created.
Version: Gaffer 53.1.0.0 Third-party tools: Arnold Third-party modules: None
Description
Not sure whether to file this under bug or oversight, but @mattigruener suggested I bring it up. In our node implementation of the Arnold light filters, we don't clamp the following float plug values:
Maya's implementation clamps these.
Arnold may accept any float value, but it's probably worth it to prevent the user from inputting non-meaningful inputs. I'm not sure how this fits into our other practices with float clamping. Do we have any kind of standard in place?