Share

Bifrost 2.2.0.0 and 2.2.0.1 Release Notes

Bifrost 2.2.0.0 is a feature release with new features, performance improvements, and bug fixes. Some of these features will result in broken connections when older graphs are loaded. Bifrost 2.2.0.0 is included with the installer for Maya 2020.4 Update.

Bifrost 2.2.0.1 is a bug-fix release that addresses some issues in Bifrost 2.2.0.0. It is available for Maya versions 2018.x, 2019.x, and 2020.x from the Autodesk Accounts Portal.

Backward Compatibility Warnings

The new features of this release bring with them a few changes that break backward compatibility with previous versions of Bifrost (2.1.0.0 and below).

If you load a scene that contains a graph with a renamed or missing node, or a graph with a node that is missing an overload, warning messages will appear in the Maya Script Editor that help you to troubleshoot the issue: for example, that message may indicate that a node definition cannot be resolved or that a parameter is invalid.

The following FX graphs and nodes must be replaced by their new versions (BIFROST-5185, BIFROST-4902, BIFROST-4814, BIFROST-4776, BIFROST-4643, BIFROST-4635, BIFROST-4604):

  • aero_sharpening_settings, replaced by aero_refinement_settings
  • attract_repulse_influence
  • get_volume_tile_info
  • mask_influence
  • point_scope
  • read_OpenVDB, read_OpenVDB_volume
  • resample_volume

Arnold Compatibility Information

To obtain the latest Arnold for Maya installer, visit the Autodesk Accounts portal.

  • The minimum version of Arnold for Maya (MtoA) that supports rendering the Bifrost graph is 3.2.2.
  • However, the most recent version of MtoA is recommended for the latest features, bug fixes and performance improvements. Full support of the new features of Bifrost 2.2.0.0 and higher requires version 4.1.1 or higher of MtoA.

Release Highlights

Bifrost 2.2.0.0 includes the following new features. Some of these features cause broken connections when older graphs are loaded. Please see Backward Compatibility Warnings for more information.

Escape termination (BIFROST-338, BIFROST-4104, BIFROST-4311, BIFROST-4489, BIFROST-5165)

You can now press the Esc key to stop graph computation instantly. This is useful for aborting a long simulation and lets you resume work almost immediately (although some processes may continue in the background for a short time).

To resume a simulation that has been stopped with Esc, you must move the timeline back one frame before playing back again. This works only if you have not turned off Edit > Resumable after Esc Termination to save memory.

Bifrost graph shape

Graph shapes are a major change to the integration of Bifrost into Maya. Previously there were two nodes — a graph for computation and a bif shape for viewport and offline rendering. Now there is a single node that does both. This is the new default representation of Bifrost in Maya.

Graph shape in Outliner

The older graph nodes and associated bif shapes are still supported. To convert between them and the new graph shapes, choose Edit > Convert Graph in the Bifrost Graph Editor. Note that old graph nodes no longer appear in Maya's Outliner if Display > DAG Objects Only is on.

Easier control of multi-graph execution

You can drag and drop a graph from Maya's Outliner into a second graph in the Bifrost Graph Editor. This creates an input node that lets you use the Object and array<Object> outputs of the first graph in the second one. It is equivalent to manually connecting the output of one graph to the input of another in Maya's Node Editor.

This lets you create a chain of graphs quickly and easily, so that the first graph is not recomputed unless required. For example, you can put a heavy simulation in the first graph, and use the second graph to rapidly experiment with post-sim effects.

Fields

Fields are a new system for creating spatially varying functions without bounds or a resolution. These fields can be vector fields that represent 3D noise or flow, and used to drive simulations or deformations. They can also be scalar fields that represent things like weighting functions, shapes as signed distances, and so on.

Field values rendered as color

Fields can be composed and manipulated in the graph to produce new fields. For example, you can compute gradient of a noise field, or combine fields with math operations. Field values across space can be visualized with the field_scope node.

Fields have also been integrated throughout the collection of nodes. For example:

  • Volumes can be converted to fields, and fields can be sampled to create volumes.
  • Fields can be used to control and modify the updated influence nodes for simulations.
  • Fields can be used to drive weights and other port values for the new Scatter Pack nodes.

