@itwin/core-frontend 5.2.0-dev.3 → 5.2.0-dev.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +76 -1
- package/lib/cjs/BackgroundMapGeometry.js +13 -13
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
- package/lib/cjs/BriefcaseConnection.js +2 -2
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/CheckpointConnection.d.ts.map +1 -1
- package/lib/cjs/CheckpointConnection.js +3 -3
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
- package/lib/cjs/ElementLocateManager.js +7 -6
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
- package/lib/cjs/EmphasizeElements.js +3 -1
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js +4 -0
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
- package/lib/cjs/FrustumAnimator.js +3 -2
- package/lib/cjs/FrustumAnimator.js.map +1 -1
- package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
- package/lib/cjs/GlobeAnimator.js +7 -6
- package/lib/cjs/GlobeAnimator.js.map +1 -1
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js +12 -7
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +5 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +4 -0
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +156 -14
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IpcApp.d.ts.map +1 -1
- package/lib/cjs/IpcApp.js +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.d.ts.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js +2 -0
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js +2 -1
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/Marker.d.ts.map +1 -1
- package/lib/cjs/Marker.js +4 -3
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelState.d.ts.map +1 -1
- package/lib/cjs/ModelState.js +2 -2
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts.map +1 -1
- package/lib/cjs/NativeApp.js +5 -4
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NativeAppLogger.d.ts.map +1 -1
- package/lib/cjs/NativeAppLogger.js +1 -0
- package/lib/cjs/NativeAppLogger.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.d.ts +3 -0
- package/lib/cjs/PlanarClipMaskState.d.ts.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js +8 -4
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSource.d.ts.map +1 -1
- package/lib/cjs/RealityDataSource.js +5 -1
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/SelectionSet.d.ts.map +1 -1
- package/lib/cjs/SelectionSet.js +1 -0
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.d.ts.map +1 -1
- package/lib/cjs/SheetViewState.js +5 -5
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialViewState.d.ts.map +1 -1
- package/lib/cjs/SpatialViewState.js +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/Sprites.js +2 -2
- package/lib/cjs/Sprites.js.map +1 -1
- package/lib/cjs/TentativePoint.d.ts.map +1 -1
- package/lib/cjs/TentativePoint.js +10 -9
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/ViewContext.d.ts +10 -1
- package/lib/cjs/ViewContext.d.ts.map +1 -1
- package/lib/cjs/ViewContext.js +12 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js +1 -1
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewPose.d.ts.map +1 -1
- package/lib/cjs/ViewPose.js +4 -1
- package/lib/cjs/ViewPose.js.map +1 -1
- package/lib/cjs/ViewState.d.ts.map +1 -1
- package/lib/cjs/ViewState.js +17 -12
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewingSpace.d.ts.map +1 -1
- package/lib/cjs/ViewingSpace.js +2 -0
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +17 -10
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/common/ImageUtil.d.ts.map +1 -1
- package/lib/cjs/common/ImageUtil.js +2 -1
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/GeometryAccumulator.js +4 -3
- package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.js +16 -7
- package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js +2 -2
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/internal/GoogleMapsDecorator.js +7 -7
- package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/cjs/internal/ScriptUtils.js +1 -0
- package/lib/cjs/internal/ScriptUtils.js.map +1 -1
- package/lib/cjs/internal/cross-package.d.ts +1 -1
- package/lib/cjs/internal/cross-package.d.ts.map +1 -1
- package/lib/cjs/internal/cross-package.js +2 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.js +2 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js +7 -2
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js +5 -3
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeMap.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeMap.js +2 -0
- package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +3 -3
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.d.ts +4 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js +16 -5
- package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.js +2 -1
- package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
- package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/CachedGeometry.js +2 -2
- package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipStack.js +1 -1
- package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ColorInfo.js +1 -1
- package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Contours.js +3 -3
- package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EDL.js +18 -18
- package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FeatureOverrides.d.ts +3 -3
- package/lib/cjs/internal/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/FeatureOverrides.js +14 -14
- package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrameBuffer.js +3 -3
- package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js +2 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GLTimer.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/GLTimer.js +2 -0
- package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.d.ts +3 -3
- package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.js +7 -7
- package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.js +2 -2
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshData.js +2 -2
- package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PerformanceMetrics.js +1 -1
- package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts +1 -0
- package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js +27 -11
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarGrid.js +1 -1
- package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js +6 -5
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointCloud.js +1 -1
- package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderBuffer.js +2 -2
- package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.d.ts +2 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js +3 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js +118 -85
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.js +11 -10
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js +3 -3
- package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.js +3 -3
- package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.js +2 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js +6 -4
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/System.js +1 -1
- package/lib/cjs/internal/render/webgl/System.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js +12 -9
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Texture.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Texture.js +10 -8
- package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js +1 -1
- package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.js +4 -2
- package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js +2 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +3 -2
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +4 -3
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +8 -8
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js +10 -10
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js +2 -2
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
- package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/FetchCloudStorage.js +1 -1
- package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/cjs/internal/tile/LRUTileList.d.ts.map +1 -1
- package/lib/cjs/internal/tile/LRUTileList.js +4 -0
- package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/OPCFormatInterpreter.js +4 -4
- package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.js +2 -2
- package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts +2 -0
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js +17 -12
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +3 -3
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js +3 -0
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js +3 -3
- package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/TileUserSet.d.ts.map +1 -1
- package/lib/cjs/internal/tile/TileUserSet.js +4 -0
- package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGISTileMap.js +1 -1
- package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGisUtilities.js +4 -0
- package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileAvailability.js +5 -2
- package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js +3 -2
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js +2 -0
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +5 -3
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +5 -2
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +69 -17
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTile.js +2 -2
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js +5 -5
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js +2 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js +9 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTile.js +10 -8
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +8 -7
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js +2 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tools/Tool.js +1 -1
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.d.ts +5 -0
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +9 -0
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/webpack.config.js +8 -0
- package/lib/esm/BackgroundMapGeometry.js +14 -14
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
- package/lib/esm/BriefcaseConnection.js +2 -2
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/CheckpointConnection.d.ts.map +1 -1
- package/lib/esm/CheckpointConnection.js +4 -4
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/ElementLocateManager.d.ts.map +1 -1
- package/lib/esm/ElementLocateManager.js +8 -7
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EmphasizeElements.d.ts.map +1 -1
- package/lib/esm/EmphasizeElements.js +3 -1
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
- package/lib/esm/EnvironmentDecorations.js +4 -0
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FrustumAnimator.d.ts.map +1 -1
- package/lib/esm/FrustumAnimator.js +3 -2
- package/lib/esm/FrustumAnimator.js.map +1 -1
- package/lib/esm/GlobeAnimator.d.ts.map +1 -1
- package/lib/esm/GlobeAnimator.js +7 -6
- package/lib/esm/GlobeAnimator.js.map +1 -1
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js +12 -7
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +7 -3
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +4 -0
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +158 -16
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IpcApp.d.ts.map +1 -1
- package/lib/esm/IpcApp.js +2 -2
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LinePlaneIntersect.d.ts.map +1 -1
- package/lib/esm/LinePlaneIntersect.js +2 -0
- package/lib/esm/LinePlaneIntersect.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/esm/LocalhostIpcApp.js +2 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/Marker.d.ts.map +1 -1
- package/lib/esm/Marker.js +5 -4
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelState.d.ts.map +1 -1
- package/lib/esm/ModelState.js +3 -3
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.d.ts.map +1 -1
- package/lib/esm/NativeApp.js +5 -4
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NativeAppLogger.d.ts.map +1 -1
- package/lib/esm/NativeAppLogger.js +1 -0
- package/lib/esm/NativeAppLogger.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.d.ts +3 -0
- package/lib/esm/PlanarClipMaskState.d.ts.map +1 -1
- package/lib/esm/PlanarClipMaskState.js +8 -4
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSource.d.ts.map +1 -1
- package/lib/esm/RealityDataSource.js +5 -1
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/SelectionSet.d.ts.map +1 -1
- package/lib/esm/SelectionSet.js +2 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.d.ts.map +1 -1
- package/lib/esm/SheetViewState.js +6 -6
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialViewState.d.ts.map +1 -1
- package/lib/esm/SpatialViewState.js +2 -2
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/Sprites.js +2 -2
- package/lib/esm/Sprites.js.map +1 -1
- package/lib/esm/TentativePoint.d.ts.map +1 -1
- package/lib/esm/TentativePoint.js +10 -9
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/ViewContext.d.ts +10 -1
- package/lib/esm/ViewContext.d.ts.map +1 -1
- package/lib/esm/ViewContext.js +12 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js +1 -1
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewPose.d.ts.map +1 -1
- package/lib/esm/ViewPose.js +4 -1
- package/lib/esm/ViewPose.js.map +1 -1
- package/lib/esm/ViewState.d.ts.map +1 -1
- package/lib/esm/ViewState.js +18 -13
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewingSpace.d.ts.map +1 -1
- package/lib/esm/ViewingSpace.js +2 -0
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +18 -11
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/common/ImageUtil.d.ts.map +1 -1
- package/lib/esm/common/ImageUtil.js +2 -1
- package/lib/esm/common/ImageUtil.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
- package/lib/esm/common/internal/render/GeometryAccumulator.js +4 -3
- package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilder.js +2 -2
- package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
- package/lib/esm/common/internal/render/VertexTableBuilder.js +17 -8
- package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js +2 -2
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/internal/GoogleMapsDecorator.js +7 -7
- package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/esm/internal/ScriptUtils.js +1 -0
- package/lib/esm/internal/ScriptUtils.js.map +1 -1
- package/lib/esm/internal/cross-package.d.ts +1 -1
- package/lib/esm/internal/cross-package.d.ts.map +1 -1
- package/lib/esm/internal/cross-package.js +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.js +2 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js +7 -2
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.js +5 -3
- package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeMap.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeMap.js +2 -0
- package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +4 -4
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.d.ts +4 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js +16 -5
- package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.js +2 -1
- package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.js +3 -3
- package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/CachedGeometry.js +3 -3
- package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipStack.js +1 -1
- package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/ColorInfo.js +2 -2
- package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/esm/internal/render/webgl/Contours.js +4 -4
- package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/EDL.js +19 -19
- package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/FeatureOverrides.d.ts +3 -3
- package/lib/esm/internal/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/FeatureOverrides.js +15 -15
- package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrameBuffer.js +4 -4
- package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js +2 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/GLTimer.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/GLTimer.js +2 -0
- package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.d.ts +3 -3
- package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.js +7 -7
- package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.js +3 -3
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshData.js +3 -3
- package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/internal/render/webgl/PerformanceMetrics.js +1 -1
- package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts +1 -0
- package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js +28 -12
- package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarGrid.js +2 -2
- package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.js +6 -5
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointCloud.js +2 -2
- package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.js +2 -2
- package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderBuffer.js +3 -3
- package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.d.ts +2 -1
- package/lib/esm/internal/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js +3 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js +119 -86
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ScratchDrawParams.js +11 -10
- package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js +4 -4
- package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.js +4 -4
- package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.js +2 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.js +7 -5
- package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/System.js +2 -2
- package/lib/esm/internal/render/webgl/System.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js +13 -10
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/Texture.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Texture.js +11 -9
- package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
- package/lib/esm/internal/render/webgl/VisibleTileFeatures.js +1 -1
- package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.js +5 -3
- package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js +2 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js +2 -2
- package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +3 -2
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +4 -4
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +4 -3
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js +11 -11
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Vertex.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.js +2 -2
- package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
- package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/internal/tile/FetchCloudStorage.js +1 -1
- package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/esm/internal/tile/LRUTileList.d.ts.map +1 -1
- package/lib/esm/internal/tile/LRUTileList.js +4 -0
- package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/OPCFormatInterpreter.js +5 -5
- package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js +3 -3
- package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts +2 -0
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js +16 -12
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +4 -4
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js +3 -0
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js +4 -4
- package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/TileUserSet.d.ts.map +1 -1
- package/lib/esm/internal/tile/TileUserSet.js +4 -0
- package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGISTileMap.js +1 -1
- package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ArcGisUtilities.js +4 -0
- package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -2
- package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/MapTileAvailability.js +6 -3
- package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js +3 -2
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js +2 -0
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +5 -3
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +5 -2
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +70 -18
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.d.ts.map +1 -1
- package/lib/esm/tile/RealityTile.js +3 -3
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileTree.js +6 -6
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js +2 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +2 -2
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js +2 -2
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js +10 -2
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTile.js +11 -9
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +9 -8
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js +2 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tools/Tool.js +2 -2
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.d.ts +5 -0
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +9 -0
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/workers/ImdlParser/webpack.config.js +8 -0
- package/lib/public/images/GoogleMaps_Logo_Gray.svg +50 -0
- package/lib/public/images/GoogleMaps_Logo_WithDarkOutline.svg +78 -0
- package/lib/public/images/GoogleMaps_Logo_WithLightOutline.svg +78 -0
- package/lib/public/locales/en/iModelJs.json +1 -1
- package/lib/public/scripts/draco_decoder.wasm +0 -0
- package/lib/public/scripts/draco_encoder.js +52 -0
- package/lib/public/scripts/draco_wasm_wrapper.js +117 -0
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +25 -23
- package/lib/public/images/google_on_non_white.png +0 -0
- package/lib/public/images/google_on_non_white_hdpi.png +0 -0
- package/lib/public/images/google_on_white.png +0 -0
- package/lib/public/images/google_on_white_hdpi.png +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module WebGL
|
|
7
7
|
*/
|
|
8
|
-
import { assert, dispose } from "@itwin/core-bentley";
|
|
8
|
+
import { assert, dispose, expectDefined } from "@itwin/core-bentley";
|
|
9
9
|
import { Transform, Vector2d, Vector3d } from "@itwin/core-geometry";
|
|
10
10
|
import { ModelFeature, RenderMode, SpatialClassifierInsideDisplay, SpatialClassifierOutsideDisplay, } from "@itwin/core-common";
|
|
11
11
|
import { RenderType } from "@itwin/webgl-compatibility";
|
|
@@ -244,10 +244,10 @@ class FrameBuffers {
|
|
|
244
244
|
init(textures, depth, depthMS) {
|
|
245
245
|
if (!this.initPotentialMSFbos(textures, depth, depthMS))
|
|
246
246
|
return false;
|
|
247
|
-
this.depthAndOrder = FrameBuffer.create([textures.depthAndOrder], depth);
|
|
248
|
-
this.contours = FrameBuffer.create([textures.contours], depth);
|
|
249
|
-
this.hilite = FrameBuffer.create([textures.hilite], depth);
|
|
250
|
-
this.hiliteUsingStencil = FrameBuffer.create([textures.hilite], depth);
|
|
247
|
+
this.depthAndOrder = FrameBuffer.create([expectDefined(textures.depthAndOrder)], depth);
|
|
248
|
+
this.contours = FrameBuffer.create([expectDefined(textures.contours)], depth);
|
|
249
|
+
this.hilite = FrameBuffer.create([expectDefined(textures.hilite)], depth);
|
|
250
|
+
this.hiliteUsingStencil = FrameBuffer.create([expectDefined(textures.hilite)], depth);
|
|
251
251
|
if (!this.depthAndOrder || !this.contours || !this.hilite || !this.hiliteUsingStencil)
|
|
252
252
|
return false;
|
|
253
253
|
assert(undefined === this.opaqueAll);
|
|
@@ -358,7 +358,13 @@ class FrameBuffers {
|
|
|
358
358
|
if (undefined === boundColor)
|
|
359
359
|
return;
|
|
360
360
|
if (undefined === this.stencilSet) {
|
|
361
|
+
if (undefined === textures.volClassBlend) {
|
|
362
|
+
throw new Error("Volume classifier blend texture is not defined.");
|
|
363
|
+
}
|
|
361
364
|
if (undefined !== depthMS) { // if multisampling use the multisampled depth everywhere
|
|
365
|
+
if (undefined === textures.volClassBlendMsBuff) {
|
|
366
|
+
throw new Error("Volume classifier blend multisample buffer is not defined.");
|
|
367
|
+
}
|
|
362
368
|
this.stencilSet = FrameBuffer.create([], depth, [], [], depthMS);
|
|
363
369
|
this.altZOnly = FrameBuffer.create([], volClassDepth, [], [], volClassDepthMS);
|
|
364
370
|
this.volClassCreateBlend = FrameBuffer.create([textures.volClassBlend], depth, [textures.volClassBlendMsBuff], [GL.MultiSampling.Filter.Nearest], depthMS);
|
|
@@ -483,25 +489,25 @@ class Geometry {
|
|
|
483
489
|
}
|
|
484
490
|
init(textures) {
|
|
485
491
|
assert(undefined === this.composite);
|
|
486
|
-
this.composite = CompositeGeometry.createGeometry(textures.color
|
|
492
|
+
this.composite = CompositeGeometry.createGeometry(expectDefined(textures.color?.getHandle()), expectDefined(textures.accumulation?.getHandle()), expectDefined(textures.revealage?.getHandle()), expectDefined(textures.hilite?.getHandle()));
|
|
487
493
|
if (undefined === this.composite)
|
|
488
494
|
return false;
|
|
489
495
|
assert(undefined === this.copyPickBuffers);
|
|
490
|
-
this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(textures.featureId
|
|
496
|
+
this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(expectDefined(textures.featureId?.getHandle()), expectDefined(textures.depthAndOrder?.getHandle()));
|
|
491
497
|
this.clearTranslucent = ViewportQuadGeometry.create(16 /* TechniqueId.OITClearTranslucent */);
|
|
492
498
|
this.clearPickAndColor = ViewportQuadGeometry.create(21 /* TechniqueId.ClearPickAndColor */);
|
|
493
499
|
return undefined !== this.copyPickBuffers && undefined !== this.clearTranslucent && undefined !== this.clearPickAndColor;
|
|
494
500
|
}
|
|
495
501
|
enableOcclusion(textures, depth) {
|
|
496
502
|
assert(undefined !== textures.occlusion && undefined !== textures.occlusionBlur && undefined !== textures.depthAndOrder && undefined !== textures.occlusionBlur);
|
|
497
|
-
this.composite.occlusion = textures.occlusion.getHandle();
|
|
498
|
-
this.occlusion = AmbientOcclusionGeometry.createGeometry(textures.depthAndOrder.getHandle(), depth.getHandle());
|
|
499
|
-
this.occlusionXBlur = BlurGeometry.createGeometry(textures.occlusion.getHandle(), textures.depthAndOrder.getHandle(), undefined, new Vector2d(1.0, 0.0), BlurType.NoTest);
|
|
503
|
+
expectDefined(this.composite).occlusion = textures.occlusion.getHandle();
|
|
504
|
+
this.occlusion = AmbientOcclusionGeometry.createGeometry(expectDefined(textures.depthAndOrder.getHandle()), expectDefined(depth.getHandle()));
|
|
505
|
+
this.occlusionXBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusion.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), undefined, new Vector2d(1.0, 0.0), BlurType.NoTest);
|
|
500
506
|
const depthAndOrderHidden = (undefined === textures.depthAndOrderHidden ? textures.revealage?.getHandle() : textures.depthAndOrderHidden.getHandle());
|
|
501
|
-
this.occlusionYBlur = BlurGeometry.createGeometry(textures.occlusionBlur.getHandle(), textures.depthAndOrder.getHandle(), depthAndOrderHidden, new Vector2d(0.0, 1.0), BlurType.TestOrder);
|
|
507
|
+
this.occlusionYBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusionBlur.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), depthAndOrderHidden, new Vector2d(0.0, 1.0), BlurType.TestOrder);
|
|
502
508
|
}
|
|
503
509
|
disableOcclusion() {
|
|
504
|
-
this.composite.occlusion = undefined;
|
|
510
|
+
expectDefined(this.composite).occlusion = undefined;
|
|
505
511
|
this.occlusion = dispose(this.occlusion);
|
|
506
512
|
this.occlusionXBlur = dispose(this.occlusionXBlur);
|
|
507
513
|
this.occlusionYBlur = dispose(this.occlusionYBlur);
|
|
@@ -509,9 +515,9 @@ class Geometry {
|
|
|
509
515
|
enableVolumeClassifier(textures, depth) {
|
|
510
516
|
assert(undefined === this.volClassColorStencil && undefined === this.volClassCopyZ && undefined === this.volClassSetBlend && undefined === this.volClassBlend);
|
|
511
517
|
this.volClassColorStencil = ViewportQuadGeometry.create(20 /* TechniqueId.VolClassColorUsingStencil */);
|
|
512
|
-
this.volClassCopyZ = SingleTexturedViewportQuadGeometry.createGeometry(depth.getHandle(), 31 /* TechniqueId.VolClassCopyZ */);
|
|
513
|
-
this.volClassSetBlend = VolumeClassifierGeometry.createVCGeometry(depth.getHandle());
|
|
514
|
-
this.volClassBlend = SingleTexturedViewportQuadGeometry.createGeometry(textures.volClassBlend
|
|
518
|
+
this.volClassCopyZ = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(depth.getHandle()), 31 /* TechniqueId.VolClassCopyZ */);
|
|
519
|
+
this.volClassSetBlend = VolumeClassifierGeometry.createVCGeometry(expectDefined(depth.getHandle()));
|
|
520
|
+
this.volClassBlend = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(textures.volClassBlend?.getHandle()), 33 /* TechniqueId.VolClassBlend */);
|
|
515
521
|
return undefined !== this.volClassColorStencil && undefined !== this.volClassCopyZ && undefined !== this.volClassSetBlend && undefined !== this.volClassBlend;
|
|
516
522
|
}
|
|
517
523
|
disableVolumeClassifier() {
|
|
@@ -795,7 +801,7 @@ class Compositor extends SceneCompositor {
|
|
|
795
801
|
forceBufferChange() { this._width = this._height = -1; }
|
|
796
802
|
get featureIds() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 0 : 1); }
|
|
797
803
|
get depthAndOrder() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 1 : 2); }
|
|
798
|
-
get _samplerFbo() { return this._readPickDataFromPingPong ? this._fbos.pingPong : this._fbos.opaqueAll; }
|
|
804
|
+
get _samplerFbo() { return this._readPickDataFromPingPong ? expectDefined(this._fbos.pingPong) : expectDefined(this._fbos.opaqueAll); }
|
|
799
805
|
getSamplerTexture(index) { return this._samplerFbo.getColor(index); }
|
|
800
806
|
drawPrimitive(primitive, exec, outputsToPick) {
|
|
801
807
|
if ((outputsToPick && this._primitiveDrawState !== PrimitiveDrawState.NonPickable) ||
|
|
@@ -803,14 +809,14 @@ class Compositor extends SceneCompositor {
|
|
|
803
809
|
primitive.draw(exec);
|
|
804
810
|
}
|
|
805
811
|
clearOpaque(needComposite) {
|
|
806
|
-
const fbo = needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll;
|
|
812
|
+
const fbo = needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll);
|
|
807
813
|
const system = System.instance;
|
|
808
814
|
system.frameBufferStack.execute(fbo, true, this.useMsBuffers, () => {
|
|
809
815
|
// Clear pick data buffers to 0's and color buffer to background color
|
|
810
816
|
// (0,0,0,0) in elementID0 and ElementID1 buffers indicates invalid element id
|
|
811
817
|
// (0,0,0,0) in DepthAndOrder buffer indicates render order 0 and encoded depth of 0 (= far plane)
|
|
812
818
|
system.applyRenderState(this._noDepthMaskRenderState);
|
|
813
|
-
const params = getDrawParams(this.target, this._geom.clearPickAndColor);
|
|
819
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.clearPickAndColor));
|
|
814
820
|
this.target.techniques.draw(params);
|
|
815
821
|
// Clear depth buffer
|
|
816
822
|
system.applyRenderState(RenderState.defaults); // depthMask == true.
|
|
@@ -819,7 +825,7 @@ class Compositor extends SceneCompositor {
|
|
|
819
825
|
});
|
|
820
826
|
}
|
|
821
827
|
renderLayers(commands, needComposite, pass) {
|
|
822
|
-
const fbo = (needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll);
|
|
828
|
+
const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
|
|
823
829
|
const useMsBuffers = 1 /* RenderPass.OpaqueLayers */ === pass && fbo.isMultisampled && this.useMsBuffers;
|
|
824
830
|
this._readPickDataFromPingPong = !useMsBuffers;
|
|
825
831
|
System.instance.frameBufferStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -835,7 +841,7 @@ class Compositor extends SceneCompositor {
|
|
|
835
841
|
const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
|
|
836
842
|
const fbStack = System.instance.frameBufferStack;
|
|
837
843
|
// Output the first 2 passes to color and pick data buffers. (All 3 in the case of rendering for readPixels() or ambient occlusion).
|
|
838
|
-
let fbo = (needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll);
|
|
844
|
+
let fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
|
|
839
845
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
840
846
|
this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
|
|
841
847
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -851,7 +857,7 @@ class Compositor extends SceneCompositor {
|
|
|
851
857
|
this._readPickDataFromPingPong = false;
|
|
852
858
|
// The general pass (and following) will not bother to write to pick buffers and so can read from the actual pick buffers.
|
|
853
859
|
if (!renderForReadPixels) {
|
|
854
|
-
fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
|
|
860
|
+
fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
|
|
855
861
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
856
862
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
|
|
857
863
|
this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
|
|
@@ -865,7 +871,7 @@ class Compositor extends SceneCompositor {
|
|
|
865
871
|
const fbStack = System.instance.frameBufferStack;
|
|
866
872
|
const haveHiddenEdges = 0 !== commands.getCommands(9 /* RenderPass.HiddenEdge */).length;
|
|
867
873
|
// Output the linear, planar, and pickable surfaces to color and pick data buffers.
|
|
868
|
-
let fbo = this._fbos.opaqueAndCompositeAll;
|
|
874
|
+
let fbo = expectDefined(this._fbos.opaqueAndCompositeAll);
|
|
869
875
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
870
876
|
this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
|
|
871
877
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -879,7 +885,7 @@ class Compositor extends SceneCompositor {
|
|
|
879
885
|
});
|
|
880
886
|
this._readPickDataFromPingPong = false;
|
|
881
887
|
// Output the non-pickable surfaces and hidden edges to just the color buffer.
|
|
882
|
-
fbo = this._fbos.opaqueAndCompositeColor;
|
|
888
|
+
fbo = expectDefined(this._fbos.opaqueAndCompositeColor);
|
|
883
889
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
884
890
|
this._primitiveDrawState = PrimitiveDrawState.NonPickable;
|
|
885
891
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
|
|
@@ -896,16 +902,16 @@ class Compositor extends SceneCompositor {
|
|
|
896
902
|
// If multisampling then we will use the accumulation texture for featureIDs and a special texture for depthAndOrder since the revealage texture is not the right type for multisampling.
|
|
897
903
|
// First we will need to copy what's in the pick buffers so far into the hidden pick buffers.
|
|
898
904
|
System.instance.applyRenderState(this._noDepthMaskRenderState);
|
|
899
|
-
fbo = (useMsBuffers ? this._fbos.pingPongMS : this._fbos.pingPong);
|
|
905
|
+
fbo = (useMsBuffers ? expectDefined(this._fbos.pingPongMS) : expectDefined(this._fbos.pingPong));
|
|
900
906
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
901
|
-
const params = getDrawParams(this.target, this._geom.copyPickBuffers);
|
|
907
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
|
|
902
908
|
this.target.techniques.draw(params);
|
|
903
909
|
});
|
|
904
910
|
if (useMsBuffers)
|
|
905
911
|
fbo.blitMsBuffersToTextures(false, 1); // only want to blit the depth/order target
|
|
906
912
|
// Now draw the hidden edges, using an fbo which places their depth/order into the hidden pick buffers.
|
|
907
913
|
// Since we are not writing to the actual pick buffers we let this._readPickDataFromPingPong remain false.
|
|
908
|
-
fbo = this._fbos.opaqueAndCompositeAllHidden;
|
|
914
|
+
fbo = expectDefined(this._fbos.opaqueAndCompositeAllHidden);
|
|
909
915
|
this._primitiveDrawState = PrimitiveDrawState.Pickable;
|
|
910
916
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
911
917
|
this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
|
|
@@ -951,7 +957,7 @@ class Compositor extends SceneCompositor {
|
|
|
951
957
|
}
|
|
952
958
|
}
|
|
953
959
|
const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
|
|
954
|
-
const fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
|
|
960
|
+
const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
|
|
955
961
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
956
962
|
const system = System.instance;
|
|
957
963
|
const fbStack = system.frameBufferStack;
|
|
@@ -1022,21 +1028,21 @@ class Compositor extends SceneCompositor {
|
|
|
1022
1028
|
const fbStack = System.instance.frameBufferStack;
|
|
1023
1029
|
if (renderForReadPixels || needAO) {
|
|
1024
1030
|
this._readPickDataFromPingPong = true;
|
|
1025
|
-
fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll, true, this.useMsBuffers, () => {
|
|
1031
|
+
fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll), true, this.useMsBuffers, () => {
|
|
1026
1032
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, true, 20 /* RenderPass.VolumeClassifiedRealityData */);
|
|
1027
1033
|
});
|
|
1028
1034
|
}
|
|
1029
1035
|
else {
|
|
1030
1036
|
this._readPickDataFromPingPong = false;
|
|
1031
|
-
fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor, true, this.useMsBuffers, () => {
|
|
1037
|
+
fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
|
|
1032
1038
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false, 20 /* RenderPass.VolumeClassifiedRealityData */);
|
|
1033
1039
|
});
|
|
1034
1040
|
}
|
|
1035
1041
|
}
|
|
1036
1042
|
renderIndexedClassifierForReadPixels(cmds, state, renderForIntersectingVolumes, needComposite) {
|
|
1037
1043
|
this._readPickDataFromPingPong = true;
|
|
1038
|
-
const fbo = (renderForIntersectingVolumes ? (needComposite ? this._fbos.idsAndZComposite : this._fbos.idsAndZ)
|
|
1039
|
-
: (needComposite ? this._fbos.idsAndAltZComposite : this._fbos.idsAndAltZ));
|
|
1044
|
+
const fbo = (renderForIntersectingVolumes ? (needComposite ? expectDefined(this._fbos.idsAndZComposite) : expectDefined(this._fbos.idsAndZ))
|
|
1045
|
+
: (needComposite ? expectDefined(this._fbos.idsAndAltZComposite) : expectDefined(this._fbos.idsAndAltZ)));
|
|
1040
1046
|
System.instance.frameBufferStack.execute(fbo, true, false, () => {
|
|
1041
1047
|
System.instance.applyRenderState(state);
|
|
1042
1048
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
@@ -1045,29 +1051,29 @@ class Compositor extends SceneCompositor {
|
|
|
1045
1051
|
}
|
|
1046
1052
|
clearTranslucent() {
|
|
1047
1053
|
System.instance.applyRenderState(this._noDepthMaskRenderState);
|
|
1048
|
-
System.instance.frameBufferStack.execute(this._fbos.clearTranslucent, true, false, () => {
|
|
1049
|
-
const params = getDrawParams(this.target, this._geom.clearTranslucent);
|
|
1054
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.clearTranslucent), true, false, () => {
|
|
1055
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.clearTranslucent));
|
|
1050
1056
|
this.target.techniques.draw(params);
|
|
1051
1057
|
});
|
|
1052
1058
|
}
|
|
1053
1059
|
renderTranslucent(commands) {
|
|
1054
|
-
System.instance.frameBufferStack.execute(this._fbos.translucent, true, false, () => {
|
|
1060
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.translucent), true, false, () => {
|
|
1055
1061
|
this.drawPass(commands, 8 /* RenderPass.Translucent */);
|
|
1056
1062
|
});
|
|
1057
1063
|
}
|
|
1058
1064
|
getBackgroundFbo(needComposite) {
|
|
1059
|
-
return needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor;
|
|
1065
|
+
return needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor);
|
|
1060
1066
|
}
|
|
1061
1067
|
pingPong() {
|
|
1062
|
-
if (this._fbos.opaqueAll.isMultisampled && this.useMsBuffers) {
|
|
1068
|
+
if (expectDefined(this._fbos.opaqueAll).isMultisampled && this.useMsBuffers) {
|
|
1063
1069
|
// If we are multisampling we can just blit the FeatureId and DepthAndOrder MS buffers to their textures.
|
|
1064
|
-
this._fbos.opaqueAll
|
|
1065
|
-
this._fbos.opaqueAll
|
|
1070
|
+
this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 1);
|
|
1071
|
+
this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 2);
|
|
1066
1072
|
}
|
|
1067
1073
|
else {
|
|
1068
1074
|
System.instance.applyRenderState(this._noDepthMaskRenderState);
|
|
1069
|
-
System.instance.frameBufferStack.execute(this._fbos.pingPong, true, this.useMsBuffers, () => {
|
|
1070
|
-
const params = getDrawParams(this.target, this._geom.copyPickBuffers);
|
|
1075
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.pingPong), true, this.useMsBuffers, () => {
|
|
1076
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
|
|
1071
1077
|
this.target.techniques.draw(params);
|
|
1072
1078
|
});
|
|
1073
1079
|
}
|
|
@@ -1084,29 +1090,29 @@ class Compositor extends SceneCompositor {
|
|
|
1084
1090
|
renderAmbientOcclusion() {
|
|
1085
1091
|
const system = System.instance;
|
|
1086
1092
|
// Render unblurred ambient occlusion based on depth buffer
|
|
1087
|
-
let fbo = this._fbos.occlusion;
|
|
1093
|
+
let fbo = expectDefined(this._fbos.occlusion);
|
|
1088
1094
|
this.target.beginPerfMetricRecord("Compute AO");
|
|
1089
1095
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1090
1096
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1091
|
-
const params = getDrawParams(this.target, this._geom.occlusion);
|
|
1097
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusion));
|
|
1092
1098
|
this.target.techniques.draw(params);
|
|
1093
1099
|
});
|
|
1094
1100
|
this.target.endPerfMetricRecord();
|
|
1095
1101
|
// Render the X-blurred ambient occlusion based on unblurred ambient occlusion
|
|
1096
|
-
fbo = this._fbos.occlusionBlur;
|
|
1102
|
+
fbo = expectDefined(this._fbos.occlusionBlur);
|
|
1097
1103
|
this.target.beginPerfMetricRecord("Blur AO X");
|
|
1098
1104
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1099
1105
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1100
|
-
const params = getDrawParams(this.target, this._geom.occlusionXBlur);
|
|
1106
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusionXBlur));
|
|
1101
1107
|
this.target.techniques.draw(params);
|
|
1102
1108
|
});
|
|
1103
1109
|
this.target.endPerfMetricRecord();
|
|
1104
1110
|
// Render the Y-blurred ambient occlusion based on X-blurred ambient occlusion (render into original occlusion framebuffer)
|
|
1105
|
-
fbo = this._fbos.occlusion;
|
|
1111
|
+
fbo = expectDefined(this._fbos.occlusion);
|
|
1106
1112
|
this.target.beginPerfMetricRecord("Blur AO Y");
|
|
1107
1113
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1108
1114
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1109
|
-
const params = getDrawParams(this.target, this._geom.occlusionYBlur);
|
|
1115
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusionYBlur));
|
|
1110
1116
|
this.target.techniques.draw(params);
|
|
1111
1117
|
});
|
|
1112
1118
|
this.target.endPerfMetricRecord();
|
|
@@ -1208,11 +1214,11 @@ class Compositor extends SceneCompositor {
|
|
|
1208
1214
|
assert(false, "Failed to initialize occlusion textures");
|
|
1209
1215
|
return false;
|
|
1210
1216
|
}
|
|
1211
|
-
if (!this._fbos.enableOcclusion(this._textures, this._depth, this._depthMS)) {
|
|
1217
|
+
if (!this._fbos.enableOcclusion(this._textures, expectDefined(this._depth), this._depthMS)) {
|
|
1212
1218
|
assert(false, "Failed to initialize occlusion frame buffers");
|
|
1213
1219
|
return false;
|
|
1214
1220
|
}
|
|
1215
|
-
this._geom.enableOcclusion(this._textures, this._depth);
|
|
1221
|
+
this._geom.enableOcclusion(this._textures, expectDefined(this._depth));
|
|
1216
1222
|
}
|
|
1217
1223
|
else {
|
|
1218
1224
|
this._geom.disableOcclusion();
|
|
@@ -1230,9 +1236,9 @@ class Compositor extends SceneCompositor {
|
|
|
1230
1236
|
return false;
|
|
1231
1237
|
if (!this._textures.enableVolumeClassifier(width, height, this._antialiasSamples))
|
|
1232
1238
|
return false;
|
|
1233
|
-
if (!this._geom.enableVolumeClassifier(this._textures, this._depth))
|
|
1239
|
+
if (!this._geom.enableVolumeClassifier(this._textures, expectDefined(this._depth)))
|
|
1234
1240
|
return false;
|
|
1235
|
-
this.enableVolumeClassifierFbos(this._textures, this._depth, this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
|
|
1241
|
+
this.enableVolumeClassifierFbos(this._textures, expectDefined(this._depth), this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
|
|
1236
1242
|
this._haveVolumeClassifier = true;
|
|
1237
1243
|
}
|
|
1238
1244
|
else {
|
|
@@ -1313,7 +1319,7 @@ class Compositor extends SceneCompositor {
|
|
|
1313
1319
|
this.renderLayers(commands, needComposite, 7 /* RenderPass.TranslucentLayers */);
|
|
1314
1320
|
this.target.endPerfMetricRecord();
|
|
1315
1321
|
if (needComposite) {
|
|
1316
|
-
this._geom.composite.update(compositeFlags);
|
|
1322
|
+
expectDefined(this._geom.composite).update(compositeFlags);
|
|
1317
1323
|
this.target.beginPerfMetricRecord("Render Translucent");
|
|
1318
1324
|
this.clearTranslucent();
|
|
1319
1325
|
this.renderTranslucent(commands);
|
|
@@ -1391,7 +1397,7 @@ class Compositor extends SceneCompositor {
|
|
|
1391
1397
|
// (If *only* overlays exist, then clearOpaque() above already took care of this).
|
|
1392
1398
|
if (haveRenderCommands) {
|
|
1393
1399
|
const system = System.instance;
|
|
1394
|
-
system.frameBufferStack.execute(this._fbos.opaqueColor, true, this.useMsBuffers, () => {
|
|
1400
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
|
|
1395
1401
|
system.applyRenderState(RenderState.defaults);
|
|
1396
1402
|
system.context.clearDepth(1.0);
|
|
1397
1403
|
system.context.clear(GL.BufferBit.Depth);
|
|
@@ -1668,14 +1674,14 @@ class Compositor extends SceneCompositor {
|
|
|
1668
1674
|
}
|
|
1669
1675
|
renderIndexedVolumeClassifier(cmdsByIndex, needComposite) {
|
|
1670
1676
|
// Set the stencil for the given classifier stencil volume.
|
|
1671
|
-
System.instance.frameBufferStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
|
|
1672
|
-
this.target.pushState(this._vcBranchState);
|
|
1673
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1677
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, this.useMsBuffers, () => {
|
|
1678
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1679
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1674
1680
|
this.target.techniques.executeForIndexedClassifier(this.target, cmdsByIndex, 6 /* RenderPass.Classification */);
|
|
1675
1681
|
this.target.popBranch();
|
|
1676
1682
|
});
|
|
1677
1683
|
// Process the stencil for the pick data.
|
|
1678
|
-
this.renderIndexedClassifierForReadPixels(cmdsByIndex, this._vcPickDataRenderState, true, needComposite);
|
|
1684
|
+
this.renderIndexedClassifierForReadPixels(cmdsByIndex, expectDefined(this._vcPickDataRenderState), true, needComposite);
|
|
1679
1685
|
}
|
|
1680
1686
|
renderVolumeClassification(commands, compositeFlags, renderForReadPixels) {
|
|
1681
1687
|
// Sometimes we need to render the classifier stencil volumes one at a time, if so draw them from the cmdsByIndex list
|
|
@@ -1713,8 +1719,8 @@ class Compositor extends SceneCompositor {
|
|
|
1713
1719
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1714
1720
|
}
|
|
1715
1721
|
else {
|
|
1716
|
-
this.target.pushState(this._vcBranchState);
|
|
1717
|
-
System.instance.applyRenderState(this._vcDebugRenderState);
|
|
1722
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1723
|
+
System.instance.applyRenderState(expectDefined(this._vcDebugRenderState));
|
|
1718
1724
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1719
1725
|
this.target.popBranch();
|
|
1720
1726
|
}
|
|
@@ -1742,7 +1748,7 @@ class Compositor extends SceneCompositor {
|
|
|
1742
1748
|
const needAltZ = (doColorByElement && !doColorByElementForIntersectingVolumes) || needOutsideDraw;
|
|
1743
1749
|
let zOnlyFbo = this._fbos.stencilSet;
|
|
1744
1750
|
let volClassBlendFbo = this._fbos.volClassCreateBlend;
|
|
1745
|
-
let volClassBlendReadZTexture = this._vcAltDepthStencil
|
|
1751
|
+
let volClassBlendReadZTexture = expectDefined(this._vcAltDepthStencil?.getHandle());
|
|
1746
1752
|
let volClassBlendReadZTextureFbo = this._fbos.altZOnly;
|
|
1747
1753
|
if (!needAltZ) {
|
|
1748
1754
|
// Initialize the blend texture and the stencil.
|
|
@@ -1759,15 +1765,15 @@ class Compositor extends SceneCompositor {
|
|
|
1759
1765
|
zOnlyFbo = this._fbos.altZOnly;
|
|
1760
1766
|
volClassBlendFbo = this._fbos.volClassCreateBlendAltZ;
|
|
1761
1767
|
assert(undefined !== volClassBlendFbo);
|
|
1762
|
-
volClassBlendReadZTexture = this._depth
|
|
1768
|
+
volClassBlendReadZTexture = expectDefined(this._depth?.getHandle());
|
|
1763
1769
|
volClassBlendReadZTextureFbo = this._fbos.stencilSet;
|
|
1764
1770
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1765
1771
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1766
1772
|
// Copy the current Z into the Alt-Z. At the same time go ahead and clear the stencil and the blend texture.
|
|
1767
1773
|
fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
|
|
1768
1774
|
this.target.pushState(this.target.decorationsState);
|
|
1769
|
-
System.instance.applyRenderState(this._vcCopyZRenderState);
|
|
1770
|
-
this.target.techniques.draw(getDrawParams(this.target, this._geom.volClassCopyZ)); // This method uses the EXT_frag_depth extension
|
|
1775
|
+
System.instance.applyRenderState(expectDefined(this._vcCopyZRenderState));
|
|
1776
|
+
this.target.techniques.draw(getDrawParams(this.target, expectDefined(this._geom.volClassCopyZ))); // This method uses the EXT_frag_depth extension
|
|
1771
1777
|
System.instance.bindTexture2d(TextureUnit.Zero, undefined);
|
|
1772
1778
|
this.target.popBranch();
|
|
1773
1779
|
});
|
|
@@ -1775,26 +1781,29 @@ class Compositor extends SceneCompositor {
|
|
|
1775
1781
|
if (renderForReadPixels) {
|
|
1776
1782
|
// Set the stencil for all of the classifier volumes.
|
|
1777
1783
|
System.instance.frameBufferStack.execute(this._fbos.altZOnly, false, this.useMsBuffers, () => {
|
|
1778
|
-
this.target.pushState(this._vcBranchState);
|
|
1779
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1784
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1785
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1780
1786
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1781
1787
|
// After we create the stencil we need to clear the Z for the next step (so also must turn on z writing temporarily).
|
|
1782
|
-
this._vcSetStencilRenderState.flags.depthMask = true;
|
|
1783
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1788
|
+
expectDefined(this._vcSetStencilRenderState).flags.depthMask = true;
|
|
1789
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1784
1790
|
System.instance.context.clearDepth(1.0);
|
|
1785
1791
|
System.instance.context.clear(GL.BufferBit.Depth);
|
|
1786
|
-
this._vcSetStencilRenderState.flags.depthMask = false;
|
|
1792
|
+
expectDefined(this._vcSetStencilRenderState).flags.depthMask = false;
|
|
1787
1793
|
this.target.popBranch();
|
|
1788
1794
|
System.instance.bindTexture2d(TextureUnit.Two, undefined);
|
|
1789
1795
|
System.instance.bindTexture2d(TextureUnit.Five, undefined);
|
|
1790
1796
|
});
|
|
1797
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1798
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1799
|
+
}
|
|
1791
1800
|
this.target.pushState(this._vcBranchState);
|
|
1792
1801
|
this._vcColorRenderState.flags.depthTest = true;
|
|
1793
1802
|
this._vcColorRenderState.flags.depthMask = true;
|
|
1794
1803
|
this._vcColorRenderState.flags.cull = true;
|
|
1795
1804
|
this._vcColorRenderState.flags.blend = false;
|
|
1796
1805
|
this.setAllStencilOps(this._vcColorRenderState, GL.StencilOperation.Keep); // don't clear the stencil so that all classifiers behind reality mesh will still draw
|
|
1797
|
-
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ
|
|
1806
|
+
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
|
|
1798
1807
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1799
1808
|
this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1800
1809
|
this.renderIndexedClassifierForReadPixels(cmds, this._vcColorRenderState, false, needComposite);
|
|
@@ -1814,8 +1823,8 @@ class Compositor extends SceneCompositor {
|
|
|
1814
1823
|
// Set the stencil using all of the volume classifiers. This will be used to do the outside and/or the inside if they need to be done.
|
|
1815
1824
|
// If we are not modifying the outside and the inside is using color-by-element for intersecting volumes, then the stencil will get set later.
|
|
1816
1825
|
fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
|
|
1817
|
-
this.target.pushState(this._vcBranchState);
|
|
1818
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1826
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1827
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1819
1828
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1820
1829
|
this.target.popBranch();
|
|
1821
1830
|
System.instance.bindTexture2d(TextureUnit.Two, undefined);
|
|
@@ -1826,6 +1835,9 @@ class Compositor extends SceneCompositor {
|
|
|
1826
1835
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1827
1836
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1828
1837
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1838
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1839
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1840
|
+
}
|
|
1829
1841
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Outside;
|
|
1830
1842
|
this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
|
|
1831
1843
|
this.target.pushState(this.target.decorationsState);
|
|
@@ -1852,6 +1864,9 @@ class Compositor extends SceneCompositor {
|
|
|
1852
1864
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1853
1865
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1854
1866
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1867
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1868
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1869
|
+
}
|
|
1855
1870
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Inside;
|
|
1856
1871
|
this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
|
|
1857
1872
|
this.target.pushState(this.target.decorationsState);
|
|
@@ -1870,13 +1885,16 @@ class Compositor extends SceneCompositor {
|
|
|
1870
1885
|
const nxtCmds = cmdsByIndex.slice(i, i + numCmdsPerClassifier);
|
|
1871
1886
|
// Set the stencil for this one classifier.
|
|
1872
1887
|
fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
|
|
1873
|
-
this.target.pushState(this._vcBranchState);
|
|
1874
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1888
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1889
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1875
1890
|
this.target.techniques.execute(this.target, nxtCmds, 6 /* RenderPass.Classification */);
|
|
1876
1891
|
this.target.popBranch();
|
|
1877
1892
|
});
|
|
1878
1893
|
// Process the stencil. Just render the volume normally (us opaque pass), but use blending to modify the source alpha that gets written to the blend texture.
|
|
1879
1894
|
fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
|
|
1895
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1896
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1897
|
+
}
|
|
1880
1898
|
this.target.pushState(this._vcBranchState);
|
|
1881
1899
|
this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, 0.35];
|
|
1882
1900
|
this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.One, GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.Zero);
|
|
@@ -1893,6 +1911,9 @@ class Compositor extends SceneCompositor {
|
|
|
1893
1911
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1894
1912
|
this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1895
1913
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1914
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1915
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1916
|
+
}
|
|
1896
1917
|
// For coloring the inside by element color we will draw the inside using the the classifiers themselves.
|
|
1897
1918
|
// To do this we need to first clear our Alt-Z. The shader will then test and write Z and will discard
|
|
1898
1919
|
// anything that is in front of the reality model by reading the Z texture from the standard Z buffer (which has the reality mesh Z's in it).
|
|
@@ -1908,7 +1929,7 @@ class Compositor extends SceneCompositor {
|
|
|
1908
1929
|
System.instance.applyRenderState(this._vcColorRenderState);
|
|
1909
1930
|
System.instance.context.clearDepth(1.0);
|
|
1910
1931
|
System.instance.context.clear(GL.BufferBit.Depth);
|
|
1911
|
-
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ
|
|
1932
|
+
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
|
|
1912
1933
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1913
1934
|
this.target.activeVolumeClassifierTexture = undefined;
|
|
1914
1935
|
this._vcColorRenderState.flags.depthTest = false;
|
|
@@ -1932,8 +1953,8 @@ class Compositor extends SceneCompositor {
|
|
|
1932
1953
|
if (!doColorByElement && cmdsSelected.length > 0 && insideFlags !== SpatialClassifierInsideDisplay.Hilite) { // assume selected ones are always hilited
|
|
1933
1954
|
// Set the stencil using just the hilited volume classifiers.
|
|
1934
1955
|
fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
|
|
1935
|
-
this.target.pushState(this._vcBranchState);
|
|
1936
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1956
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1957
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1937
1958
|
if (needAltZ) {
|
|
1938
1959
|
// If we are using the alternate Z then the stencil that goes with the original Z has not been cleared yet, so clear it here.
|
|
1939
1960
|
System.instance.context.clearStencil(0);
|
|
@@ -1944,9 +1965,15 @@ class Compositor extends SceneCompositor {
|
|
|
1944
1965
|
});
|
|
1945
1966
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1946
1967
|
this._fbos.altZOnly.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1968
|
+
if (undefined === this._fbos.volClassCreateBlend) {
|
|
1969
|
+
throw new Error("this._fbos.volClassCreateBlend is undefined");
|
|
1970
|
+
}
|
|
1947
1971
|
fbStack.execute(this._fbos.volClassCreateBlend, false, this.useMsBuffers, () => {
|
|
1972
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1973
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1974
|
+
}
|
|
1948
1975
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Selected;
|
|
1949
|
-
this._geom.volClassSetBlend.texture = this._vcAltDepthStencil
|
|
1976
|
+
this._geom.volClassSetBlend.texture = expectDefined(this._vcAltDepthStencil?.getHandle()); // need to attach the alt depth instead of the real one since it is bound to the frame buffer
|
|
1950
1977
|
this.target.pushState(this.target.decorationsState);
|
|
1951
1978
|
this._vcColorRenderState.flags.blend = false;
|
|
1952
1979
|
System.instance.applyRenderState(this._vcColorRenderState);
|
|
@@ -1962,6 +1989,9 @@ class Compositor extends SceneCompositor {
|
|
|
1962
1989
|
volClassBlendFbo.blitMsBuffersToTextures(false); // make sure the volClassBlend texture that we are about to read has been blitted
|
|
1963
1990
|
}
|
|
1964
1991
|
fbStack.execute(fboColorAndZ, false, this.useMsBuffers, () => {
|
|
1992
|
+
if (undefined === this._vcBlendRenderState || undefined === this._geom.volClassBlend) {
|
|
1993
|
+
throw new Error("this._vcBlendRenderState or this._geom.volClassBlend is undefined");
|
|
1994
|
+
}
|
|
1965
1995
|
this.target.pushState(this.target.decorationsState);
|
|
1966
1996
|
this._vcBlendRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.SrcAlpha, GL.BlendFactor.Zero, GL.BlendFactor.OneMinusSrcAlpha, GL.BlendFactor.One);
|
|
1967
1997
|
System.instance.applyRenderState(this._vcBlendRenderState);
|
|
@@ -1976,13 +2006,16 @@ class Compositor extends SceneCompositor {
|
|
|
1976
2006
|
if (undefined !== flashedClassifierCmds && !doColorByElement) {
|
|
1977
2007
|
// Set the stencil for this one classifier.
|
|
1978
2008
|
fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
|
|
1979
|
-
this.target.pushState(this._vcBranchState);
|
|
1980
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
2009
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
2010
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1981
2011
|
this.target.techniques.executeForIndexedClassifier(this.target, flashedClassifierCmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1982
2012
|
this.target.popBranch();
|
|
1983
2013
|
});
|
|
1984
2014
|
// Process the stencil to flash the contents.
|
|
1985
2015
|
fbStack.execute(fboColorAndZ, true, this.useMsBuffers, () => {
|
|
2016
|
+
if (undefined === this._vcColorRenderState || undefined === this._geom.volClassColorStencil) {
|
|
2017
|
+
throw new Error("this._vcColorRenderState or this._geom.volClassColorStencil is undefined");
|
|
2018
|
+
}
|
|
1986
2019
|
this.target.pushState(this.target.decorationsState);
|
|
1987
2020
|
this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, this.target.flashIntensity * 0.2];
|
|
1988
2021
|
this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.One, GL.BlendFactor.One);
|
|
@@ -1995,7 +2028,7 @@ class Compositor extends SceneCompositor {
|
|
|
1995
2028
|
}
|
|
1996
2029
|
renderHilite(commands) {
|
|
1997
2030
|
const system = System.instance;
|
|
1998
|
-
system.frameBufferStack.execute(this._fbos.hilite, true, false, () => {
|
|
2031
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hilite), true, false, () => {
|
|
1999
2032
|
// Clear the hilite buffer.
|
|
2000
2033
|
system.context.clearColor(0, 0, 0, 0);
|
|
2001
2034
|
system.context.clear(GL.BufferBit.Color);
|
|
@@ -2005,7 +2038,7 @@ class Compositor extends SceneCompositor {
|
|
|
2005
2038
|
// Process planar classifiers
|
|
2006
2039
|
const planarClassifierCmds = commands.getCommands(18 /* RenderPass.HilitePlanarClassification */);
|
|
2007
2040
|
if (0 !== planarClassifierCmds.length) {
|
|
2008
|
-
system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
|
|
2041
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
|
|
2009
2042
|
system.applyRenderState(this._opaqueRenderState);
|
|
2010
2043
|
this.target.techniques.execute(this.target, planarClassifierCmds, 18 /* RenderPass.HilitePlanarClassification */);
|
|
2011
2044
|
});
|
|
@@ -2014,22 +2047,22 @@ class Compositor extends SceneCompositor {
|
|
|
2014
2047
|
const vcHiliteCmds = commands.getCommands(16 /* RenderPass.HiliteClassification */);
|
|
2015
2048
|
if (0 !== vcHiliteCmds.length && undefined !== this._vcBranchState) {
|
|
2016
2049
|
// Set the stencil for the given classifier stencil volume.
|
|
2017
|
-
system.frameBufferStack.execute(this._fbos.stencilSet, false, false, () => {
|
|
2018
|
-
this.target.pushState(this._vcBranchState);
|
|
2019
|
-
system.applyRenderState(this._vcSetStencilRenderState);
|
|
2050
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, false, () => {
|
|
2051
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
2052
|
+
system.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
2020
2053
|
this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
|
|
2021
2054
|
this.target.popBranch();
|
|
2022
2055
|
});
|
|
2023
2056
|
// Process the stencil for the hilite data.
|
|
2024
|
-
system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
|
|
2025
|
-
system.applyRenderState(this._vcPickDataRenderState);
|
|
2057
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
|
|
2058
|
+
system.applyRenderState(expectDefined(this._vcPickDataRenderState));
|
|
2026
2059
|
this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
|
|
2027
2060
|
});
|
|
2028
2061
|
}
|
|
2029
2062
|
}
|
|
2030
2063
|
composite() {
|
|
2031
2064
|
System.instance.applyRenderState(RenderState.defaults);
|
|
2032
|
-
const params = getDrawParams(this.target, this._geom.composite);
|
|
2065
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.composite));
|
|
2033
2066
|
this.target.techniques.draw(params);
|
|
2034
2067
|
}
|
|
2035
2068
|
getRenderState(pass) {
|