Skip to content

Viewer 3.17.0 - Raspberry

Choose a tag to compare

@MajorMeerkatThe3rd MajorMeerkatThe3rd released this 08 Jul 14:50
583d458

This release focused on two targeted improvements to existing features, alongside a series of stability fixes. The Outline post-processing effect received two new options to address visual artifacts: per-object outlining to prevent depth sorting issues when multiple objects are selected, and a configurable depth bias to eliminate z-fighting halos on co-planar geometry. Additionally, interaction managers now support an occlusion check against non-interactive scene geometry, making it possible to prevent selections from "reaching through" solid objects in front of a target.

The remainder of the release was dedicated to crash fixes addressing a range of edge cases in geometry loading, material handling, rendering, and environment maps.

Post-Processing

  • Added separateObjects to the OutlineEffect properties. When enabled, each selected node is outlined individually rather than as a unified group. This prevents depth artifacts when selected objects are at different depths (e.g. one in front of another). Note that this has a per-node performance cost.
  • Added depthBias to the OutlineEffect properties. A view-space depth offset applied during the depth comparison when xRay is false. Reduces z-fighting artifacts where co-planar or nearly co-planar geometry causes the outline halo to incorrectly bleed through adjacent surfaces. A value of 0 disables the bias.

Interaction

  • Added occludeBySceneGeometry to IInteractionManager and interaction parameter settings. When enabled, intersections are filtered against all scene geometry, so that objects occluded by non-interactive solid geometry in front of the target cannot be interacted with.

Bugfixes

  • Fixed a crash in contact shadow rendering when a null color value was encountered (SS-9665).
  • Fixed an "Invalid token" error in the HTTP client (SS-9666).
  • Fixed a crash in environment map loading when loader data was undefined (SS-9664).
  • Fixed a crash in scene anchor tracing caused by degenerate (zero-area) triangles — a Three.js issue where getInterpolation returns null for such triangles (SS-9599).
  • Fixed two crashes in the geometry engine when geometry data was unexpectedly undefined (SS-9596, SS-9597).
  • Fixed a RangeError: Invalid typed array length when loading glTF files with certain malformed accessor data (SS-9595).
  • Fixed a crash in the material engine and material database engine when the material type was null (SS-9592).
  • Fixed a crash in the glTF converter when a buffers byteLength` was null (SS-9589).
  • Fixed geometry restriction calculation issues (SS-9563).