Bifrost 2.7.1.0 and 2.7.1.1 Release Notes
Bifrost 2.7.1.0 is a feature release with new capabilities, performance improvements, and bug fixes, and Bifrost 2.7.1.1 is a patch release with a digital signing update. They are available for Maya 2022, 2023, and 2024 from the Autodesk Accounts Portal. See Bifrost for Maya Compatibility for more information.
For installation help, see Download and install Bifrost for Maya.

Release Highlights
Value display expressions
You can add node value display to any node by renaming it with an expression that includes the name of an input port inside curly braces, for example, my function at {input}
.

For editable compounds, you can also set a value display expression when the Customize UI editor is open by clicking on the compound's header on the Parameters tab. Display expressions are included with compounds that you publish.
In addition, value display now shows labels for combo boxes instead of the underlying values.
Detachable Watch Points
You can now detach a watchpoint from its connection wire by dragging its eye icon or the table header anywhere in the graph view. The table is joined to the wire to show which data is dispayed.

To return the watchpoint to the wire, double-click the eye icon or right-click the icon and choose Return to Wire. You can also remove the watchpoint itself by Alt+Shift+dragging across the dotted line.
Sticky notes
The formatting bar that appears when a sticky note has been selected now has a gripper on the left. The gripper lets you use the mouse to move the sticky note without clicking outside the note to finish editing text.
In addition, the sticky note colors have been made darker and more saturated based on user feedback.
Other user interface improvements
Clicking on a sticky note, watchpoint, or node automatically brings it to the front of others in the graph view.
UI performance is faster, especially for sliders on Macs and zooming with backdrops.
You can right-click on a Bifrost graph in Maya's Outliner and choose Open in Bifrost to open the graph in the Bifrost Graph Editor.
All nodes where you can specify a component now have dropdowns that let you quickly select a common component such as point_component
. You can still type in a component name.
There is now a pause when dragging a wire to a port group before it opens.
Shift-clicking on a port group in the parameter editor now opens or closes all port groups.
All color inputs now use color pickers.
Many input ports now have soft minimum and maximum values for sliders.
- Fractions, weights, sizes, starts, iterations, and many others have minimums of 0 and no maximum.
- Interpreted auto ports used as weights become sliders with a minimum of 0 once you set the port's value type to
float
.
- Ports with units of radians range from –pi to pi.
- Ports with units of degrees range from –180 to 180.
Scene info
The new scene_info
node returns the location of the current file and project. This is useful for relative paths in USD as well as many other things.
If the scene is referenced, the scene paths are taken from the scene being referenced. For example if the scene alice.ma contains a Bifrost graph, the scene paths refer to alice.ma even when alice.ma is referenced into another scene. This means that if the graph in alice.ma references a "sidecar" file like a cache or USD layer, that reference still works when alice.ma is included as a reference in another file like shot003.ma in another directory.
Component tags on Maya scene geometry are now included when you import the geometry into the graph. You can control which tags to transfer in the parameters of the input
node.
Tags are also included when you convert an output mesh to a Maya mesh. You can control which tags to transfer in the parameters of the bifrostGeoToMaya
node in Maya's Node Editor.
Internally, tags are represented as arrays of Booleans, where true
means that the corresponding point, face, or other component is a member of the tag. You can use the get_component_tag
and set_component_tag
compounds to work directly with tags in the graph.

The interpret_auto_port_as_component_tag
node can convert between different representations of tags. It can accept a tag name (string), array of indices, or an array of Booleans and return both the corresponding array of Booleans and array of indices. This is useful for including in your own compounds for processing components that can be specified in different ways.
Mesh scope
The mesh_scope
node can visualize data regarding points, faces, face edges, adjacency, face vertices, and more. It is very useful for diagosing issues with meshes.
Smooth strands
The smooth_strands
node averages the values of each point's value with those of its neighbors along the same strand. By default it smoothes the point positions, but it can be used to smooth any list of geo properties whether or not that includes the point positions.
Voxel smoothing
The smooth_voxel_property
node has new parameters that are especially useful for smoothing a level set that has been created from points or particles.
- You can set the filter
mode
used for smoothing: Gaussian
, Mean
, or Median
.
- You can set the number of
iterations
for performing the smoothing operation.

