interface version 2
Marks a point in a SOP network where intermediate (or expensive) results can be saved to disk and re-used.
If you have complex SOP networks with many nodes (such as large-scale RBD or particle simulations, etc.), you probably want to break down your network to a few logical units. A Waypoint SOP can represent the end of such a logical unit, with the additional feature of being able to store it on disk (so it can be reused instead of recalculated).
Note
Waypointing is (conceptually) not caching, although the underlining mechanism is similar (and obviously the SOP node can be used as a cache). It’s more akin to 'baking' than caching.
Conceptual differences between waypointing and caching
Waypoint: a separator between large logical units
In really complex networks, the entire network consists of usually two or more large logical units. A waypoint marks the end of such a unit ('compartment').
Manual update: As workflow
When the user finished working on (or modifying) a large logical block of SOP nodes, she marks it by 'rendering' the related waypoint (possibly some downstream waypoints, too). Although this has to be done manually, this level of caretaking always has to happen in practice (it’s also a good opportunity to compare with an earlier on-disk version, etc.)
Manual update: Breaks procedural behaviour
Caching is (supposed to be) automatic, waypointing is not.
A consequence of manual updating is that it is easy for the geometry on disk to get out of sync with the state of the SOP network. This can be less of a problem if the waypoint represents the end results of a large logical SOP block (as mentioned above).
On the other hand, a SOP network littered with Waypoint nodes do turn into a nightmare quickly. So...
Warning
This SOP introduces additional (manual) maintenance burdens to your SOP network – as soon as you start using waypoints, you’ll have to ensure that the geometry on disk matches the current state of the upstream network. This can be a source for many mistakes. Use as few instances of this node as possible.
Useful features
Takes
Takes allow to work with lower-quality settings (if possible) and only calculate with higher settings when writing the results to disk (e.g. when baking ambient occlusion to per-point colors, the sampling quality can be boosted for the disk version only).
Variants
The writing/reading of multiple variants of the same input is supported (see the Output Variant
and Variant Names
parameters below). One practical application is when used together
with a Wedge output driver (ROP).
Tip
To quickly build ROP networks of Waypoints, create a ROP network, then use one of the following buttons in the Tools tab:
Tools->Create linked Fetch ROP
Tools->Create Fetch + Wedge ROP
(Make sure you set the Target ROP Network parameter on all your Waypoints.)
Then you can build the ROP network by connecting the generated nodes in the proper order. By rendering this ROP network, all your Waypoints will be updated properly.
Substep Support
Substepping is used if more than one evaulated geometry is to be saved for each frame. Useful applications:
The waypointed results are to be retimed (especially slow-motion)
Multi-segmented motion blur is desired for rendering
Tip
The easiest way of setting up substep output is to press Tools->Substep Output Setup and choose a preset. This sets up all related parameters to working defaults. (The Current Substeps field shows the number of substeps currently set up.)
For properly working substepping the following needs to be set up:
The filename extension should support fractional frame values (see provided presets)
The frame range increment should be set to the appropriate value (which is
1.0/substeps
– also, there are presets provided)Frame range clamping should be enabled in the Reader tab (this provides the proper fractional frame values for reading back a substepped sequence)
Note
Waypoints don’t provide any interpolation of geometry data. Use a TimeBlend qL SOP or equivalent (TimeBlend qL also supports substeps).
Also, certain numerical inaccuracies might occur when using small frame increments (this is due to the floating-point represetation).
Recommended variables
There is a special output directory preset called $HIPCACHE/$HIPVARIANT setup
.
This preset uses two user-defined variables for specifying the output path:
variable | recommended default value |
$HIPCACHE
|
Having this variable allows relocating the cache folder to another path if necessary (e.g. to a faster/local disk, etc.) |
$HIPVARIANT
|
This still uses the hip file name in the output path, but it allows saving a differently named hip file if necessary. |
Note
These variables don’t exist by default and need to be set up manually.
To read more about setting up variables, see the Environment qL OBJ help page. (It is similar to Edit->Aliases and Variables... – except that it can store paths with other variables un-expanded.)
Parameters
Pass Through | If turned on, the Waypoint does nothing (behaves like a plain Switch node). This is 'On' by default and needed to be turned off explicitly once the user performed a write-to-disk operation. | ||||||||||||||||||||||||||||||
Waypoint State | Main node state. Whenever it’s changed, the node color also gets updated to give more distinct visual feedback.
| ||||||||||||||||||||||||||||||
Start/End/Inc | The frame range to be used. Note Substepping (multiple files per frame) is fully supported by using fractional values for the Increment parameter. Use the preset popup (at the right) to choose a reasonable default (but most importantly see the Substepping section above on how to set it up easily). | ||||||||||||||||||||||||||||||
File Name (tab) | Settings for the path/name of the output file(s). The folder, name and extension parts are each represented by a parameter. This makes setting them up quick and easy (it’s usually just clicking on one of the preset menu items). They also come with very reasonable default values (basically you're just have to give the Waypoint a meaningful name and that’s it).
| ||||||||||||||||||||||||||||||
Compression (tab) | Options to make the geometry data more compact. Tip These are applied in Pass-Through mode, allowing the differences to be inspected by the user.
| ||||||||||||||||||||||||||||||
Writer (tab) | Geometry writing settings (see also Geometry ROP).
| ||||||||||||||||||||||||||||||
Reader (tab) | Geometry reading settings (geometry file name is specified in the Output File field above – see also File SOP).
| ||||||||||||||||||||||||||||||
Tools (tab) |
|
To Do
Shouldn’t be time-dependent if a single frame is cached
Make sure it works embedded in another asset (although generally it’s not a recommended thing). Most problems would be when it tries to changes itself (color, etc).
Release Notes
interface version 2 —
2014-10-13 |
|
2014-09-11 |
|
2014-07-12 |
|
2014-06-04 |
|
2014-05-17 |
|
2014-04-05 |
|
2014-03-14 |
|
2014-02-16 |
|
2013-09-27 |
|
2013-09-12 | Clear Cache OPs now supports the Reload button on File SOPs. |
2013-08-24 | Added a read-only field |
2013-07-31 | Waypoints are now created with the appropriate color reflecting their state (even if there’s a permanent default preset with a non-default passthru value). Limitation: node color doesn’t (yet) change when applying a preset. |
2013-06-16 | Removed UI annoyance when deleting a waypoint: now it asks to delete the related directory if it actually exists. |
2013-05-25 | Important: Applied a few modifications so Waypoints could be used within assets without problems (yet to be tested – post-render auto-reloading of geometry can be a problem). For now it’s safest to specify waypoints in assets as editable nodes.
|
2013-05-24 |
|
2013-05-05 |
|
2012-12-06 |
|
2012-12-01 | Various workflow enhancements (mostly Wedge-related):
|
2012-11-30 |
|
2012-11-09 |
|
2012-10-02 |
|
2012-08-05 |
|
interface version 1 —
Version 0.0.3 |
|
Version 0.0.2 |
|
Version 0.0.1 | First release. |