Improved influences for simulation (BIFROST-4643, BIFROST-4635, BIFROST-5114, and others)

Influences have been rebuilt using the new fields. As a result, you can easily edit and customize the influence compounds without modifying the simulation solvers.

In addition, the new set_influence_* compounds let you build custom influences from scratch using fields.

The performance of fields has also been improved.

Note that changes to attract_repulse_influence and mask_influence are not backwards-compatible. Graphs and compounds that use these nodes must be updated manually.

Aero improvements

Improved aero simulation and rendering

Important optimizations for Aero performance (BIFROST-4720, BIFROST-4721, BIFROST-5120)

This release includes significant performance improvements for aero simulations, including better memory allocation and consumption as well as improved handling of loops.

Refining and rendering fine details in Aero simulations (BIFROST-4604, BIFROST-4413, BIFROST-4875, BIFROST-4591, BIFROST-4628)

The aero_sharpening_settings compound has been replaced by aero_refinement_settings. It features detail refinement that feeds back into the simulation. This allows dynamic refinement of fog density and temperature while still running the simulation at lower resolution. This change is not backward-compatible.

The aero_uvw_settings compound can now create any number of UVW texture coordinate sets, with control over how often they reset and how offset they are relative to each other. This node can be used to add detail to the output of the simulation in the graph or at render time. All the data required to sample the coordinates as well as their respective weights is transported with the aero object.

In addition, the new tricubic in Arnold improves the rendering of volumes, giving crisp and smooth details for aero simulations.

Physical viscosity (BIFROST-889)

The aero solver now features physical viscosity for effects like cigarette smoke and Kármán vortex streets.

Scatter Pack

The Scatter Pack is a collection of new compounds for instancing and scattering. These include high-level compounds such as:

  • scatter_points, a general purpose node for scattering points onto geometry.
  • create_instances, a node to turn point distributions into instances.

Trees and snow on a mountainside

There are also contained mid-level nodes such as randomizers for point transformations, instance selection, orienting points to a mesh.

These nodes can all be controlled with weights, which can be driven by fields, data, properties and more. This flexibility is the result of a new graph programming concept called interpreted auto ports, which can also be added to your own compounds using some low level nodes for manipulating this data.

Volume improvements

Adaptivity-enabled volume compounds and other enhancements (BIFROST-3650, BIFROST-5073)

The new Optimized mode is available for adaptivity in the convert_to_volume,mesh_to_volume, and points_to_volume compounds. It automatically detects which areas require finer voxels and refines only in those areas while ensuring the fidelity of the overall volume. You can also control resolution manually using bounding boxes or data from properties on the input geometry.

New adaptive merge volumes compound (BIFROST-3610, BIFROST-4689)

The new merge_volumes compound offers classic Boolean operations for level sets, a multitude of combination modes for fog density, and several options to control how property data is merged. This compound also supports multi-resolution volumes as inputs, and can create an adaptive volume even if the input volumes have uniform resolution.

Non-adaptive union of volumes Adaptive union of volumes

New field to volume compound (BIFROST-4771, BIFROST-2588)

The new field_to_volume compound converts the new fields into volumes with options for sampling as fog_density or into a level_set.

Miscellaneous volume tool enhancements (BIFROST-4785, BIFROST-4902, BIFROST-4776, BIFROST-4814)

There are several enhancements to various volume manipulation nodes including simplification for resampling volumes, rebuilding level sets, creating empty volumes, and getting volume tile info. The volume subdivision structure options for the multi-resolution tile tree are also exposed where applicable, including on the read_OpenVDB node.

Note that changes to the following nodes are not backward compatible: get_volume_tile_info, resample_volume, and read_OpenVDB.

Arnold integration improvements

The Arnold integration has seen many incremental improvements, such as only loading Bifrost once per Arnold session. Compound instances initialize faster by invoking procedurals in parallel and no longer compiling redundantly. Motion blur driven by velocity, such as in live simulations or caches of simulations, matches the scene better using improved heuristics. Arnold also supports the graph shape’s new features, such as querying a graph’s transform from inside the graph.

Cached simulations are still recommended for rendering, and you may need to select the Start On Frame motion blur setting when batch rendering live simulations.

