1.7.0 Change Notes

Improvements to solar shadows

Several enhancements were made to the display of SolarShadows:

  • The shadow map now continuously refines as new geometry is loaded.
  • The position of the solar light is now synchronized with sun direction. See DisplayStyle3dState.sunDirection.
  • World decorations no longer receive shadows.
  • A display style can now configure whether or not transparent surfaces cast shadows. Any surface whose transparency is greater than the transparency threshold defined by the DisplayStyle3dState will not cast shadows. See HiddenLine.Settings.transparencyThreshold.

shadows transparency

Solar shadows interacting with transparent surfaces

Reusable decoration graphics

All RenderGraphics created as decorations are automatically disposed to ensure any WebGL resources are freed. This has the unfortunate side effect of preventing such graphics from being reused from one frame to another. If your decorations are expensive to create and/or change infrequently, you can now prevent automatic disposal by wrapping them in a RenderGraphicOwner. By doing so you assume responsibility for properly disposing of them when they are no longer needed. See RenderSystem.createGraphicOwner.

Spatial classification improvements

  • Volume classification is now fully supported.
  • Flash and hilite effects are now applied correctly.
  • Planar classifiers now support transparency; the classified geometry will use the transparency specified by the classifier geometry.
  • Classification of point clouds now works properly.
  • Classification now works correctly in perspective views.

Display system startup options

The following changes have been made to the RenderSystem.Options used to initialize the RenderSystem when invoking IModelApp.startup:

  • displaySolarShadows now defaults to true if not defined, instead of false.
  • directScreenRendering has been deprecated; it no longer has any effect.

Improvements to ambient occlusion

The default settings for ambient occlusion have been changed to make the effect more subtle, and an option has been added to limit the distance at which the effect will be applied.



Read-only mode

Added a flag PresentationManagerProps.mode to indicate that the backend always opens iModels in read-only mode and presentation manager can make some optimizations related to reacting to changes in iModels. This is an optional property that defaults to previous behavior (read-write), but it's strongly encouraged to set it to PresentationManagerMode.ReadOnly on read-only backends.

Last Updated: 15 June, 2021