Changes Include:
nvisii.import_scene now imports constant colors tied to materials. Before, these constant material properties were accidentally ignored.
nvisii.import_scene no longer throws an exception when a degenerate transform is encountered. Instead, a warning message is printed when the verbose option is passed as an argument.
entity.set_visibility now accepts more specific options, enabling users to prevent objects from casting shadows (eg prevent windows from blocking light into interiors), prevent objects from being scene from the camera, in glass, in reflections, or during volumetric scattering. For more details, go here: https://nvisii.com/entity.html#nvisii.entity.set_visibility
An entity.get_center function was added, which returns the center of an entities bounding box. This is different from entity.get_centroid, which returns the average of all of the vertices of the mesh connected to an entity.
A performance regression has been fixed since the previous version that introduced volumes, since we no longer trace two rays to handle volume intersections vs surface intersections. Instead, volumes and surfaces now share the same acceleration structure, where volumes have a custom intersection program using delta tracking.
Volume rendering is much more robust now. Volumes can overlap other volumes. See the new volume example for more details.
Improvements to load balancing in the presence of multiple GPUs. Users should avoid mixing GPUs of different architectures together, as overhead can degrade performance, and older GPUs can force newer GPUs onto unoptimized code paths.
Bug fix to max bounce depth that was causing performance issues.