The Arnold Alembic procedural is also now integrated with the instancing system and may be used to instantiate animated crowds of time-offset characters. Materials can be applied using Arnold Operators, particularly the MaterialX operator. Arnold Operators may also now be used with Compound instances and Render Archive instances.

Volume rendering: tricubic sampler

When rendering Bifrost volumes in Arnold, there’s a new "tricubic" sampler with better noise and performance characteristics. To use this new sampler, selectTricubic in the AiStandardVolume shader.

This new tricubic mode is 3—4× faster than the old tricubic and is only somewhat slower than trilinear. Voxel artifacts ("jaggies") are improved compared to both the old tricubic and trilinear. However, it uses more memory.

Import curves from Maya

Maya Curves can be dragged and dropped into the Bifrost graph the same way as meshes. They become strands in the graph. They may be resampled as part of the import process, either by length or by number of segments. One strands object is composed of multiple curves, so multiple curves may be dragged in to produce one strands object — you can convert this to an array of strands objects by changing the port type.

A Maya curve imported as a strand and used to generate a field

MPM improvements

Easier set-up mpm_solver_settings (BIFROST-5191, BIFROST-4575)

The mpm_solver_settings node has been slightly reorganized with new properties for quicker setup.

The new use_mesh_resolution sets the solver detail size to match the resolution of the incoming mesh (using the smallest average edge length). This prevents any grid-like artifacts from appearing during cloth simulation when the mesh resolution and solver detail size are very mismatched. This option is on by default.

When this option is on and there are cloth sources in the scene, detail_size is ignored. If there are multiple sources in the scene, the resolution derived from the cloth sources is applied to the entire MPM simulation including any sand, snow, etc., that is present. If there are no cloth sources, this option ignored.

Once the detail size is set from the cloth input mesh resolution, it can be coarsened or refined using the new detail_size_scale property. These two properties have been grouped together for usability.

MPM Cloth self-interactions and multi-solve improvements (BIFROST-5029, BIFROST-4524, BIFROST-4632, BIFROST-3937, BIFROST-4630)

MPM cloth handles self-collisions better with new methods to detect discontinuities and avoid stickiness. This improves the results for situations like a piece of cloth folding on top of itself, garments which have thin slits or any kind of discontinuity, and multiple layers of cloth on top of one another. It also improves interactions between materials like sand and snow with cloth and shells.

The new method provides improved behavior at lower resolutions where previously very fine detail size would have been required. It is controlled by the detect_discontinuity option on the mpm_solver_settings node and is enabled by default. Turn it off for faster performance if you not require the improved collisions.

Terminals (BETA)

Terminals are an alternative to output nodes for creating renderable geometry. They can be used in nested compounds, not just the top level of the graph.

Terminals have several output types: “Final” for the final renderable result, “Proxy” for a fast viewport representation, and “Diagnostic” for diagnostic viewing. By default only "Final" is rendered, but each type can be turned on and off individually. Flags on compounds with nested terminals let you toggle the outputs at any level of the graph.

Terminals are available in the public release, but they are considered to be a beta feature because a key functionality called “selective evaluation” is not yet working. This means that with default settings, Final and Proxy are both evaluated when the graph updates. Diagnostic outputs are working as intended, however.

What's Fixed in Bifrost 2.2.0.1
Aero: Crash with combustion sim and refinement settings BIFROST-5338
Aero: Flickering in combustion system BIFROST-5286
Aero: Reduce memory usage at high res BIFROST-5267
Aero: Simulations use more memory than required - apply fields compound copies velocity channel BIFROST-5260
Aero: Velocity spikes resulting in allocation of a large tile layout BIFROST-5307
Browser Graphs: Incorrect color assignment on particles display shape in Confetti_pop BIFROST-5352
Errors: Compile errors are returned when closing a scene with graph_space and with a watchpoint BIFROST-5353
Evaluation: When the graph nodes are visible in the Maya node editor, saving causes an extra evaluations BIFROST-5239
Interaction: Crash expanding some port groups inside referenced compounds BIFROST-5142
Interaction: Input nodes can very easily be created with the same name, causing unusable UI BIFROST-5309
Maya Plugin: Converting graphs and bif-shape with time results in graphs at the wrong time BIFROST-5328
Scatter Pack: Interpreted Auto Port isn't computing values from field because field_is_empty reports true BIFROST-5354
Scatter Pack: Some interpreted auto ports missing their type wrangling suggested types lists BIFROST-5331
Scatter Pack: scatter_points misinterprets raw data (array<float>) in density_weights as mapping to points and not the scatter geometry BIFROST-5337
Terminals: After converting a Bifrost Graph Shape with simulation and Terminals, bif shapes do not update in viewport BIFROST-5314
Arnold-Bifrost: Crash using legacy points ARNOLD-323
Arnold-Bifrost: Points set to "cubes" do not respect user data or uniform size ARNOLD-314
MtoA-Bifrost: Live particle simulation with motion blur fails in squence renders and batch renders ARNOLD-96
Render Archive Instancing: Crash in simple setup with IPR ARNOLD-286


