October 12, 20043:22 am
Renderman Blobby codes
I was just trying to figure out how Blobbies work in a RIB file. More specifically, I was trying to find the meaning of each combination opcode in the Renderman 3.2 spec. Can anyone tell me what Maximum, Minimum, Multiply, and Divide do? I think Add and Subtract are self-explanatory. Any help would be greatly appreciated. Thanks
October 12, 20045:03 am
That's a good question, but I don't have an answer. But let me guess... maybe minimum takes the minimum value between blobbies and maximum, the maximum value to calculate the implicit surface.
I don't see much use to minimum and maximum, though.
October 12, 20044:23 pm
From the docs:
Multiply - When multiplying two fields you can cause transition regions to be sharper. This occurs when field values are less than 1.
Max, Min - Use the max or min operators to allow two independent fields to cohabitate peacefully. The resulting field function is simply the largest or smallest of the contributing fields and so the result is no larger, and no blobbier than any of the constituent sub-blobs.
Divide - Use divide to blur, smooth or enlarge transition regions. This operator may not prove tremendously useful but is provided for completeness.
Negate - Causes the negation of the associated fields. This could come in handy to combine invert the sense of a blob (from hole to solid) but, again, is provided more for the sake of completeness.
December 12, 200412:35 am
I'm just starting to work with renderman blobbies via the C api, and I have a question regarding the __threshold parameter.
The MTOR documentation implies that the additional threshold control is available only with the "constant" blob (opcode 1000), whereas the RI Extention docs don't seem to limit where it can be used:
Blobby Threshold Control
PRMan 10.0 fully supports the RiBlobby geometric primitive as defined in the RenderMan Interface Specification 3.2, and adds an extension for controlling the threshold of the limit function. This is specified in the parameter list by using the primitive variable "__threshold", which is a constant float (i.e specified only once per RiBlobby call). The value specified for this variable is added directly to the threshold value used by RiBlobby.
on a related note, is the "constant" blob a symmetrical sphere? so far I've just worked with the "ellipsoid" blob (opcode 1001).
thanks in advance...