Share

Input and output data from files

As an alternative to inputting and outputting geometries to the host scene, you can input and output files. This is useful, for example, for caching or rendering on a farm. In addition to Bifrost's object format, there are read_* and write_* nodes for several standard formats.

The format to use depends on the type of geometry:

  • Use the Bifrost binary object format (.bob) for any type of geometry in Bifrost. However, it can only be read by the Bifrost graph.
  • Use Alembic (.abc) for mesh geometry.
  • Use OpenVDB (.vdb) for volumes or points.
  • Use Field3d (.f3d) for volumes.
  • Use PDC (.pdc) for points.
Tip:

You can also try the file_cache node. This is an experimental node that can read and write .bob, .abc, or .vdb based on the extension.

Note that:

  • At least one output of the file node must be directly or indirectly connected to the output of the top level of the graph.
  • You can use the output from the time node to connect to the frame input. In some cases, you may need to convert the frame value from float to int using to_int, or convert frame_step to a frame rate using one_over.
  • To include frame numbers in file names, use the token #. Use multiple characters for frame padding, for example, #### for 0001, 0002, etc. You can also use @ instead of #.
  • When specifying properties to include, you can either list them explicitly or enter * for all.
  • Directories must exist already.

Was this information helpful?