What's Fixed in Bifrost 2.2.0.0
Aero: A user's aero graph crashes BIFROST-4929
Aero: Bad results with auto adaptivity and combustion BIFROST-4773
Aero: Kill influence doesn't kill all voxels with the geo boundary BIFROST-1733
Aero: Max transport steps regression BIFROST-4841
Aero: Scene unit doesn't work with source_volumes and collider_volumes BIFROST-4227
Aero: crashes with uvw and collider BIFROST-4935
Aero: simulations use much more memory than required BIFROST-5120
Aero: uses more memory than required, scaling voxel channels copies data BIFROST-5259
Aero: uses more memory than required, temporary buffers take up too much memory BIFROST-5258
Aero: uvw_settings node causes undesired combustion behavior BIFROST-4871
BOSS: increasing sea resolution above 1024 crashes Maya BIFROST-4768
Basic Node Library: Default frequency on the fractal_noise and fractal_noise_field nodes should be changed to 0.5 BIFROST-4923
Basic Node Library: Quaternion to axis and angle outputs NANs with an identity quaternion BIFROST-5177
Bifcmd: When output type is array<object>, print the object info as if it were Object, add flag to control object printing BIFROST-4799
Bifcmd: default values not picked-up BIFROST-4899
Browser Graphs: New and updated browser samples for 2.2.0.0 BIFROST-5011
Compiler: Compile time explosion in a customer graph BIFROST-4917
Compiler: Drastic increase in compile time of particle system with sample property BIFROST-4658
Compiler: crash in compound with feedback and auto vectorization BIFROST-4907
Compound Loading: Crash creating get_geo_property_or_default when an old version of the rebel pack is loaded BIFROST-5107
Encapsulation: Crash encapsulating multiple input/output nodes into a compound BIFROST-4747
FCurve: Bad width & height dimensions for launched floating FCurve editor (macOS) BIFROST-4558
FCurve: Improve other less likely cases where the In-Line Fcurve editor can be cut off by the screen boundary BIFROST-4629
FCurve: Pop-up menu on Value node is cut off at top of display BIFROST-4664
FX Fields: Improve influences performance BIFROST-5114
FX Fields: Order of influences in chain is affecting outcome BIFROST-4800
Fan-In: It is possible to set fan-in on an overload and in some cases crash BIFROST-5019
Fan-in: Crash when reconnecting to fan-in port BIFROST-5133
Fan-in: Creating a compound with a node that is a fan-in, then exploding, loses connections BIFROST-5056
Fields: Default flowline samples per second value causes field_scope to be slow BIFROST-5123
Fields: field scope issues BIFROST-5145
File IO: Cannot import a single file Alembic from Bifrost into Maya using 'Import Alembic' BIFROST-4962
File IO: Crash with read bif particles in jemalloc flushCache BIFROST-4531
File IO: Field 3d cache will crash on open if it can't find the cache BIFROST-5264
File IO: Read Alembic crashes when reading multiple frames simultaneously BIFROST-4983
File IO: read_OpenVDB no longer renames voxel properties written by Bifrost BIFROST-5277
Geometry Queries: get_points_in_radius can return different points with max number if equidistant BIFROST-4619
Geometry Queries: get_points_in_radius should early-out when capped by max number BIFROST-4580
Geometry Queries: location_scope doesn't work on instances BIFROST-4660
Geometry: delete_points does not update arrays of GeoLocations BIFROST-4648
Geometry: delete_points does not work on instances BIFROST-4780
Geometry: sample_property C++ API service BIFROST-4955
Graph Shape: Add BifrostGraphShape DAG node combines shape and graph, BifrostBoard becomes DG node BIFROST-3854
Graph Shape: Add ability to select BifrostBoard from within graph BIFROST-5064
Graph Shape: Drag and drop graphs into graphs, to connect them in the Maya DG BIFROST-5148
I/O: Impossible to get all elements of an array from a Bifrost Graph output as the input to another Bifrost Graph BIFROST-4538
I/O: read_openVDB traits rename and port groups for all VDB BIFROST-4814
Influence Fields: typo in influence_set_property BIFROST-4862
Influences: Attraction-Repulsion field produces unexpected results BIFROST-1358
Influences: Attraction_Repulsion affects particles based on emitter's voxelization BIFROST-1498
Influences: Magnitude port for mask_influence BIFROST-4781
Influences: Mask_influence with dropoff of 0 and enabled invert option produces inaccurate results BIFROST-4938
Influences: radial influence has unexpected results using geometries with height BIFROST-1581
Instancing: Add arnold_alembic_instance and procedural_instance nodes BIFROST-5121
Instancing: Support operators, dragged into the graph as materials, and add operator port to render_archive_instance and compound_instance BIFROST-4921
Interaction: Crash entering a field typed compound BIFROST-5269
Interaction: Grouping compounds which uses auto-port with fan-in crashes Maya BIFROST-4895
Interaction: Input and output node locations do not persist after copy-pasting local compounds BIFROST-1675
Interaction: Input and output nodes in wrong location when opening legacy scenes BIFROST-5054
Interaction: Inputs or Outputs created from the menu appear in bad places offscreen or on top of existing inputs BIFROST-3065
Interaction: Layout shifts (panning) after moving a node on board BIFROST-1824
Interaction: Output node location is created in a bad place when encapsulating nodes BIFROST-2194
Interaction: Quick Create port metadata doesn't expose upwards when the port source is a fan-in BIFROST-4606
Interaction: Undo/Redo can flip the order on a subtract node, resulting in 2 - 1 = -1 BIFROST-4761
Interaction: connections broken on node copy-paste with "copy input connections" BIFROST-4686
Liquids: Legacy Fluids example scenes don't work in 2.2.0.0 BIFROST-5241
Liquids: Update Bifrost Liquid Content Browser example: oceanBeach.ma BIFROST-5266
MPM Volume not output BIFROST-5050
MPM: Cloth issues with motion data and motion blur BIFROST-5322
MPM: Improve performance in cloth self collision / stickiness BIFROST-5029
MPM: Special detail size options for cloth/shells BIFROST-4575
MPM: Stickiness solution support for fibers BIFROST-5030
MPM: Supplying mpm_solver_settings or not should give the same result like Aero BIFROST-4815
MPM: Update Solver settings UI with port groups and EXP collisions rename BIFROST-5191
MPM: multi solve sources stick to each other BIFROST-3851
MPM: volume output is missing voxel_fog_density BIFROST-4749
Maya Plug-in: Input Curves into Bifrost as Strands BIFROST-1442
Maya Plug-in: Stop hiding connections BIFROST-5150
Node library: "Get geo property or default" from rebel pack, with type wrangling, icon, value display, docs BIFROST-4971
Node library: sqrt3_subdivide_mesh causes a memory spike and Maya freezes BIFROST-4440
Particles: Basic_particles_graph crashes Maya if an empty object is used as a source BIFROST-5172
Particles: Disabling collider in particle graph doesn't speed up the simulation BIFROST-5157
Particles: property_kill_point has issues BIFROST-4886
Publishing: Stop showing browser graphs in the tab-search BIFROST-5063
Publishing: uriImported field is malformed when publishing old compounds BIFROST-4044
Scatter Pack: Add type wrangling to all interpreted auto ports, as well as the interpret_auto_as_ compounds BIFROST-4959
Scatter Pack: All randomization should respect point_id BIFROST-4608
Scatter Pack: Assign diagnostic material BIFROST-5080
Scatter Pack: Blue noise scattering in volumes BIFROST-4684
Scatter Pack: Blue noise scattering on meshes, strands BIFROST-4513
Scatter Pack: Cull points & instances BIFROST-4403
Scatter Pack: Decode the instances in the graph (points_to_transforms, merge_instanced_geometry, flatten_instance_selection) BIFROST-4654
Scatter Pack: Displace Points BIFROST-4890
Scatter Pack: Interpreted auto nodes BIFROST-4396
Scatter Pack: Move within_bounds to core BIFROST-5084
Scatter Pack: Point transforms manipulation nodes BIFROST-4404
Scatter Pack: Randomize geo property BIFROST-4818
Scatter Pack: Randomize point scale, rotation, translation, selection nodes BIFROST-4405
Scatter Pack: Translate points in local mode should respect scale BIFROST-5256
Scatter Pack: Update cull_points in-App docs to match the outputs on the node BIFROST-5262
Scatter Pack: create_instances BIFROST-5174
Scatter Pack: orient points by geometry BIFROST-5158
Scatter Pack: scatter_points compound BIFROST-5031
Scopes: Replace point_scope with point_scope_4rev BIFROST-5185
Terminals: Implementation of terminal nodes at the board level BIFROST-2372
Type Wrangling: A failure occurred while serializing a value of type.... on file > open. BIFROST-5010
Type Wrangling: Certain value types lost on encapsulation into compounds (for example, set_property with value type Amino:Object) BIFROST-4727
Type Wrangling: Set port type does not include option for the current resolved type on auto ports, minor change to current resolved type in "set value type" BIFROST-4659
Type Wrangling: Wrangled array types lost when exposing ports BIFROST-4385
Volumes: Asymmetric information in the distance field BIFROST-4743
Volumes: DG objects converted to volumes, don't merge properly via merge_volumes BIFROST-4756
Volumes: Enable option in merge_volumes should not break user workflow BIFROST-4757
Volumes: Field to volume port groups and bounding box BIFROST-5074
Volumes: Memory spike and eventual crash when outputting volume_to_mesh will all properties BIFROST-3887
Volumes: Optimal adaptivity for big terrain is 450% slower than non-adaptive BIFROST-5086
Volumes: Update create empty volume BIFROST-4785
Volumes: default value for update_voxel_positions voxel_offset property should be Corner BIFROST-4599
Volumes: field_to_volume as density BIFROST-4771
Volumes: get_volume_tile_info should include data about leaf voxels and be consistent (back comp) BIFROST-4902
Volumes: mesh_to_levelset generates interior surface with traits24 BIFROST-4688
Volumes: volume_to_mesh properties input is not connected internally BIFROST-5166
Arnold-Bifrost: Crash in Arnold IPR when connecting graph output to a bifShape ARNOLD-300
Arnold-Bifrost: Crash in particles scene ARNOLD-220
Arnold-Bifrost: Crash on Windows due to mismatched malloc/AiFree combo ARNOLD-163
Arnold-Bifrost: Gracefully handle serialization failures ARNOLD-165
Arnold-Bifrost: Sampled motion blur is used even when velocity is present and topology changes ARNOLD-308
Arnold-Bifrost: empty volume aborts entire render ARNOLD-172
Arnold-Bifrost: parallelize procedural invocation ARNOLD-218
Instancing: Add operator assignments to procedurals generated by a Bifrost graph ARNOLD-142
Instancing: Arnold_Alembic_instance and procedural_instance ARNOLD-274
MtoA-Bifrost: Arnold Render View keeps resetting IPR with hair shader when the Hypershade is open ARNOLD-164
MtoA-Bifrost: Load Bifrost only once per Maya session ARNOLD-202
MtoA-Bifrost: Stream of 'Warning: inputSurfa' messages appears when manipulating bifs during Arnold IPR session ARNOLD-84
Terminals: Diagnostic outputs should favor graph-assigned materials over scene material assignments ARNOLD-193
When standard surface is the default shader in Maya, shaders in .ass files are dishonored ARNOLD-161


