Honestly, not sure. I just copied the Curves panel.
Sounds good to me, focal distance 0 indeed makes no sense.
This is only a small detail, but: I'd prefer to only have the radius in the UI. Perform the division here, then only handle u/v_min/max in the rest of the Cycles code.
The padding is needed for alignment reasons, this is all over the DNA files.
I think these should be hard limits, not UI limits? Same goes for u_max and radius (that one doesn't need an upper hard limit, but it shouldn't be negative).
Overall the functionality seems reasonable, but there's a bunch of code comments. Also, I think the collection needs to be handled in DepsgraphRelationBuilder::build_camera
as well.
"this object" -> "the center of the objects in this collection"
Using FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN
would be cleaner here, and would avoid recursing explicitly.
This file is already C++, so I'd prefer to use the new float3
consistently instead of C-style arrays.
Should be removed (same below).
Same as above, maybe just disable them.