HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
USD HdHDebug: Debug Hydra Delegate

HdHDebug - The Houdini Debug Render Delegate

When trying to track down issues with USD rendering, it's sometimes useful to see exactly what calls Hydra sends to the delegate. There are tools to help with this (for example, the Hydra Scene Browser). As part of the Houdini (and the Houdini USD Bridge), we ship a debug delegate that logs all the Sync calls that the delegate receives.

This delegate is hidden by default, but can be enabled by setting HUSD_HDEBUG_DELEGATE.

Once enabled, the output of the debug delegate can be controlled by changing the value of the the HUSD_HDEBUG_DELEGATE environment variable. The following options can be combined using a comma separated list.

Options can also be prefixed with no- to disable the option.

For example: HUSD_HDEBUG_DELEGATE=all,no-geo,sleep=10

This would enable all options except geo, then simulate a render by sleeping for ten seconds.

Adding the help token will print out some help to the console the first time the delegate is run.

all

Enables all the logging options

geo

Dump information about every rprim in the scene. This will dump the number of SYnc calls, the number of primvars, sharing ides and other information about the geometry primitives.

image

Tells the delegate to print information about every render pass. This includes the render camer, the viewport, display and data windows, render tags and AOV information.

memory

This tracks and reports the memory allocated by primvars and AOVs.

object

Tracks the allocation/deletion of objects in the HdDebug delegate.

projection

When dumping image information, this will also dump out the projection transform matrix.

sleep

Simulate rendering by sleeping for this number of seconds.

store

For every rprim, the debug delegate iterates over all of the primvar descriptors and loads the primvar data. Unless store is enabled, this primvar data is then released. With store enabled, the primvar data is held until the end of the render.

material

Print out information about material assignments

bprim

Print out creation/deletion of bprim primitives

rprim

Print out creation/deletion of rprim primitives

sprim

Print out creation/deletion of sprim primitives

trace

This will trace every function call made to the debug delegate.