
Houdini sends several custom settings through to the render delegate. For light UI, you may have to put debug statements in the loputils.py code. If you're having difficulty having your scripts show up, you can set HOUDINI_SCRIPT_DEBUG to 2 or greater to have Houdini generate output in the console.
#HOUDINI MPLAY HIGHER RESOLUTION CODE#
These files are loaded by the creation script for each of these LOPs, and invokes the addRendererParmFolders in the loputils.py Python code (found in $HH/scripts/python* ) If this file exists, custom UI should automatically show up when new LOP noes of these types are created in a /stage network. And the Render Geometry Settings LOP (for adding renderer-specific primvars to geometry primitives) uses the geometry file. Light LOPs (including Dome Light and other nodes for specific light subclasses) use the light file. Render Product LOPs use the renderproduct file. Render Settings LOPs use the rendersettings file. The other files are parsed to add custom UI to the standard LOP nodes for creating specific USD primitive types. This is required if parameter names are fully qualified or have non-standard naming. Please note that parameter names are encoded using the () method of the hou Python module.
#HOUDINI MPLAY HIGHER RESOLUTION FULL#
The name of the icon can be an existing icon found in $HH/config/Icons (including icons in the SVGIcon.cache), or it can be a full path to an icon file.

The value for the tag is a string specifying an icon for the toolbar UI. The "toolbar" option will cause the UI to appear on the side-bar beside the viewport (with the drawing modes). The "viewport" token will cause the UI to appear in the "Display Options" for the viewport. The uiscope tag's value is a string which, at the current time, can be a combination of "viewport" and "toolbar" tokens (that is, both tokens can exist in the string value if desired). There are two special keywords the can be used to control where the UI widget appears. ds file for Embree is fairly well documented. The viewport file is parsed to create custom UI decorations around the Solaris viewport. The path for the files is determined by using the delegate name in the following fashion:Ĭamera = sprintf( "%s_Camera.ds", renderer_name) You should be able to see the example file HdEmbreeRendererPlugin_Viewport.ds in that location. These files are found in the HOUDINI_PATH under the soho/parameters sub-directory. Houdini looks for several custom dialog script files (. When rendering with husk, the initial render settings are sent en mass instead of one at a time. One common oversight when writing a delegate is to implement the plugin create method that doesn't take the HdRenderSettingsMap. Delegates should be careful to only perform updates if values have actually changed. So the delegate may receive a larger number of parameter updates than is strictly necessary. Unlike the rest of Hydra, these events are not passed using Sync() methods with dirty bits. Houdini also makes use of the HdRenderDelegate::SetRenderSetting() method to pass updates to the delegate. This can be used by the delegate to initialize state based on Houdini's current state. When the delegate is created, the plugin is called with the HdRenderSettingsMap initialized with default settings when calling HdxRendererPlugin::CreateRenderDelegate().

Houdini communicates to the delegate using two methods.

Once you get your render delegate to successfully appear in the Solaris viewport, you may want to read this section.

The Solaris viewport in Houdini uses Hydra to communicate with render delegates and allows some additional customization. USD provides the Hydra Framework (Hd) that enables communication between multiple scene graphs and multiple renderers.