Known Issues and Limitations
BIFROST-3144 Aero: Blue flame tile artifact when exporting and viewing combustion rate

Tile or voxel artifacts may sometimes appear in blue flame (combustion rate).
BIFROST-2823 Aero: Boost detail with points kills combustion

Enabling "boost detail with points" with a combustion simulation kills soot emission.
BIFROST-822 Aero: Sourcing from a volume sometimes creates ghost voxels around emitter

Occasionally, some ghost emissions may occur outside of the aero source geometry.
BIFROST-3150 Aero: combustion soot sometimes pulsates

Occasionally a combustion simulation will produce soot which pulsates too much.
BIFROST-3762 Backdrops: Annotations do not support non-ASCII characters

BIFROST-2109 Compound Publishing: Auto ports with immediates should stay auto ports with immediate values when published

BIFROST-3408 Compound Publishing: Compounds that reference themselves may cause crash or hang

BIFROST-2767 Compound Publishing: Republishing is blocked in cases of signature change and no auto ports

Workaround: Add a new port, re-publish the compound, then delete the new port, and re-publish again. This works because it only blocks in very specific cases of signature changes.
BIFROST-2279 Encapsulation: Creating a compound out of a node that is auto-looped may change graph behavior

BIFROST-3024 Errors: When using write nodes such as the write_OpenVDB node, the node's success port always returns 1 even when writing fails

