@itwin/core-frontend 5.1.2 → 5.2.0-dev.10
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 +1 -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 +2 -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.js +3 -3
- package/lib/cjs/PlanarClipMaskState.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/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 +1 -1
- 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/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 +2 -2
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js +1 -1
- 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.js +4 -4
- 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/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.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js +7 -7
- 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/SceneCompositor.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js +115 -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 +10 -7
- 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/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/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/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 +54 -16
- 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/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 +4 -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.js +3 -3
- package/lib/esm/PlanarClipMaskState.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/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 +1 -1
- 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/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 +3 -3
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js +1 -1
- 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.js +5 -5
- 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/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.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js +8 -8
- 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/SceneCompositor.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js +116 -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 +11 -8
- 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/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/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/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 +55 -17
- 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/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +20 -20
|
@@ -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,6 +358,9 @@ class FrameBuffers {
|
|
|
358
358
|
if (undefined === boundColor)
|
|
359
359
|
return;
|
|
360
360
|
if (undefined === this.stencilSet) {
|
|
361
|
+
if (undefined === textures.volClassBlend || undefined === textures.volClassBlendMsBuff) {
|
|
362
|
+
throw new Error("Volume classifier blend texture is not defined.");
|
|
363
|
+
}
|
|
361
364
|
if (undefined !== depthMS) { // if multisampling use the multisampled depth everywhere
|
|
362
365
|
this.stencilSet = FrameBuffer.create([], depth, [], [], depthMS);
|
|
363
366
|
this.altZOnly = FrameBuffer.create([], volClassDepth, [], [], volClassDepthMS);
|
|
@@ -483,25 +486,25 @@ class Geometry {
|
|
|
483
486
|
}
|
|
484
487
|
init(textures) {
|
|
485
488
|
assert(undefined === this.composite);
|
|
486
|
-
this.composite = CompositeGeometry.createGeometry(textures.color
|
|
489
|
+
this.composite = CompositeGeometry.createGeometry(expectDefined(textures.color?.getHandle()), expectDefined(textures.accumulation?.getHandle()), expectDefined(textures.revealage?.getHandle()), expectDefined(textures.hilite?.getHandle()));
|
|
487
490
|
if (undefined === this.composite)
|
|
488
491
|
return false;
|
|
489
492
|
assert(undefined === this.copyPickBuffers);
|
|
490
|
-
this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(textures.featureId
|
|
493
|
+
this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(expectDefined(textures.featureId?.getHandle()), expectDefined(textures.depthAndOrder?.getHandle()));
|
|
491
494
|
this.clearTranslucent = ViewportQuadGeometry.create(16 /* TechniqueId.OITClearTranslucent */);
|
|
492
495
|
this.clearPickAndColor = ViewportQuadGeometry.create(21 /* TechniqueId.ClearPickAndColor */);
|
|
493
496
|
return undefined !== this.copyPickBuffers && undefined !== this.clearTranslucent && undefined !== this.clearPickAndColor;
|
|
494
497
|
}
|
|
495
498
|
enableOcclusion(textures, depth) {
|
|
496
499
|
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);
|
|
500
|
+
expectDefined(this.composite).occlusion = textures.occlusion.getHandle();
|
|
501
|
+
this.occlusion = AmbientOcclusionGeometry.createGeometry(expectDefined(textures.depthAndOrder.getHandle()), expectDefined(depth.getHandle()));
|
|
502
|
+
this.occlusionXBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusion.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), undefined, new Vector2d(1.0, 0.0), BlurType.NoTest);
|
|
500
503
|
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);
|
|
504
|
+
this.occlusionYBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusionBlur.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), depthAndOrderHidden, new Vector2d(0.0, 1.0), BlurType.TestOrder);
|
|
502
505
|
}
|
|
503
506
|
disableOcclusion() {
|
|
504
|
-
this.composite.occlusion = undefined;
|
|
507
|
+
expectDefined(this.composite).occlusion = undefined;
|
|
505
508
|
this.occlusion = dispose(this.occlusion);
|
|
506
509
|
this.occlusionXBlur = dispose(this.occlusionXBlur);
|
|
507
510
|
this.occlusionYBlur = dispose(this.occlusionYBlur);
|
|
@@ -509,9 +512,9 @@ class Geometry {
|
|
|
509
512
|
enableVolumeClassifier(textures, depth) {
|
|
510
513
|
assert(undefined === this.volClassColorStencil && undefined === this.volClassCopyZ && undefined === this.volClassSetBlend && undefined === this.volClassBlend);
|
|
511
514
|
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
|
|
515
|
+
this.volClassCopyZ = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(depth.getHandle()), 31 /* TechniqueId.VolClassCopyZ */);
|
|
516
|
+
this.volClassSetBlend = VolumeClassifierGeometry.createVCGeometry(expectDefined(depth.getHandle()));
|
|
517
|
+
this.volClassBlend = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(textures.volClassBlend?.getHandle()), 33 /* TechniqueId.VolClassBlend */);
|
|
515
518
|
return undefined !== this.volClassColorStencil && undefined !== this.volClassCopyZ && undefined !== this.volClassSetBlend && undefined !== this.volClassBlend;
|
|
516
519
|
}
|
|
517
520
|
disableVolumeClassifier() {
|
|
@@ -795,7 +798,7 @@ class Compositor extends SceneCompositor {
|
|
|
795
798
|
forceBufferChange() { this._width = this._height = -1; }
|
|
796
799
|
get featureIds() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 0 : 1); }
|
|
797
800
|
get depthAndOrder() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 1 : 2); }
|
|
798
|
-
get _samplerFbo() { return this._readPickDataFromPingPong ? this._fbos.pingPong : this._fbos.opaqueAll; }
|
|
801
|
+
get _samplerFbo() { return this._readPickDataFromPingPong ? expectDefined(this._fbos.pingPong) : expectDefined(this._fbos.opaqueAll); }
|
|
799
802
|
getSamplerTexture(index) { return this._samplerFbo.getColor(index); }
|
|
800
803
|
drawPrimitive(primitive, exec, outputsToPick) {
|
|
801
804
|
if ((outputsToPick && this._primitiveDrawState !== PrimitiveDrawState.NonPickable) ||
|
|
@@ -803,14 +806,14 @@ class Compositor extends SceneCompositor {
|
|
|
803
806
|
primitive.draw(exec);
|
|
804
807
|
}
|
|
805
808
|
clearOpaque(needComposite) {
|
|
806
|
-
const fbo = needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll;
|
|
809
|
+
const fbo = needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll);
|
|
807
810
|
const system = System.instance;
|
|
808
811
|
system.frameBufferStack.execute(fbo, true, this.useMsBuffers, () => {
|
|
809
812
|
// Clear pick data buffers to 0's and color buffer to background color
|
|
810
813
|
// (0,0,0,0) in elementID0 and ElementID1 buffers indicates invalid element id
|
|
811
814
|
// (0,0,0,0) in DepthAndOrder buffer indicates render order 0 and encoded depth of 0 (= far plane)
|
|
812
815
|
system.applyRenderState(this._noDepthMaskRenderState);
|
|
813
|
-
const params = getDrawParams(this.target, this._geom.clearPickAndColor);
|
|
816
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.clearPickAndColor));
|
|
814
817
|
this.target.techniques.draw(params);
|
|
815
818
|
// Clear depth buffer
|
|
816
819
|
system.applyRenderState(RenderState.defaults); // depthMask == true.
|
|
@@ -819,7 +822,7 @@ class Compositor extends SceneCompositor {
|
|
|
819
822
|
});
|
|
820
823
|
}
|
|
821
824
|
renderLayers(commands, needComposite, pass) {
|
|
822
|
-
const fbo = (needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll);
|
|
825
|
+
const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
|
|
823
826
|
const useMsBuffers = 1 /* RenderPass.OpaqueLayers */ === pass && fbo.isMultisampled && this.useMsBuffers;
|
|
824
827
|
this._readPickDataFromPingPong = !useMsBuffers;
|
|
825
828
|
System.instance.frameBufferStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -835,7 +838,7 @@ class Compositor extends SceneCompositor {
|
|
|
835
838
|
const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
|
|
836
839
|
const fbStack = System.instance.frameBufferStack;
|
|
837
840
|
// 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);
|
|
841
|
+
let fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
|
|
839
842
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
840
843
|
this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
|
|
841
844
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -851,7 +854,7 @@ class Compositor extends SceneCompositor {
|
|
|
851
854
|
this._readPickDataFromPingPong = false;
|
|
852
855
|
// The general pass (and following) will not bother to write to pick buffers and so can read from the actual pick buffers.
|
|
853
856
|
if (!renderForReadPixels) {
|
|
854
|
-
fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
|
|
857
|
+
fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
|
|
855
858
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
856
859
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
|
|
857
860
|
this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
|
|
@@ -865,7 +868,7 @@ class Compositor extends SceneCompositor {
|
|
|
865
868
|
const fbStack = System.instance.frameBufferStack;
|
|
866
869
|
const haveHiddenEdges = 0 !== commands.getCommands(9 /* RenderPass.HiddenEdge */).length;
|
|
867
870
|
// Output the linear, planar, and pickable surfaces to color and pick data buffers.
|
|
868
|
-
let fbo = this._fbos.opaqueAndCompositeAll;
|
|
871
|
+
let fbo = expectDefined(this._fbos.opaqueAndCompositeAll);
|
|
869
872
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
870
873
|
this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
|
|
871
874
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
@@ -879,7 +882,7 @@ class Compositor extends SceneCompositor {
|
|
|
879
882
|
});
|
|
880
883
|
this._readPickDataFromPingPong = false;
|
|
881
884
|
// Output the non-pickable surfaces and hidden edges to just the color buffer.
|
|
882
|
-
fbo = this._fbos.opaqueAndCompositeColor;
|
|
885
|
+
fbo = expectDefined(this._fbos.opaqueAndCompositeColor);
|
|
883
886
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
884
887
|
this._primitiveDrawState = PrimitiveDrawState.NonPickable;
|
|
885
888
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
|
|
@@ -896,16 +899,16 @@ class Compositor extends SceneCompositor {
|
|
|
896
899
|
// 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
900
|
// First we will need to copy what's in the pick buffers so far into the hidden pick buffers.
|
|
898
901
|
System.instance.applyRenderState(this._noDepthMaskRenderState);
|
|
899
|
-
fbo = (useMsBuffers ? this._fbos.pingPongMS : this._fbos.pingPong);
|
|
902
|
+
fbo = (useMsBuffers ? expectDefined(this._fbos.pingPongMS) : expectDefined(this._fbos.pingPong));
|
|
900
903
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
901
|
-
const params = getDrawParams(this.target, this._geom.copyPickBuffers);
|
|
904
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
|
|
902
905
|
this.target.techniques.draw(params);
|
|
903
906
|
});
|
|
904
907
|
if (useMsBuffers)
|
|
905
908
|
fbo.blitMsBuffersToTextures(false, 1); // only want to blit the depth/order target
|
|
906
909
|
// Now draw the hidden edges, using an fbo which places their depth/order into the hidden pick buffers.
|
|
907
910
|
// Since we are not writing to the actual pick buffers we let this._readPickDataFromPingPong remain false.
|
|
908
|
-
fbo = this._fbos.opaqueAndCompositeAllHidden;
|
|
911
|
+
fbo = expectDefined(this._fbos.opaqueAndCompositeAllHidden);
|
|
909
912
|
this._primitiveDrawState = PrimitiveDrawState.Pickable;
|
|
910
913
|
fbStack.execute(fbo, true, useMsBuffers, () => {
|
|
911
914
|
this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
|
|
@@ -951,7 +954,7 @@ class Compositor extends SceneCompositor {
|
|
|
951
954
|
}
|
|
952
955
|
}
|
|
953
956
|
const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
|
|
954
|
-
const fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
|
|
957
|
+
const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
|
|
955
958
|
const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
|
|
956
959
|
const system = System.instance;
|
|
957
960
|
const fbStack = system.frameBufferStack;
|
|
@@ -1022,21 +1025,21 @@ class Compositor extends SceneCompositor {
|
|
|
1022
1025
|
const fbStack = System.instance.frameBufferStack;
|
|
1023
1026
|
if (renderForReadPixels || needAO) {
|
|
1024
1027
|
this._readPickDataFromPingPong = true;
|
|
1025
|
-
fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll, true, this.useMsBuffers, () => {
|
|
1028
|
+
fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll), true, this.useMsBuffers, () => {
|
|
1026
1029
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, true, 20 /* RenderPass.VolumeClassifiedRealityData */);
|
|
1027
1030
|
});
|
|
1028
1031
|
}
|
|
1029
1032
|
else {
|
|
1030
1033
|
this._readPickDataFromPingPong = false;
|
|
1031
|
-
fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor, true, this.useMsBuffers, () => {
|
|
1034
|
+
fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
|
|
1032
1035
|
this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false, 20 /* RenderPass.VolumeClassifiedRealityData */);
|
|
1033
1036
|
});
|
|
1034
1037
|
}
|
|
1035
1038
|
}
|
|
1036
1039
|
renderIndexedClassifierForReadPixels(cmds, state, renderForIntersectingVolumes, needComposite) {
|
|
1037
1040
|
this._readPickDataFromPingPong = true;
|
|
1038
|
-
const fbo = (renderForIntersectingVolumes ? (needComposite ? this._fbos.idsAndZComposite : this._fbos.idsAndZ)
|
|
1039
|
-
: (needComposite ? this._fbos.idsAndAltZComposite : this._fbos.idsAndAltZ));
|
|
1041
|
+
const fbo = (renderForIntersectingVolumes ? (needComposite ? expectDefined(this._fbos.idsAndZComposite) : expectDefined(this._fbos.idsAndZ))
|
|
1042
|
+
: (needComposite ? expectDefined(this._fbos.idsAndAltZComposite) : expectDefined(this._fbos.idsAndAltZ)));
|
|
1040
1043
|
System.instance.frameBufferStack.execute(fbo, true, false, () => {
|
|
1041
1044
|
System.instance.applyRenderState(state);
|
|
1042
1045
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
@@ -1045,29 +1048,29 @@ class Compositor extends SceneCompositor {
|
|
|
1045
1048
|
}
|
|
1046
1049
|
clearTranslucent() {
|
|
1047
1050
|
System.instance.applyRenderState(this._noDepthMaskRenderState);
|
|
1048
|
-
System.instance.frameBufferStack.execute(this._fbos.clearTranslucent, true, false, () => {
|
|
1049
|
-
const params = getDrawParams(this.target, this._geom.clearTranslucent);
|
|
1051
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.clearTranslucent), true, false, () => {
|
|
1052
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.clearTranslucent));
|
|
1050
1053
|
this.target.techniques.draw(params);
|
|
1051
1054
|
});
|
|
1052
1055
|
}
|
|
1053
1056
|
renderTranslucent(commands) {
|
|
1054
|
-
System.instance.frameBufferStack.execute(this._fbos.translucent, true, false, () => {
|
|
1057
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.translucent), true, false, () => {
|
|
1055
1058
|
this.drawPass(commands, 8 /* RenderPass.Translucent */);
|
|
1056
1059
|
});
|
|
1057
1060
|
}
|
|
1058
1061
|
getBackgroundFbo(needComposite) {
|
|
1059
|
-
return needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor;
|
|
1062
|
+
return needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor);
|
|
1060
1063
|
}
|
|
1061
1064
|
pingPong() {
|
|
1062
|
-
if (this._fbos.opaqueAll.isMultisampled && this.useMsBuffers) {
|
|
1065
|
+
if (expectDefined(this._fbos.opaqueAll).isMultisampled && this.useMsBuffers) {
|
|
1063
1066
|
// 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
|
|
1067
|
+
this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 1);
|
|
1068
|
+
this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 2);
|
|
1066
1069
|
}
|
|
1067
1070
|
else {
|
|
1068
1071
|
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);
|
|
1072
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.pingPong), true, this.useMsBuffers, () => {
|
|
1073
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
|
|
1071
1074
|
this.target.techniques.draw(params);
|
|
1072
1075
|
});
|
|
1073
1076
|
}
|
|
@@ -1084,29 +1087,29 @@ class Compositor extends SceneCompositor {
|
|
|
1084
1087
|
renderAmbientOcclusion() {
|
|
1085
1088
|
const system = System.instance;
|
|
1086
1089
|
// Render unblurred ambient occlusion based on depth buffer
|
|
1087
|
-
let fbo = this._fbos.occlusion;
|
|
1090
|
+
let fbo = expectDefined(this._fbos.occlusion);
|
|
1088
1091
|
this.target.beginPerfMetricRecord("Compute AO");
|
|
1089
1092
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1090
1093
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1091
|
-
const params = getDrawParams(this.target, this._geom.occlusion);
|
|
1094
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusion));
|
|
1092
1095
|
this.target.techniques.draw(params);
|
|
1093
1096
|
});
|
|
1094
1097
|
this.target.endPerfMetricRecord();
|
|
1095
1098
|
// Render the X-blurred ambient occlusion based on unblurred ambient occlusion
|
|
1096
|
-
fbo = this._fbos.occlusionBlur;
|
|
1099
|
+
fbo = expectDefined(this._fbos.occlusionBlur);
|
|
1097
1100
|
this.target.beginPerfMetricRecord("Blur AO X");
|
|
1098
1101
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1099
1102
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1100
|
-
const params = getDrawParams(this.target, this._geom.occlusionXBlur);
|
|
1103
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusionXBlur));
|
|
1101
1104
|
this.target.techniques.draw(params);
|
|
1102
1105
|
});
|
|
1103
1106
|
this.target.endPerfMetricRecord();
|
|
1104
1107
|
// Render the Y-blurred ambient occlusion based on X-blurred ambient occlusion (render into original occlusion framebuffer)
|
|
1105
|
-
fbo = this._fbos.occlusion;
|
|
1108
|
+
fbo = expectDefined(this._fbos.occlusion);
|
|
1106
1109
|
this.target.beginPerfMetricRecord("Blur AO Y");
|
|
1107
1110
|
system.frameBufferStack.execute(fbo, true, false, () => {
|
|
1108
1111
|
System.instance.applyRenderState(RenderState.defaults);
|
|
1109
|
-
const params = getDrawParams(this.target, this._geom.occlusionYBlur);
|
|
1112
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.occlusionYBlur));
|
|
1110
1113
|
this.target.techniques.draw(params);
|
|
1111
1114
|
});
|
|
1112
1115
|
this.target.endPerfMetricRecord();
|
|
@@ -1208,11 +1211,11 @@ class Compositor extends SceneCompositor {
|
|
|
1208
1211
|
assert(false, "Failed to initialize occlusion textures");
|
|
1209
1212
|
return false;
|
|
1210
1213
|
}
|
|
1211
|
-
if (!this._fbos.enableOcclusion(this._textures, this._depth, this._depthMS)) {
|
|
1214
|
+
if (!this._fbos.enableOcclusion(this._textures, expectDefined(this._depth), this._depthMS)) {
|
|
1212
1215
|
assert(false, "Failed to initialize occlusion frame buffers");
|
|
1213
1216
|
return false;
|
|
1214
1217
|
}
|
|
1215
|
-
this._geom.enableOcclusion(this._textures, this._depth);
|
|
1218
|
+
this._geom.enableOcclusion(this._textures, expectDefined(this._depth));
|
|
1216
1219
|
}
|
|
1217
1220
|
else {
|
|
1218
1221
|
this._geom.disableOcclusion();
|
|
@@ -1230,9 +1233,9 @@ class Compositor extends SceneCompositor {
|
|
|
1230
1233
|
return false;
|
|
1231
1234
|
if (!this._textures.enableVolumeClassifier(width, height, this._antialiasSamples))
|
|
1232
1235
|
return false;
|
|
1233
|
-
if (!this._geom.enableVolumeClassifier(this._textures, this._depth))
|
|
1236
|
+
if (!this._geom.enableVolumeClassifier(this._textures, expectDefined(this._depth)))
|
|
1234
1237
|
return false;
|
|
1235
|
-
this.enableVolumeClassifierFbos(this._textures, this._depth, this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
|
|
1238
|
+
this.enableVolumeClassifierFbos(this._textures, expectDefined(this._depth), this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
|
|
1236
1239
|
this._haveVolumeClassifier = true;
|
|
1237
1240
|
}
|
|
1238
1241
|
else {
|
|
@@ -1313,7 +1316,7 @@ class Compositor extends SceneCompositor {
|
|
|
1313
1316
|
this.renderLayers(commands, needComposite, 7 /* RenderPass.TranslucentLayers */);
|
|
1314
1317
|
this.target.endPerfMetricRecord();
|
|
1315
1318
|
if (needComposite) {
|
|
1316
|
-
this._geom.composite.update(compositeFlags);
|
|
1319
|
+
expectDefined(this._geom.composite).update(compositeFlags);
|
|
1317
1320
|
this.target.beginPerfMetricRecord("Render Translucent");
|
|
1318
1321
|
this.clearTranslucent();
|
|
1319
1322
|
this.renderTranslucent(commands);
|
|
@@ -1391,7 +1394,7 @@ class Compositor extends SceneCompositor {
|
|
|
1391
1394
|
// (If *only* overlays exist, then clearOpaque() above already took care of this).
|
|
1392
1395
|
if (haveRenderCommands) {
|
|
1393
1396
|
const system = System.instance;
|
|
1394
|
-
system.frameBufferStack.execute(this._fbos.opaqueColor, true, this.useMsBuffers, () => {
|
|
1397
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
|
|
1395
1398
|
system.applyRenderState(RenderState.defaults);
|
|
1396
1399
|
system.context.clearDepth(1.0);
|
|
1397
1400
|
system.context.clear(GL.BufferBit.Depth);
|
|
@@ -1668,14 +1671,14 @@ class Compositor extends SceneCompositor {
|
|
|
1668
1671
|
}
|
|
1669
1672
|
renderIndexedVolumeClassifier(cmdsByIndex, needComposite) {
|
|
1670
1673
|
// 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);
|
|
1674
|
+
System.instance.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, this.useMsBuffers, () => {
|
|
1675
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1676
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1674
1677
|
this.target.techniques.executeForIndexedClassifier(this.target, cmdsByIndex, 6 /* RenderPass.Classification */);
|
|
1675
1678
|
this.target.popBranch();
|
|
1676
1679
|
});
|
|
1677
1680
|
// Process the stencil for the pick data.
|
|
1678
|
-
this.renderIndexedClassifierForReadPixels(cmdsByIndex, this._vcPickDataRenderState, true, needComposite);
|
|
1681
|
+
this.renderIndexedClassifierForReadPixels(cmdsByIndex, expectDefined(this._vcPickDataRenderState), true, needComposite);
|
|
1679
1682
|
}
|
|
1680
1683
|
renderVolumeClassification(commands, compositeFlags, renderForReadPixels) {
|
|
1681
1684
|
// Sometimes we need to render the classifier stencil volumes one at a time, if so draw them from the cmdsByIndex list
|
|
@@ -1713,8 +1716,8 @@ class Compositor extends SceneCompositor {
|
|
|
1713
1716
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1714
1717
|
}
|
|
1715
1718
|
else {
|
|
1716
|
-
this.target.pushState(this._vcBranchState);
|
|
1717
|
-
System.instance.applyRenderState(this._vcDebugRenderState);
|
|
1719
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1720
|
+
System.instance.applyRenderState(expectDefined(this._vcDebugRenderState));
|
|
1718
1721
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1719
1722
|
this.target.popBranch();
|
|
1720
1723
|
}
|
|
@@ -1742,7 +1745,7 @@ class Compositor extends SceneCompositor {
|
|
|
1742
1745
|
const needAltZ = (doColorByElement && !doColorByElementForIntersectingVolumes) || needOutsideDraw;
|
|
1743
1746
|
let zOnlyFbo = this._fbos.stencilSet;
|
|
1744
1747
|
let volClassBlendFbo = this._fbos.volClassCreateBlend;
|
|
1745
|
-
let volClassBlendReadZTexture = this._vcAltDepthStencil
|
|
1748
|
+
let volClassBlendReadZTexture = expectDefined(this._vcAltDepthStencil?.getHandle());
|
|
1746
1749
|
let volClassBlendReadZTextureFbo = this._fbos.altZOnly;
|
|
1747
1750
|
if (!needAltZ) {
|
|
1748
1751
|
// Initialize the blend texture and the stencil.
|
|
@@ -1759,15 +1762,15 @@ class Compositor extends SceneCompositor {
|
|
|
1759
1762
|
zOnlyFbo = this._fbos.altZOnly;
|
|
1760
1763
|
volClassBlendFbo = this._fbos.volClassCreateBlendAltZ;
|
|
1761
1764
|
assert(undefined !== volClassBlendFbo);
|
|
1762
|
-
volClassBlendReadZTexture = this._depth
|
|
1765
|
+
volClassBlendReadZTexture = expectDefined(this._depth?.getHandle());
|
|
1763
1766
|
volClassBlendReadZTextureFbo = this._fbos.stencilSet;
|
|
1764
1767
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1765
1768
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1766
1769
|
// Copy the current Z into the Alt-Z. At the same time go ahead and clear the stencil and the blend texture.
|
|
1767
1770
|
fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
|
|
1768
1771
|
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
|
|
1772
|
+
System.instance.applyRenderState(expectDefined(this._vcCopyZRenderState));
|
|
1773
|
+
this.target.techniques.draw(getDrawParams(this.target, expectDefined(this._geom.volClassCopyZ))); // This method uses the EXT_frag_depth extension
|
|
1771
1774
|
System.instance.bindTexture2d(TextureUnit.Zero, undefined);
|
|
1772
1775
|
this.target.popBranch();
|
|
1773
1776
|
});
|
|
@@ -1775,26 +1778,29 @@ class Compositor extends SceneCompositor {
|
|
|
1775
1778
|
if (renderForReadPixels) {
|
|
1776
1779
|
// Set the stencil for all of the classifier volumes.
|
|
1777
1780
|
System.instance.frameBufferStack.execute(this._fbos.altZOnly, false, this.useMsBuffers, () => {
|
|
1778
|
-
this.target.pushState(this._vcBranchState);
|
|
1779
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1781
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1782
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1780
1783
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1781
1784
|
// 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);
|
|
1785
|
+
expectDefined(this._vcSetStencilRenderState).flags.depthMask = true;
|
|
1786
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1784
1787
|
System.instance.context.clearDepth(1.0);
|
|
1785
1788
|
System.instance.context.clear(GL.BufferBit.Depth);
|
|
1786
|
-
this._vcSetStencilRenderState.flags.depthMask = false;
|
|
1789
|
+
expectDefined(this._vcSetStencilRenderState).flags.depthMask = false;
|
|
1787
1790
|
this.target.popBranch();
|
|
1788
1791
|
System.instance.bindTexture2d(TextureUnit.Two, undefined);
|
|
1789
1792
|
System.instance.bindTexture2d(TextureUnit.Five, undefined);
|
|
1790
1793
|
});
|
|
1794
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1795
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1796
|
+
}
|
|
1791
1797
|
this.target.pushState(this._vcBranchState);
|
|
1792
1798
|
this._vcColorRenderState.flags.depthTest = true;
|
|
1793
1799
|
this._vcColorRenderState.flags.depthMask = true;
|
|
1794
1800
|
this._vcColorRenderState.flags.cull = true;
|
|
1795
1801
|
this._vcColorRenderState.flags.blend = false;
|
|
1796
1802
|
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
|
|
1803
|
+
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
|
|
1798
1804
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1799
1805
|
this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1800
1806
|
this.renderIndexedClassifierForReadPixels(cmds, this._vcColorRenderState, false, needComposite);
|
|
@@ -1814,8 +1820,8 @@ class Compositor extends SceneCompositor {
|
|
|
1814
1820
|
// 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
1821
|
// 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
1822
|
fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
|
|
1817
|
-
this.target.pushState(this._vcBranchState);
|
|
1818
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1823
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1824
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1819
1825
|
this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
|
|
1820
1826
|
this.target.popBranch();
|
|
1821
1827
|
System.instance.bindTexture2d(TextureUnit.Two, undefined);
|
|
@@ -1826,6 +1832,9 @@ class Compositor extends SceneCompositor {
|
|
|
1826
1832
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1827
1833
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1828
1834
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1835
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1836
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1837
|
+
}
|
|
1829
1838
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Outside;
|
|
1830
1839
|
this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
|
|
1831
1840
|
this.target.pushState(this.target.decorationsState);
|
|
@@ -1852,6 +1861,9 @@ class Compositor extends SceneCompositor {
|
|
|
1852
1861
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1853
1862
|
volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1854
1863
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1864
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1865
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1866
|
+
}
|
|
1855
1867
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Inside;
|
|
1856
1868
|
this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
|
|
1857
1869
|
this.target.pushState(this.target.decorationsState);
|
|
@@ -1870,13 +1882,16 @@ class Compositor extends SceneCompositor {
|
|
|
1870
1882
|
const nxtCmds = cmdsByIndex.slice(i, i + numCmdsPerClassifier);
|
|
1871
1883
|
// Set the stencil for this one classifier.
|
|
1872
1884
|
fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
|
|
1873
|
-
this.target.pushState(this._vcBranchState);
|
|
1874
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1885
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1886
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1875
1887
|
this.target.techniques.execute(this.target, nxtCmds, 6 /* RenderPass.Classification */);
|
|
1876
1888
|
this.target.popBranch();
|
|
1877
1889
|
});
|
|
1878
1890
|
// 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
1891
|
fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
|
|
1892
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1893
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1894
|
+
}
|
|
1880
1895
|
this.target.pushState(this._vcBranchState);
|
|
1881
1896
|
this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, 0.35];
|
|
1882
1897
|
this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.One, GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.Zero);
|
|
@@ -1893,6 +1908,9 @@ class Compositor extends SceneCompositor {
|
|
|
1893
1908
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1894
1909
|
this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1895
1910
|
fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
|
|
1911
|
+
if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
|
|
1912
|
+
throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
|
|
1913
|
+
}
|
|
1896
1914
|
// For coloring the inside by element color we will draw the inside using the the classifiers themselves.
|
|
1897
1915
|
// To do this we need to first clear our Alt-Z. The shader will then test and write Z and will discard
|
|
1898
1916
|
// 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 +1926,7 @@ class Compositor extends SceneCompositor {
|
|
|
1908
1926
|
System.instance.applyRenderState(this._vcColorRenderState);
|
|
1909
1927
|
System.instance.context.clearDepth(1.0);
|
|
1910
1928
|
System.instance.context.clear(GL.BufferBit.Depth);
|
|
1911
|
-
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ
|
|
1929
|
+
this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
|
|
1912
1930
|
this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1913
1931
|
this.target.activeVolumeClassifierTexture = undefined;
|
|
1914
1932
|
this._vcColorRenderState.flags.depthTest = false;
|
|
@@ -1932,8 +1950,8 @@ class Compositor extends SceneCompositor {
|
|
|
1932
1950
|
if (!doColorByElement && cmdsSelected.length > 0 && insideFlags !== SpatialClassifierInsideDisplay.Hilite) { // assume selected ones are always hilited
|
|
1933
1951
|
// Set the stencil using just the hilited volume classifiers.
|
|
1934
1952
|
fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
|
|
1935
|
-
this.target.pushState(this._vcBranchState);
|
|
1936
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
1953
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
1954
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1937
1955
|
if (needAltZ) {
|
|
1938
1956
|
// 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
1957
|
System.instance.context.clearStencil(0);
|
|
@@ -1944,9 +1962,15 @@ class Compositor extends SceneCompositor {
|
|
|
1944
1962
|
});
|
|
1945
1963
|
if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
|
|
1946
1964
|
this._fbos.altZOnly.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
|
|
1965
|
+
if (undefined === this._fbos.volClassCreateBlend) {
|
|
1966
|
+
throw new Error("this._fbos.volClassCreateBlend is undefined");
|
|
1967
|
+
}
|
|
1947
1968
|
fbStack.execute(this._fbos.volClassCreateBlend, false, this.useMsBuffers, () => {
|
|
1969
|
+
if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
|
|
1970
|
+
throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
|
|
1971
|
+
}
|
|
1948
1972
|
this._geom.volClassSetBlend.boundaryType = BoundaryType.Selected;
|
|
1949
|
-
this._geom.volClassSetBlend.texture = this._vcAltDepthStencil
|
|
1973
|
+
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
1974
|
this.target.pushState(this.target.decorationsState);
|
|
1951
1975
|
this._vcColorRenderState.flags.blend = false;
|
|
1952
1976
|
System.instance.applyRenderState(this._vcColorRenderState);
|
|
@@ -1962,6 +1986,9 @@ class Compositor extends SceneCompositor {
|
|
|
1962
1986
|
volClassBlendFbo.blitMsBuffersToTextures(false); // make sure the volClassBlend texture that we are about to read has been blitted
|
|
1963
1987
|
}
|
|
1964
1988
|
fbStack.execute(fboColorAndZ, false, this.useMsBuffers, () => {
|
|
1989
|
+
if (undefined === this._vcBlendRenderState || undefined === this._geom.volClassBlend) {
|
|
1990
|
+
throw new Error("this._vcBlendRenderState or this._geom.volClassBlend is undefined");
|
|
1991
|
+
}
|
|
1965
1992
|
this.target.pushState(this.target.decorationsState);
|
|
1966
1993
|
this._vcBlendRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.SrcAlpha, GL.BlendFactor.Zero, GL.BlendFactor.OneMinusSrcAlpha, GL.BlendFactor.One);
|
|
1967
1994
|
System.instance.applyRenderState(this._vcBlendRenderState);
|
|
@@ -1976,13 +2003,16 @@ class Compositor extends SceneCompositor {
|
|
|
1976
2003
|
if (undefined !== flashedClassifierCmds && !doColorByElement) {
|
|
1977
2004
|
// Set the stencil for this one classifier.
|
|
1978
2005
|
fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
|
|
1979
|
-
this.target.pushState(this._vcBranchState);
|
|
1980
|
-
System.instance.applyRenderState(this._vcSetStencilRenderState);
|
|
2006
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
2007
|
+
System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
1981
2008
|
this.target.techniques.executeForIndexedClassifier(this.target, flashedClassifierCmds, 5 /* RenderPass.OpaqueGeneral */);
|
|
1982
2009
|
this.target.popBranch();
|
|
1983
2010
|
});
|
|
1984
2011
|
// Process the stencil to flash the contents.
|
|
1985
2012
|
fbStack.execute(fboColorAndZ, true, this.useMsBuffers, () => {
|
|
2013
|
+
if (undefined === this._vcColorRenderState || undefined === this._geom.volClassColorStencil) {
|
|
2014
|
+
throw new Error("this._vcColorRenderState or this._geom.volClassColorStencil is undefined");
|
|
2015
|
+
}
|
|
1986
2016
|
this.target.pushState(this.target.decorationsState);
|
|
1987
2017
|
this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, this.target.flashIntensity * 0.2];
|
|
1988
2018
|
this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.One, GL.BlendFactor.One);
|
|
@@ -1995,7 +2025,7 @@ class Compositor extends SceneCompositor {
|
|
|
1995
2025
|
}
|
|
1996
2026
|
renderHilite(commands) {
|
|
1997
2027
|
const system = System.instance;
|
|
1998
|
-
system.frameBufferStack.execute(this._fbos.hilite, true, false, () => {
|
|
2028
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hilite), true, false, () => {
|
|
1999
2029
|
// Clear the hilite buffer.
|
|
2000
2030
|
system.context.clearColor(0, 0, 0, 0);
|
|
2001
2031
|
system.context.clear(GL.BufferBit.Color);
|
|
@@ -2005,7 +2035,7 @@ class Compositor extends SceneCompositor {
|
|
|
2005
2035
|
// Process planar classifiers
|
|
2006
2036
|
const planarClassifierCmds = commands.getCommands(18 /* RenderPass.HilitePlanarClassification */);
|
|
2007
2037
|
if (0 !== planarClassifierCmds.length) {
|
|
2008
|
-
system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
|
|
2038
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
|
|
2009
2039
|
system.applyRenderState(this._opaqueRenderState);
|
|
2010
2040
|
this.target.techniques.execute(this.target, planarClassifierCmds, 18 /* RenderPass.HilitePlanarClassification */);
|
|
2011
2041
|
});
|
|
@@ -2014,22 +2044,22 @@ class Compositor extends SceneCompositor {
|
|
|
2014
2044
|
const vcHiliteCmds = commands.getCommands(16 /* RenderPass.HiliteClassification */);
|
|
2015
2045
|
if (0 !== vcHiliteCmds.length && undefined !== this._vcBranchState) {
|
|
2016
2046
|
// 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);
|
|
2047
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, false, () => {
|
|
2048
|
+
this.target.pushState(expectDefined(this._vcBranchState));
|
|
2049
|
+
system.applyRenderState(expectDefined(this._vcSetStencilRenderState));
|
|
2020
2050
|
this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
|
|
2021
2051
|
this.target.popBranch();
|
|
2022
2052
|
});
|
|
2023
2053
|
// Process the stencil for the hilite data.
|
|
2024
|
-
system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
|
|
2025
|
-
system.applyRenderState(this._vcPickDataRenderState);
|
|
2054
|
+
system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
|
|
2055
|
+
system.applyRenderState(expectDefined(this._vcPickDataRenderState));
|
|
2026
2056
|
this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
|
|
2027
2057
|
});
|
|
2028
2058
|
}
|
|
2029
2059
|
}
|
|
2030
2060
|
composite() {
|
|
2031
2061
|
System.instance.applyRenderState(RenderState.defaults);
|
|
2032
|
-
const params = getDrawParams(this.target, this._geom.composite);
|
|
2062
|
+
const params = getDrawParams(this.target, expectDefined(this._geom.composite));
|
|
2033
2063
|
this.target.techniques.draw(params);
|
|
2034
2064
|
}
|
|
2035
2065
|
getRenderState(pass) {
|