On this page |
UI/UX ¶
-
The work item info panel now has a collapsible Cook Info section that lists details about the type of cook a work item performs.
-
Added an option to the TOPs display options for specifying a maximum dependency drawing depth.
-
The work item info/middle-mouse panel will now automatically update when a different work item is selected in the TOP graph.
-
The PDG file chooser dialog for deleting outputs now condenses paths so they contain variables like
$HIP
and$JOB
, instead of showing absolute paths by default.
TOP networks ¶
-
TOP networks can now periodically save and restore the graph state to a
.json
file, using a new rolling checkpoint format. -
TOP Networks have a new Save Scene File if Required toggle, which can be disabled to turn off automatic saving of the scene before cooking the graph.
Services ¶
-
PDG Command Chains can now run using Services instead of using their own internal server system.
-
The pdg.ServiceManager class now has methods for restarting or stopping a specific service client.
-
Rather than calling pdg.Service.startReadyListener and pdg.Service.waitForClients, schedulers that want to start service clients should now use the new pdg.Service.addClients context manager to ensure that pending clients are added properly and waited on by the service.
-
PDG service clients now record the memory usage of the service process each time a task finishes cooking.
USD ¶
-
USD Analyze TOP fetches metadata, dependencies, and external references for a LOP Node or file.
-
USD Modify Paths TOP modifies asset paths.
-
USD Render Scene renders either a .usd file on disk or a LOP network
-
The USD Import TOP can now be configured to invalidate attribute-dependent expressions before cooking the target LOP node, by enabling the Evaluate with Work Item Attributes toggle.
-
The USD Import TOP now has an option to encode imported attribute names using Houdini’s text encoding format, instead of just replacing all invalid characters with an
_
. -
Support for specifying a population mask when importing a USD file using the USD Import TOP.
-
The USD Render TOP now has a toggle to enable the creation of intermediate directories on the output file path. The new toggle is enabled by default.
-
USD Import Data TOP can now import variantsets and variants as work item attributes.
-
Files with the
file/usd
tag are now opened using usdview.
Debugging ¶
-
TOP nodes now report a warning if multiple work items list the same path for their expected output files.
-
The various PDG debug log levels can now be configured using the pdg.debugging API. Additionally, environment variables like
HOUDINI_PDG_NODE_DEBUG
can now be updated in a running Houdini session and will apply on the next TOP graph cook. -
New
HOUDINI_PDG_SERVICE_DEBUG
environment variable for debugging service pool usage. -
New
HOUDINI_PDG_TYPE_SKIPLIST
environment variable that can be set to a list of file or directory names that should be skipped, when loading PDG Python modules.
Schedulers ¶
-
Added a new
onConfigureCook
callback to the PDG scheduler API, which is invoked once before a cook begins. -
All scheduler TOPs now have a Limit Jobs parameter to control the number of concurrent jobs the scheduler can create with the underlying farm system.
-
The maximum number of RPC failures can now be explicitly configured on scheduler TOP nodes for out of process jobs.
-
Added an option to all scheduler nodes that enables automatic deletion of the temp file directory when the cook completes or when the Houdini session exits.
-
Added a parameter to the Local Scheduler TOP that can be used to control the maximum memory usage of task processes.
-
The name of the scheduler assigned to a work item can now be accessed through the
@pdg_schedulername
attribute in expressions. -
Added an option to all scheduler nodes that enables specifying a custom hython executable to run in Houdini jobs.
Processors ¶
-
OpenImageIO TOP creates tasks that process images using the OpenImageIO command line tools.
-
Filter by Attribute TOP filters input work items based on the names or values of their attributes.
-
Split by Count TOP split a stream of work items into two branches using a fixed count.
-
ROP OpenGL Render TOP is an asset that wraps an OpenGL ROP and a pre-configured ROP Fetch TOP that cooks the ROP.
-
Python Virtual Environment TOP creates virtual environments and install Python packages to them.
-
Attribute from File TOP parses attribute values from a file into work items using the given attribute format pattern.
-
Now able to configure the Switch so that changing the active input doesn’t invalidate downstream caches
-
The custom Output File Tag parameter on the ROP Fetch TOP can now be set to space-separate list of file tags, instead of a single string value.
-
The Attribute Create TOP now has a parameter that determines whether or not a work item’s input files are copied to its output file list
-
Work items in the HDA Processor TOP will now have their cache files invalidated if the input .hda file changes between TOP cooks.
-
Added support for writing out performance monitor information from the HDA Processor TOP .
Partitioners ¶
-
Added a toggle to all partitioner nodes that enables skipping failed input work items during the partitioning step.
-
Added an option to the Partition by Bounds TOP that controls how the node should handle the Source geometry, e.g. convert it to polygons, a bounding region, or use it as-is.
-
All partitioner nodes now have the option to sort their contents by frame value, in addition to the existing options to sort by index, input order, or attribute value.
-
All partitioenr nodes now have an option to control how output files from work items are merged into the partition, in the same way that attributes are merged.
APIs ¶
-
Now able to write custom PDG nodes using C++ and the HDK, in addition to Python.
-
New pdg.Service.isPersistent flag to PDG services that indicates whether or not a service should be saved to disk, and exposed it on the Service Create TOP .
-
pdg.TypeRegistry.reloadCustomHandlers method to reload any custom file, cache, transfer or preflight handlers.
-
Added support for registering a preflight handler that PDG invokes before cooking the graph.
-
New pdg.EventType.NodeGenerated and pdg.EventType.NodeCooked event types to track when a node is done generating and cooking.
-
The list of supported event types for an event source can now be queried using the new pdg.EventEmitter.supportedEventTypes property.
-
The pdg.ValuePattern class now supports custom delimiters between pattern components, instead of always using a space character.
-
When cooking out of process using
hython
, the Python Script TOP now has the option to load work item data as a native pdg.WorkItem instead of an out of process stub work item. -
Added a new pdg.WorkItem.addOutputFiles method that can be used to efficiently add multiple output files to a work item in a single method call.