On this page |
Overview ¶
This node is mostly used as a basic building block for TOP Labs File Cache node.
TOP nodes change their work items based on their inputs. This means, for example a ROP Geometry Output node can give you undesired amount of frames/work items to work with just by connecting/disconnecting it’s input. This can lead to a very error prone, slow, and hard to build workflows. This partitioner’s job to ensure that the amount of work items generated are always correspond to the settings given on this node, and by that, to create dependencies between all incoming and newly generated work items.
Cache Types ¶
This node differentiates between two distinctive cache types based on frame
and range
top attributes:
-
Time Independent / Static Geometry / Model
To... Do this To create a Time Independent work item
-
Create a Range Generate node.
-
Set all three components of the Value Range parameter to 1. This will set both the
frame
and therange
attribute on the work item to 1.
-
-
Time Dependent / Geometry Sequence
To... Do this To create a Time Dependent work item
-
Create a Range Generate node.
-
Make sure the first and second values of Value Range parameter are not the same. This will give you multiple work items with the same
range
, but each with differentframe
number.
-
Dependencies and Partitioning ¶
Each of these cache types can be wedged using this node, in which case top wedge attributes such as wedgeindex
, wedgenum
, wedgetotal
, wedgecount
is added to the work items. This means that the node can generate Time Independed, Wedged Time Independent, Time Dependent and Wedged Time Dependent work items from any number and variation of work items of these categorized.
Note
Wedging here does not give you access the usual wedge attribute controls you would expect from a Wedge node. Here it simply controls the amount of work items needed if you are to wedge a Time Dependent or Time Independent cache. To add wedge attributes to the work items after this node, the Labs Wedge node can be used.
As general rule, incoming Time Dependent caches will partition with the work item of the same frame number. If that is not found no dependency will be created, for example when the incoming frame range is longer then the generated frame range. Incoming Time Dependent work items will always collapse their frames (partition) into a single Time Independent work item. While on the opposite side, an incoming Time Independent work item will partition to all the frames of the generated Time Dependent work items. This behaviour is similar when it comes to wedging. When you generate wedged work items, every incoming none wedged work items will partition to all wedges of the same frame.
When a work item does not have frame
or range
attribute, it is considered a generic work item. This is generally not recommend. However this means that all generated work items depend on this generic work item.
You can find a demo scene under SideFXLabs/hip/filecachepartitioner_demoscene.hip that demonstrates these dependencies in detail.
Parameters ¶
Frame Range ¶
Time Dependent Cache
When this is on (the default), the node writes out a separate cache file for every frame (using the global frame start/end/increment from the timeline). If the input geometry is static (doesn’t change based on the frame number), turn this off to avoid writing out multiple identical files.
Start/End/Inc
Specifies the range of frames to render (start frame, end frame, and increment). All values may be floating point values. The range is inclusive.
These parameters determine the values of the local variables for the output driver.
$NRENDER
The number of frames to be rendered by the output driver.
$N
The current frame being rendered (starting at 1 and going to $NRENDER
).
Substeps
Substeps
When Evaluate as is Frame range, this is the number of fractional sub-frames to divide each frame into. Caching sub-frames increases the quality of motion blur rendering for cached animated geometry. If you set Substeps greater than 1
and you've set File Path to Explicit, make sure your explicit path expression can handle fractional frames, by using $T
(floating point time in seconds) or $FF
(fractional frame number) instead of $F
(whole frame number).
Wait for All Frames
This will make every single generated work item dependent on all incoming work items. So this node awaits for all upstream work items to finish before processing.
Wedging ¶
Enable Wedging
This will generate copies of the given frame range using the Wedge Count parameter. The work items will contain all necessary top attributes, such as wedgeindex
to differentiate between wedges, however this node will not generate any other wedge attributes. To add wedge attributes to the generated work items, use the Labs Wedge node.
Wedge Count
Sets how many copies of the given frame range will be created. The work items will contain all necessary top attributes, such as wedgeindex
to differentiate between wedges, however this node will not generate any other wedge attributes. To add wedge attributes to the generated work items, use the Labs Wedge node.
See also |