The vdb_tool
program is used to create, modify and explore
OpenVDB files containing voxelized (volumetric)
geometry.
$ vdb_tool -h Usage: vdb_tool [options] <command> ... DIRSIG OpenVDB manipulation and analysis tool Options: -h/--help Display this help and exit. -v/--version Display build and version info and exit. --log_level string Sets the minimum logging level. Values are: debug, info, warning, error, critical, off Commands: xyz summary regular_grid edit blackadar For subcommand help: vdb_tool <command> -h
The Blackadar Tool
The blackadar
tool is a port of the old, stand-alone blackadar
program, which leverages an implementation of the
Blackadar Plume model to generate a VDB
for a bouyant stack plume. It accepts an XML filename which lists
the available parameters under
the <blackadarplume>
tag (which may appear anywhere in the file).
The PlumeOpenVDB1
demo contains a working example.
blackadar
tool.$ vdb_tool blackadar -h Usage: vdb_tool ... blackadar [options] filename Positional Arguments: filename (required!) The input filename (.xml) Options: -h/--help Display this help and exit. -s/--seed uint The random seed. -o/--output string The output filename.
The Edit Tool
The edit
tool is a port of the editting functionality of the
original vdb_tool
. It does some customized positional argument
parsing now so that multiple operations can be strung together in
the order they appear (in the FFmpeg-style that the original
vdb_tool
supported).
edit
tool.$ vdb_tool edit -h Usage: vdb_tool ... edit [options] filenames+ Positional Arguments: filenames The input filename(s) (.vdb) Options: -h/--help Display this help and exit. -o/--output string The output filename. -i/--in-place Edit in-place. --clip string string string Remove voxels outside the given intervals. Interval format is 'A:B'. Example: --clip '1:2' '-3:' ':5.3' --threshold float Remove voxels below the given threshold. --translate float float float Translate everything by the given delta. --swap string Swap two axes, identified by letters. Example: --swap YZ.
There are four operators at the moment: threshold
, translate
,
clip
and swap
. Refer to the usage above to see the syntax. Note
that translate
and clip
accept arguments wrapped in square
brackets to prevent Qt from interpreting negative numbers as options,
e.g., translate -1,2,3
would error out because the command-line
parser will interpret the -1
as option be we have a chance to
process it.
The RegularGrid Tool
The regular_grid
tool can convert an ASCII/Text
RegularGrid voxel description into a
VDB file. The output filename and ambient temperature are specified
as options. If left unspecified, the ambient temperature is 288.15
Kelvin.
regular_grid
tool.$ vdb_tool regular_grid -h Usage: vdb_tool ... regular_grid [options] filename Positional Arguments: filename (required!) The input filename Options: -h/--help Display this help and exit. -o/--output string The output filename. -a/--ambient float The ambient temperature in Kelvin.
The Summary Tool
The summary
tool is an interface to the OpenVDB human-readable-log-dumper
that displays some useful information about the VDB file.
summary
tool.$ vdb_tool summary -h Usage: vdb_tool ... summary [options] filenames+ Positional Arguments: filenames The input filename(s) (.vdb) Options: -h/--help Display this help and exit. -o/--output string The output filename (default stdout). -v/--verbosity int The verbosity level (default 1).
The XYZ Tool
The xyz
tool is a new feature for constructing arbitrary VDBs from plain
text XYZ "point cloud" style data.
xyz
tool.$ vdb_tool xyz -h Usage: vdb_tool ... xyz [options] filenames+ Positional Arguments: filenames The input filename(s) (.txt), each corresponding to a grid in the output VDB: - Line 1 is the name of the grid - Line 2 is the background value - Line N is 'X Y Z Value' Options: -h/--help Display this help and exit. -o/--output string The output filename.
The idea is that for each grid you want in the output VDB, you have
a plaintext file where the first line is the name of the grid, the
second line is the background value, and all subsequent lines are
formatted like X Y Z Value. To collect them all into the same VDB,
you just pass all of the input filenames to vdb_tool xyz with -o
output.vdb (if not specified, output filename will default to the
name of the first file + .vdb
).