Workaround: Ensure that your folder and file names are valid when writing.
BIFROST-4838 FCurve: Single point f-curves draw correctly in the UI but sample incorrectly

BIFROST-3626 File IO: Write/dump nodes do not work with non-ASCII characters in file path

BIFROST-5339 Graph Shape: Converting from graph shape to DG loses its material assignment if connected to Terminals

BIFROST-5058 GraphShape: Undo delete or undo convert to DG results in nothing displayed in the viewport

Saving and re-opening the scene restores the drawing.
BIFROST-574 Interaction: Focus issue - when the mouse is over a compound when editing a value in the Parameter Editor, pressing Enter will dive into the compound

BIFROST-2428 Interface: High DPI issues with Bifrost UI

BIFROST-3028 Materials: Input meshes will not have a material assigned if it has per-face shading, first material found is not used

Per-face shading in input meshes is not supported at this time.
BIFROST-3745 Maya 2020: Case-sensitive Mac: crash when creating a graph

Bifrost 2.0.3.0 and higher on Maya 2020 and higher does not support case-sensitive file systems on macOS.

Visit this page for more information
BIFROST-2334 Maya Plug-in: Bifrost plug-in does not unload cleanly and may cause crashes

Unloading and re-loading Bifrost plug-ins within the same session of Maya causes instability and other issues.

