Houdini 20.0 Nodes TOP nodes

Labs File Cache Partitioner 1.0 TOP node

Partitions and generates work items based on range and wedge values for file cache.

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

    1. Create a Range Generate node.

    2. Set all three components of the Value Range parameter to 1. This will set both the frame and the range attribute on the work item to 1.

  • Time Dependent / Geometry Sequence

    To...Do this

    To create a Time Dependent work item

    1. Create a Range Generate node.

    2. 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 different frame 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 varition of work items of these categorised.

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 demoscene 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 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

TOP nodes