Skip to content

Version 1.2.1 - Bifrost 2.8

Compare
Choose a tag to compare
@frenchdog frenchdog released this 15 Nov 22:01

[1.2.1] - 2023-11-15

Build

  • BIFROST-9103 - Replace pxr by PXR_NS
  • BIFROST-9093 - Uses cpp2json executable instead of the deprecated amino_cpp2json_foreach one.
  • BIFROST-8182 - Remove -Wno-unused-macros on Windows targets
  • BIFROST-8182 - Clang-tidy support: Add the cmake target "bifrost_usd_clang_tidy" to the build.

Feature

  • BIFROST-8077 - Add support for half and matrix attribute types

  • BIFROST-8574 - Add anchor_path parameter on add_reference_prim and add_payload_prim

    By specifying an "anchor_path", the identifier of the referenced layer will not include such anchor path in the reference list.

  • BIFROST-8424 - Add slider and color picker on ops

  • BIFROST-9008 - Add set_layer_permission node

    To be used for the very specific scenario when you need to reference a layer
    that needs to be modified by an other runtime than Bifrost.

    For example, if a stage generated by Bifrost references a "file based" layer
    storing some USD materials who should be authored in the LookdevX Editor,
    it would not work by default. This is because in order to keep the referenced layer
    "file based", the "read only" mode would need to be enabled in the open_layer node.
    If not in read only mode, the opened layer ("file based" layer) would be automatically
    copied into an anonymous layer by Bifrost USD (to avoid side effects) and so would not
    be editable in LookdevX in a persistent way (as the layer identifier would change at
    every execution of the graph).

    The node graph to open a layer in Bifrost and let it be editable outside should look as following:
    open_layer (with read_only "on") -> set_layer_permission (with read_only "off") -> add_reference_prim

    The open_layer node will call the BifrostUsd::Layer constructor that is "opening or finding" the USD layer
    using the file path as an identifier (and will not create an anonymous layer, because of the read only mode).
    The set_layer_permission will allow the layer to be editable and will not output an anonymous layer.

  • BIFROST-8788 - Use for_each in define_usd_mesh

  • BIFROST-7769 - use getEnv*() functions from public Executor SDK

  • BIFROST-8199 - Use ConfigEnv instead of Object to get config from environment

  • BIFROST-3401 - Use new API for FileUtils::getRelativePath.

Bugfix

  • BIFROST-9067 - Fix connection order when creating an add_to_stage node 'on the fly'

  • BIFROST-8826 - fix random test failures on Windows

    • Layer::exportToFile() now uses SdfLayer::New() instead of CreateNew().
      This prevents a temporary and default file to be created on the disk
      before the final exported file is actually written. On Windows, when
      Pixar USD is writing an initial file and almost immediately attempts
      to replace its content by renaming another file to such initial file,
      an "access denied" error can occasionally occur; eliminating the
      temporary file on the first place by not calling CreateNew() avoids
      this error.
    • Each unit test file now outputs its exported files into its own unique
      folder, avoiding completely the possibility that two concurrent tests
      from different test files would attempt to export to the same file.
      These unique output folders are deleted as a first phase for each test
      file, allowing tests to assume and check that an output file is not
      already on disk before it is being exported.
    • Some tests were previously just lucky to succeed, as they were
      exporting a root layer and sublayer to disk, but the sublayer was
      actually exported into the default output folder, not into the expected
      folder, and since the sublayer file was already saved to disk by
      another test case, the test assumed that everything went fine. Such
      test cases are now fixed or were removed (if not fixable).
    • Tests do not export initial files first, then replacing these by final
      file content, and finally checking the final file for some expected
      content. This was also occasionally causing "access denied" errors, as
      described above.
    • add README.md in test folder