BIFROST-3070 Maya Plug-in: BifrostGraph plug-in should load automatically when clicking the Shelf icons

If this error appears when you click the Bifrost Graph Editor or Bifrost Browser buttons on the Shelf:

// Error: line 1: Cannot find procedure "openBifrostGraphEditorFromSelection".

You need to load the bifrostGraph plug-in. Do this by selecting Windows > Settings/Preferences > Plug-in Manager.
BIFROST-4864 Maya Plug-in: If Maya 2019 is launched on macOS from Maya.app/Contents/bin/Maya, Bifrost plug-in doesn't load

Workaround: If launching Maya on macOS using a terminal, use Maya.app/Contents/MacOS/Maya.
BIFROST-2997 Maya Plug-in: On graph inputs, changing port types loses inputs and exposing ports do not maintain values

BIFROST-2330 Maya Plug-in: Scene loading doesn't trigger the vnn plug-in to load in mayapy

Bifrost will still work in mayapy, but the VNN plug-in will not load automatically and therefore the VNN Python commands will not work.

Workaround: To use VNN commands in mayapy, load the plug-in using the loadPlugin command first.
BIFROST-4447 Maya Plugin: UV changes do not always update the graph

BIFROST-3152 Merge geometry uses first object to set merging behavior but should instead use the schema of the first non-empty object

As a result, if your first object is empty, merge geometry would not work.

Workaround: Ensure that your first object is not empty and is of the right type.
BIFROST-3551 Module paths starting with "///" are parsed incorrectly as "//" by Maya and Bifrost

BIFROST-1655 Node library: Conversion nodes do not behave correctly if the input is the same type as the output

