On this page |
Viewport ¶
-
Vulkan support is now production ready.
-
The Vulkan viewport (and MoltenVK) is now on by default on macOS. You can set the
HOUDINI_VULKAN_VIEWER
environment variable to0
to turn it off and fall back to OpenGL (deprecated in 21.0). Vulkan improves performance on macOS.Note
The Vulkan viewport on macOS is missing new ray tracing effects since the ray tracing API isn’t exposed in MoltenVK.
-
Threading for Vulkan geometry updates and drawing are on by default in Linux and Windows. This improves performance for scenes you render that have any of the following:
-
Multiple objects (OBJ) or primitives (LOPs) that update at once
-
Large deforming meshes
-
Tumbling large scenes with many objects or primitives where the GPU is underutilized
Tip
To turn off Vulkan threading, set the
HOUDINI_VULKAN_VIEWER_MULTITHREADING
environment variable to0
before you launch Houdini.Vulkan viewport -
-
New
Dome Light
,Physical Sky
, andThree Point Lighting
work light modes in addition to the existing Headlight mode in the Display Options' Lights tab. These also appear under the display toolbar’s work lights. -
Adds geometry and instanced (USD) lights.
-
Copernicus Python states now run in the Composite and Scene Views, and you can use the Operator Type Properties window to bind 2D and 3D handles to COP nodes.
Note
The Composite View doesn’t support 3D HUD handles for COP nodes.
-
New Use Ray Tracing and Denoise if Needed (applies to Ambient Occlusion) parameters in the Display Options' Lights tab. Use Ray Tracing also appears under the display toolbar’s scene lights.
-
New Maximum Near Clip parameter in the Display Options' Camera tab, which sets a value that the near clip plane never exceeds.
-
The free camera no longer has a far clip plane, and no cameras modify the near or far clip planes.
-
New Tear off Viewport Copy parameter in the Viewport options menu for Vulkan. Use this to open a copy of the viewport in a new floating window. See Tear off viewport copy for more information.
-
Improved work light mode speed.
-
Supports the OpenPBR shader.
-
The texture cache automatically reduces texture size when VRAM is required by other parts of Houdini.
-
The Hide others option in the show objects menu is now split into two options: Hide Other Objects (Local Space) and Hide Other Objects (World Space).
-
Improvements to snapping, such as a consolidated menu. Click the
Enable Snapping button to turn snapping on, and then choose from Grid Snapping
, Primitive Snapping
, Point Snapping
, and Multi-Snapping
.
the
Enable Snapping button to configure the snap options.
Lighting improvements
User interface ¶
-
New
Live Simulation button available below the playbar. Turn this on to run a simulation independently of the playbar.
-
New Forever playback mode available in the
Play Looping button on the playbar. It will not stop or loop at
$RFEND
, but keeps playing. It will stop at$RFSTART
in reverse play. -
Ctrl-clicking the Reset Simulation button on DOP, SOP, and COP nodes will jump to the start frame of the simulation node as well as clearing its cache.
-
New
Recipe Builder subnetwork that lets you preserve recipe content and capture settings in a HIP file.
-
Improved multiparameters:
-
New
Multiparm Label Reference (Multiparm Block)
spare parameter, which dynamically sets labels on multiparm instances based on a parameter reference. -
Adds the ability to drag multiparms for reordering.
Note
On old nodes that don’t use dynamic labels, the labels are generated from the instance’s position in the list instead of from the instance’s values. This means reordering the instances in older nodes doesn’t change the labels, but changes the values.
-
To add or remove multiparameters, you must now
the tabs or handles and choose an action from the dropdown menu.
-
-
Improved the Node Info window for all contexts. This includes the ability to customize the info window.
-
Improved the render stats window.
-
Improved hotkeys:
-
More flexible framework for binding hotkeys to actions and supports binding key sequences to hotkey actions.
-
Volatile hotkey symbols for toggling the display options from the right toolbar.
-
Supports key sequence hotkeys in Qt Widgets.
-
Scripting ¶
For changes to VEX, see what’s new in VEX.
-
New hou.Drawable2D class that allows for drawing shape entities in both Scene and Composite Viewers within a 2D context.
-
New hou.Viewport2D class that represents a viewport for viewing COP images in a 2D Viewer.
-
hou.AgentClip.allLocalTransformValues() and hou.AgentClip.setAllLocalTransformValues() accesses and manipulates the local transforms for all the agent’s animation clip samples as a flat array of floats.
-
hou.ApexNode.tags() and hou.ApexNode.setTags() accesses and sets the tags on an APEX node.
-
hou.ApexNode.canRenameInput() and hou.ApexNode.canRenameOutput() determines whether an input or output port on an APEX node can be renamed.
-
hou.GadgetContext.name() and hou.GadgetContext.label() return the name and label of the active drawable.
-
hou.ViewerHandleContext.handleScaleValue() returns the computed scaling factor for the current handle in the active viewport.
-
In hou.CompositorViewer:
-
The new hou.CompositorViewer.curViewport() returns this viewer’s current viewport.
-
The new hou.CompositorViewer.showHandle() shows or hides a display handle that’s linked to the current tool state.
-
The new hou.CompositorViewer.bindViewerHandle() binds a dynamic viewer handle to the current viewer state.
-
The new hou.CompositorViewer.bindViewerHandleStatic() binds a static viewer handle to the current viewer state.
-
The new hou.CompositorViewer.unbindViewerHandle() removes a viewer handle from the current python state.
-
-
In hou.Geometry:
-
For hou.Geometry.addAttrib(), the default for
create_local_variable
has been changed toFalse
. -
hou.Geometry.packToFolder() has new parameters
is_visible
andpack
. -
The new hou.Geometry.removeFromFolder() removes a folder or file at the given path.
-
-
In hou.Handle:
-
The new hou.Handle.detach() places the handle in a detached mode.
-
The new hou.Handle.attach() reattaches the handle if it’s in detached mode.
-
The new hou.Handle.isDetached() returns
True
orFalse
based on whether the handle is in detached mode.
-
-
hou.ViewerStateTemplate.bindParameter() adds the
button_icon
(the name of an icon to display for hou.parmTemplateType.Button) andhide_label
(whether to hide the label associated with this parameter template) options. -
The .hip file events registered with hou.hipFile.addEventCallback() now provide a
kwargs
argument that may be filled with additional information pertaining to the event. -
The hou.playbarEvent ScrubStarted and ScrubStopped are triggered when scrubbing on the playbar.