Other modeling improvements
- The
duplicate_points
node always transfers required properties.
- The
transfer_properties_by_2d_indices
node is significantly faster.
- The
merge_geometry
node is now entirely implemented in the graph, and can transfer properties of any type.
Volume rendering
Viewport rendering of volumes is faster, more accurate, and more stable. In addition, the translation of the volume is skipped if the volume is not changing, such as when editing a paused simulation graph where an identical volume is generated.
Arnold rendering of Bifrost volumes is also significantly faster.
USD improvements
There are two new nodes for working with USD in the graph:
get_all_attribute_names
get_authored_attribute_names
Other new nodes
filter_meshes
filter_points
get_points_structure
copy_properties
erase_geo_properties
update_strands_point_neighbors
extrude_faces
force_pull_port
Other changes
- The output of the
mesh_to_volume
node is now deterministic. Internally, the min_hole_radius
that is used for filling gaps when voxelizing in Solid
mode is clamped to be at least the voxel size (determined by detail_size
and resolution_mode
).
- The
write_OpenVDB
node now correctly exports velocity data when using post_refine_aero
. This allows Arnold and other renderers to render VDBs from Bifrost with correct motion blur.
- On macOS, the preference for one-button mice is now respected. This allows navigating the graph editor using the Command or Command+Option modifier keys, making Bifrost much more usable on MacBooks without mice.
Bifrost 2.7.1.0 works with the following:
See Maya USD, Bifrost, and Arnold compatibility for more information.
Bifrost content created from the procedural graph can also be rendered with Arnold for Maya (MtoA) version 4.0.0 or later. The most recent version of MtoA is recommended for the latest features, bug fixes and performance improvements. See Bifrost for Maya Compatibility for information about compatible versions of Maya and Arnold.
To obtain the latest Arnold for Maya installer, visit the Autodesk Accounts portal.
The first version of Bifrost that introduced Bifrost USD is 2.4.0.0. All versions of MayaUSD (available on github https://github.com/Autodesk/maya-usd/releases) that use the same USD version as Bifrost are compatible with Bifrost USD.
Older versions of MayaUSD can be installed alongside Bifrost, but Bifrost USD functionality will not be available.
Backward Compatibility Warnings
Bifrost 2.7.1.0 contains no changes that break backward-compatibility compared to the previous version.
Changes in Detail
What's Fixed in Bifrost 2.7.1.0 |
Aero: Burning barrel example lost emission BIFROST-8207 |
Aero: Simulation bounds are infinitely large in the first few frames of simulation BIFROST-8339 |
Aero: Simulations crash on Linux BIFROST-8362 |
Arnold-Bifrost: Bifrost is not loaded correctly in Kick.exe, missing the scatter pack and USD BIFROST-8539 |
Arnold-Bifrost: GPU rendering blocked by a hidden Bifrost shape that outputs a volume BIFROST-7567 |
Arnold-Bifrost: Should not use velocities when motion blur is off BIFROST-8436 |
Arnold-Bifrost: Speed up Bifrost volume rendering using NanoVTT BIFROST-8444 |
Backdrops: Follow conventions for names and titles BIFROST-7594 |
Backdrops: Only one backdrop changes color with multi-selected backdrops BIFROST-7887 |
Backdrops: Slow zooming performance with a few backdrops in the graph BIFROST-8278 |
Backdrops: Sticky notes text not displaying correctly while typing BIFROST-8313 |
Backdrops: Text rendering cursor unpremultiplied BIFROST-8314 |
Bifcmd: Include frame numbers with bifcmd output BIFROST-4974 |
Bifcmd: Should error if invalid set-port arguments are used, but not if port is merely unused BIFROST-5545 |
Bifcmd: bifcmd should print output information per frame (for Terminals) BIFROST-5299 |
Bifcmd: fixed crashes and issues for handling user input data BIFROST-8086 |
Compiler: AnyArray resize_array's default value shouldn't assume to be a jitted Any BIFROST-8443 |
Compiler: Expose Amino::Any's TypeId as an opaque but comparable and hashable type BIFROST-8414 |
Compiler: Remove most Array logic/capture from Amino Any BIFROST-8446 |
Compiler: get_any_array_values should capture indices by reference BIFROST-8514 |
Compiler: matrix operations on ARM64 are not using NEON SIMD extensions BIFROST-8212 |
Esc Termination: Basic Aero Graph hangs when pressing Esc with resumable on ARM64 BIFROST-8003 |
Fan-in: Connections are lost if fan-in is disabled on a referenced node BIFROST-7896 |
File IO: Coarse velocities fail to get written to OpenVDB with post-refined Aero BIFROST-8342 |
FileIO: Read_PDC node is broken BIFROST-8210 |
Geometry: A compound in the User::Compounds namespace is included BIFROST-8577 |
Geometry: Add dropdown combobox with some defaults for component inputs BIFROST-7932 |
Geometry: Duplicate_points skips canonical properties if no properties specified to transfer BIFROST-8275 |
Geometry: Extrude_faces fails to extrude when there are open edges BIFROST-8238 |
Geometry: Implement 2d Index based geometry operations BIFROST-6993 |
Geometry: Implement extrude_faces and helpers BIFROST-7501 |
Geometry: Implement mesh_scope node BIFROST-8429 |
Geometry: Implement sampling-based geometry operations BIFROST-6994 |
Geometry: Improve performance of transfer_properties_by_2d_indices BIFROST-8507 |
Geometry: Smooth strands compound with property transfer BIFROST-7000 |
Geometry: Terminals are on by default on extrude_faces but they are supposed to be off BIFROST-8481 |
Geometry: interpret_auto_port_as_component_tag BIFROST-8292 |
Geometry: merge_points is broken if tags are not specified. BIFROST-8272 |
In-app doc: Interpreted_auto_port_as_ missing in-App documentation BIFROST-8453 |
Interaction: Add delay when auto-expanding group ports on dragging wires (LOOKDEVX-1148) BIFROST-8568 |
Interaction: After renaming a node, undo queue is broken by user navigation in the graph BIFROST-8333 |
Interaction: Click on node name to rename should work when type display is on BIFROST-8318 |
Interaction: Crash on Mac when adding backdrop to Input/output node and clicking "L" to layout (LOOKDEVX-1315) BIFROST-8624 |
Interaction: Enable auto-expand at mouse hovering if "Ctrl" key is pressed (LOOKDEVX-971) BIFROST-8437 |
Interaction: Expand/collapse all groups together in parameter editor using shift key (LOOKDEVX-1118) BIFROST-8569 |
Interaction: Hotkeys and undo during context menu cause a crash BIFROST-8378 |
Interaction: Make node names editable from parameter editor (LOOKDEVX-914) BIFROST-8252 |
Interaction: Node value display does not refresh properly after undoing port rename in Edit UI mode BIFROST-8253 |
Interaction: Node value display should respect combo boxes BIFROST-7644 |
Interaction: Renaming port breaks value display BIFROST-7312 |
Interaction: Right clicking input ports crashes when input by path is invalid BIFROST-8289 |
Interaction: Setting a port to a specific type doesn't work when interior ports get out of sync with exterior ones BIFROST-8009 |
Interaction: Support 1 and 2 button mouse modes on Mac BIFROST-7984 |
Interaction: When undoing the explosion of a compound some compounds will be moved off screen BIFROST-8522 |
Interaction: With print pack nodes, interaction becomes extremely slow BIFROST-8265 |
Interface: Cannot read custom value type dropdowns because menu is too narrow BIFROST-8028 |
Interface: Enum items are in wrong order BIFROST-7992 |
MPM: Cloth compatible with ground_plane_influence BIFROST-8116 |
MPM: Diagnostic draw fraction at value 1 is broken BIFROST-8262 |
MPM: Diagnostics arrowhead sizes reset to default automatically BIFROST-8261 |
MPM: Diagnostics fails to display volumes in cloth and fiber BIFROST-8266 |
MPM: Fluid freezes mid-simulation while source emits more particles BIFROST-7860 |
MPM: Grains and cloth interact when detect_discontinuity is enabled BIFROST-8415 |
MPM: Make diagnostic volumes render more smoothly BIFROST-8258 |
MPM: Volume conversion for viewing with NanoVTT BIFROST-8527 |
Maya Plug-in: Access Bifrost Graph from the Maya Outliner Context Menu BIFROST-8082 |
Maya Plug-in: Optionally translate component tag data and colorsets BIFROST-7978 |
Maya Plug-in: Signed and Unsigned Char Maya to Bifrost graph mismatch BIFROST-7962 |
Maya Plug-in: bifrostBoard nodes don't show up in channel box BIFROST-7740 |
NanoVTT: Artifact viewing levelset on Linux BIFROST-8263 |
NanoVTT: Cache hash of volume properties and avoid re-conversion to NanoVTT BIFROST-8358 |
NanoVTT: Crash diffusing volume density BIFROST-8215 |
NanoVTT: Disappearing volume (both fog and level set) BIFROST-8200 |
NanoVTT: Level sets with standard surface are very dark BIFROST-8166 |
NanoVTT: Levelset of box has artifacts in non-interactive mode BIFROST-8167 |
NanoVTT: Volume enters a bad state on Linux Rocky 8 (Open GL) at times BIFROST-8160 |
Node library: Scene info node to get current scene and project location on disk BIFROST-8250 |
Node library: Switch all remaining browser graphs to not use the "color" property BIFROST-8225 |
Rebel Pack: force_pull_port BIFROST-7898 |
Rebel Pack: update_strands_basis has incorrect interpreted auto usage when using "update by walking" BIFROST-8545 |
Sliders: Slider and color picker assignments on nodes BIFROST-6771 |
Sliders: Slider and color picker assignments on operators (core, geometry, scatter pack, usd) BIFROST-8424 |
Sliders: Sliding a float3 value node does not update child plugs BIFROST-7592 |
Sliders: Slow value node slider performance on Mac BIFROST-8288 |
Sliders: Very slow editing values from inside a compound BIFROST-7585 |
Sticky Notes: Make Sticky Notes Slightly Darker BIFROST-8140 |
Sticky Notes: Notes are always under nodes/compounds, and should be at same level BIFROST-7669 |
Sticky Notes: Sticky note default color is grey BIFROST-8330 |
Sticky Notes: Sticky note text is blurry/pixelated on zoom BIFROST-8312 |
Sticky Notes: Toolbar Gripper BIFROST-7935 |
Type Inference: Undoing set port type on an inferred port loses auto-ness BIFROST-8377 |
UI Editing: Allow users to rename and setup node-value display in UI Customize BIFROST-8218 |
UI Editing: Allow users to set up node-value display by renaming BIFROST-7335 |
UI Editing: Don't show un-settable ports outside of edit mode BIFROST-7925 |
UI Editing: Empty port groupings remain on parameter editor if edit mode was closed via X button BIFROST-7203 |
USD: Inconsistent UI in define_usd_prim and define_usd_mesh BIFROST-8426 |
USD: Switch "Read USD data" compounds to not use the "color" property BIFROST-8452 |
USD: get_all_attribute_names to get names of all prim attributes BIFROST-8100 |
USD: get_authored_attribute_names node to query name of authored attributes BIFROST-8319 |
USD: sublayers are not saved when using relative paths BIFROST-8273 |
Unknown nodes: A port in a red error state is see through BIFROST-6120 |
Volume: Convert_to_volume is slow on self-intersection mesh BIFROST-7350 |
Volume: Crash when disconnecting from output BIFROST-8332 |
Volume: Crash with feedback volume smooth with added property BIFROST-8216 |
Volume: Non-deterministic mesh_to_volume with artifacts BIFROST-8214 |
Volume: additional smooth_voxel_property filter methods BIFROST-8512 |
Watchpoints: Detachable, resizable watchpoints BIFROST-4707 |
Watchpoints: Interference with port grouping expand and collapse functionality BIFROST-8364 |
|