BIFROST-3023 Node library: Frame tokens in folder name (e.g. #) are not replaced for write file nodes such as write_OpenVDB

This works correctly with tokens in file names, just not folder names.
BIFROST-3154 Particles: Incorrect emission position from volume if no velocity property

Emitting particles from a volume without velocity data produces bad results.
BIFROST-3199 Particles: vary point_orientation rotations result in shearing objects

BIFROST-3372 Particles: vary_source_property doesn't sample color when Use Color Set is enabled

BIFROST-3272 Publishing: "not a valid Amino JSON file" error appears if library config json file is in the search path

BIFROST-3680 Publishing: Bifrost won't parse BIFROST_LIB_CONFIG_FILES if its resolved path contains a # character

BIFROST-2532 Publishing: Cannot type in namespace field if there is an error, loses focus with each keystroke

Workaround: Temporarily change the name of the compound in the publishing editor to remove the error, edit the namespace, then change the name back.
BIFROST-4911 Publishing: Re-publishing with renamed output port results in unfixable graph

When re-publishing, if output ports are renamed and those ports are connected inside the graph in question, it can cause a corrupted connection to that graph. Reloading the scene will allow you to fix it.
BIFROST-2729 Simulation: Slow simulation bounds performance

Simulation bounds still lacks certain performance improvements.
BIFROST-5281 Terminals: Crash connecting terminal to another terminal

BIFROST-5200 Terminals: Errors whenever the graph shape is selected

When selecting a graph shape in Maya 2020.0, you may see an error message such as "Error: <function selCom at 0x7f29c5c04aa0>". This is fixed in Maya 2020.1 or higher.
BIFROST-3278 Viewport 2.0: bifShape displays with texture even in non-textured shaded mode

BIFROST-5052 Viewport Drawing: Aero fails to render with "Alpha Cut" Viewport 2.0 Transparency Algorithm

BIFROST-4668 Viewport: AMD Vega GPUs: Viewport 2.0 in DX11 mode aero renders pink

BIFROST-3511 Viewport: Aero bounding box doesn't allow object selection in viewport

BIFROST-3059 Viewport: Connecting a float3 value for set_geo_property color on already-connected graph doesn't update the viewport

BIFROST-2604 Viewport: Face-vertex, face, strand, component and constant user data don't work in the viewport

BIFROST-2429 Viewport: Float4 colors cause Z-fighting in viewport on meshes and strands

Workaround: Select an alternative Transparency Algorithm (Depth Peeling or Alpha Cut).
BIFROST-5149 Viewport: Instance viewport drawing does not respect disabled instances when there is one geometry with a preview geometry, and has strange update issues

BIFROST-2638 Viewport: Instanced meshes without normals display as black meshes

Instanced meshes without normals render without shading (all black) in the viewport.

Workaround: Ensure normals are present on your meshes, or regenerate them with update_mesh_normals.

BIFROST-3391 Viewport: Instances explode when you transform them in Maya

BIFROST-3383 Viewport: Maya Bounding box override on bif shapes only works on volumes and not other geometries

BIFROST-1982 Viewport: Multiple volumes in the viewport don't always render with correct transparency order

BIFROST-2353 Viewport: Volumes fail to render in Viewport 2.0's OpenGL Legacy mode (only a white cube appears)

BIFROST-2573 Viewport: Volumes may not draw correctly when post-effects are enabled in the viewport

In addition, volumes and other bifShapes don't draw correctly if Use Default Material is enabled for Viewport 2.0.
BIFROST-4139 Viewport: point_scope numeric display doesn't work at all

Numeric display does not work when the shape is selected, only draws values of float3 and float, and always draws them in the format of float3.
BIFROST-3054 Viewport: set_geo_property_reference does not work for all shader properties

BIFROST-1593 Watchpoints: Not removable after port type change

BIFROST-5033 Watchpoints: data inside for-each is not deterministic

ARNOLD-45 Arnold-Bifrost: ~15 second delay to start first Arnold session (due to Bifrost loading in Arnold)

ARNOLD-87 Bifrost Geometry: Oriented strands don't render in Arnold

Strands with "camera facing" disabled, with twisting normals and rotating about their tangent appear correctly in viewport but render in Arnold as camera facing.

Strands set to "oriented" with "set_Arnold_strands_settings" do not render.
ARNOLD-67 Bifrost Geometry: Strands rendering too picky, must set set_strand_shape to render, and strands with fewer than four segments do not render

ARNOLD-123 Bifrost Volumes: levelset causes errors in Arnold

Was this information helpful?