Skip to content

Pbrt v4 importer#307

Merged
jeffamstutz merged 5 commits into
NVIDIA:next_releasefrom
tarcila:pbrt-v4-importer
Jun 10, 2026
Merged

Pbrt v4 importer#307
jeffamstutz merged 5 commits into
NVIDIA:next_releasefrom
tarcila:pbrt-v4-importer

Conversation

@tarcila

@tarcila tarcila commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

More PBRT importer fixes to try and align PBRT scenes with ANARI semantics

tarcila added 5 commits June 9, 2026 13:50
getFloat3 returned a spectrum's raw (wavelength, value) floats as an
RGB triple. Route reflectance lookups through the same resolver used
for emission so spectrum-pair, blackbody, and named-spectrum
qualifiers resolve to real colours.
Operands were parsed in the wrong order vs the PBRT v4 spec. Apply
whichever side is non-empty, so inside-out meshes (obj2pbrt output
or ReverseOrientation) that name their medium as the exterior keep
it.
The importer caps dielectric IOR at 2.5 (kMaxDielectricIor) and
KHR_materials_volume models a single transmission, so neither the
high-IOR total-internal-reflection path length nor a multi-bounce
spectral absorption lengthens the in-medium path. The authored
sigma_a then reads too faint; scale attenuationDistance down by an
empirical factor of 5 to compensate.
- Filename-less / load-failed infinite lights bake emission into a
  1x1 radiance pixel so the hdri light carries the spec-required
  radiance array.
- ANARI hdri basis uses right = -normalize(direction) (VisRTX
  HDRI.cpp, OSPRay HDRILight.cpp); pass the negated CTM +X column or
  the map yaws 180 degrees.
type=nanovdb media become transferFunction1D volumes (field cached
per medium, linear opacity ramp, sigma_s/(sigma_a+sigma_s) albedo);
the bounding surface is suppressed. Skipped inside ObjectInstance
templates -- Volume objects can't be shared across instances the way
Surface refs are.
@tarcila tarcila requested a review from jeffamstutz June 9, 2026 18:37

@jeffamstutz jeffamstutz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@jeffamstutz jeffamstutz merged commit ca4db91 into NVIDIA:next_release Jun 10, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants