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

  1. 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

What’s new in Houdini 20