Rendering HDR Sequences¶
This tutorial shows how to render high-dynamic-range sequences suitable for downstream sensor emulation. HDR images store linear intensity values, unlike display-referred formats like PNG/JPEG.
HDR File Formats¶
HDR outputs can be saved as either .exr (OpenEXR) or .hdr (Radiance HDR):
Format |
Extension |
Color Depth |
Color Mode |
Compression |
|---|---|---|---|---|
OpenEXR |
|
16 or 32 bit float |
|
|
Radiance HDR |
|
32 bit float (always) |
|
lossy RLE |
The default DWAA codec for OpenEXR provides a good balance of compression and quality. For lossless archival use ZIP or PIZ.
Using the Python API¶
The include_frames method defaults to PNG with 8-bit color depth. Configure it for HDR output as follows:
# OpenEXR with lossy default codec (DWAA) at 32-bit float
client.include_frames(file_format="OPEN_EXR", color_mode="RGB", bit_depth=32)
# OpenEXR with lossless compression
client.include_frames(file_format="OPEN_EXR", color_mode="RGB", bit_depth=32, exr_codec="ZIP")
# Radiance HDR (always 32-bit float, RGB only)
client.include_frames(file_format="HDR", color_mode="RGB")
Composite outputs can also be configured for HDR:
client.include_composites(file_format="OPEN_EXR", color_mode="RGB", bit_depth=16)
client.include_composites(file_format="HDR", color_mode="RGB")
Using the CLI¶
The same configuration is available through the render-animation command:
visionsim render-animation scene.blend ./output \\
--frames.file-format OPEN_EXR \\
--frames.bit-depth 32
visionsim render-animation scene.blend ./output \\
--frames.file-format HDR \\
--frames.color-mode RGB
Tip
Some sensor emulation might require HDR inputs. When running the downstream sensor emulation pipeline, ensure the rendered frames are in .hdr or .exr format.