@itwin/core-frontend 4.1.0-dev.13 → 4.1.0-dev.14
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/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/BriefcaseTxns.js.map +1 -1
- package/lib/cjs/CategorySelectorState.js.map +1 -1
- package/lib/cjs/ChangeFlags.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/CoordSystem.js.map +1 -1
- package/lib/cjs/DecorationsCache.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js +5 -5
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
- package/lib/cjs/FlashSettings.js.map +1 -1
- package/lib/cjs/FrontendHubAccess.js.map +1 -1
- package/lib/cjs/Frustum2d.js.map +1 -1
- package/lib/cjs/FrustumAnimator.js.map +1 -1
- package/lib/cjs/FuzzySearch.js.map +1 -1
- package/lib/cjs/GeoServices.js.map +1 -1
- package/lib/cjs/GlobeAnimator.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.js +23 -23
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IModelRoutingContext.js.map +1 -1
- package/lib/cjs/IModeljs-css.js +133 -133
- package/lib/cjs/IModeljs-css.js.map +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/MarginPercent.js.map +1 -1
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelSelectorState.js.map +1 -1
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NativeAppLogger.js.map +1 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/NotificationManager.js.map +1 -1
- package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/Sprites.js.map +1 -1
- package/lib/cjs/StandardView.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/UserPreferences.js.map +1 -1
- package/lib/cjs/ViewAnimation.js.map +1 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/ViewPose.js.map +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewStatus.js.map +1 -1
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/ViewportSync.js.map +1 -1
- package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/ViewRect.js.map +1 -1
- package/lib/cjs/common/WorkerProxy.js.map +1 -1
- package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
- package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/render/AnimationNodeId.js.map +1 -1
- package/lib/cjs/common/render/MaterialParams.js.map +1 -1
- package/lib/cjs/common/render/TextureParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -1
- package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -1
- package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -1
- package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -1
- package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/Extension.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/extension/ExtensionHost.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/public/scripts/checkbrowser.js +24 -24
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/cjs/render/CanvasDecoration.js.map +1 -1
- package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
- package/lib/cjs/render/Decorations.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/FrameStats.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
- package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
- package/lib/cjs/render/MockRender.js.map +1 -1
- package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderClipVolume.js.map +1 -1
- package/lib/cjs/render/RenderGraphic.js.map +1 -1
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderPlan.js.map +1 -1
- package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/Scene.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/render/primitives/ColorMap.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
- package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
- package/lib/cjs/render/primitives/Polyface.js.map +1 -1
- package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
- package/lib/cjs/render/primitives/Primitives.js.map +1 -1
- package/lib/cjs/render/primitives/Strokes.js.map +1 -1
- package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryList.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/cjs/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeMap.js.map +1 -1
- package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/render/webgl/BatchState.js.map +1 -1
- package/lib/cjs/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/BranchStack.js.map +1 -1
- package/lib/cjs/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/ClipStack.js.map +1 -1
- package/lib/cjs/render/webgl/ClipVolume.js.map +1 -1
- package/lib/cjs/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
- package/lib/cjs/render/webgl/Diagnostics.js.map +1 -1
- package/lib/cjs/render/webgl/Disposable.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/GL.js.map +1 -1
- package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
- package/lib/cjs/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Layer.js.map +1 -1
- package/lib/cjs/render/webgl/LayerCommands.js.map +1 -1
- package/lib/cjs/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/LineCode.js.map +1 -1
- package/lib/cjs/render/webgl/Material.js.map +1 -1
- package/lib/cjs/render/webgl/Matrix.js.map +1 -1
- package/lib/cjs/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/Primitive.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/RenderState.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Sync.js.map +1 -1
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/render/webgl/TextureDrape.js.map +1 -1
- package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/cjs/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
- package/lib/cjs/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Animation.js +83 -83
- package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Blur.js +37 -37
- package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +4 -4
- package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/cjs/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Clipping.js +60 -60
- package/lib/cjs/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Color.js +12 -12
- package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/cjs/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/cjs/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Common.js +16 -16
- package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Composite.js +71 -71
- package/lib/cjs/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Decode.js +65 -65
- package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EDL.js +103 -103
- package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.js +146 -146
- package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +232 -232
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js +41 -41
- package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Instancing.js +21 -21
- package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Lighting.js +92 -92
- package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/cjs/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js +9 -9
- package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js +213 -213
- package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +83 -83
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/cjs/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +239 -239
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Thematic.js +134 -134
- package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Translucency.js +19 -19
- package/lib/cjs/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Vertex.js +73 -73
- package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Viewport.js +38 -38
- package/lib/cjs/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/cjs/render-primitives.js.map +1 -1
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/tile/ContextShareProvider.js.map +1 -1
- package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/GraphicsCollector.js.map +1 -1
- package/lib/cjs/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/tile/ImdlParser.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/LRUTileList.js.map +1 -1
- package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/cjs/tile/PntsReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileContent.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
- package/lib/cjs/tile/TileParams.js.map +1 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/TileStorage.js.map +1 -1
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
- package/lib/cjs/tile/TileTreeParams.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
- package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
- package/lib/cjs/tile/TileUser.js.map +1 -1
- package/lib/cjs/tile/TileUserSet.js.map +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +2 -2
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/tile/map/WmsUtilities.js.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/EditManipulator.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/EventController.js.map +1 -1
- package/lib/cjs/tools/IdleTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolAssistance.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/webgl.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -40
- package/lib/cjs/workers/RegisterWorker.js.map +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/BriefcaseTxns.js.map +1 -1
- package/lib/esm/CategorySelectorState.js.map +1 -1
- package/lib/esm/ChangeFlags.js.map +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/CoordSystem.js.map +1 -1
- package/lib/esm/DecorationsCache.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js +5 -5
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FeatureOverrideProvider.js.map +1 -1
- package/lib/esm/FlashSettings.js.map +1 -1
- package/lib/esm/FrontendHubAccess.js.map +1 -1
- package/lib/esm/Frustum2d.js.map +1 -1
- package/lib/esm/FrustumAnimator.js.map +1 -1
- package/lib/esm/FuzzySearch.js.map +1 -1
- package/lib/esm/GeoServices.js.map +1 -1
- package/lib/esm/GlobeAnimator.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.js +23 -23
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IModelRoutingContext.js.map +1 -1
- package/lib/esm/IModeljs-css.js +133 -133
- package/lib/esm/IModeljs-css.js.map +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LinePlaneIntersect.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/MarginPercent.js.map +1 -1
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelSelectorState.js.map +1 -1
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NativeAppLogger.js.map +1 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/NotificationManager.js.map +1 -1
- package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/Sprites.js.map +1 -1
- package/lib/esm/StandardView.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/UserPreferences.js.map +1 -1
- package/lib/esm/ViewAnimation.js.map +1 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewGlobalLocation.js.map +1 -1
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/ViewPose.js.map +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewStatus.js.map +1 -1
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/ViewportSync.js.map +1 -1
- package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/common/ImageUtil.js.map +1 -1
- package/lib/esm/common/ViewRect.js.map +1 -1
- package/lib/esm/common/WorkerProxy.js.map +1 -1
- package/lib/esm/common/gltf/GltfModel.js.map +1 -1
- package/lib/esm/common/gltf/GltfParser.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/render/AnimationNodeId.js.map +1 -1
- package/lib/esm/common/render/MaterialParams.js.map +1 -1
- package/lib/esm/common/render/TextureParams.js.map +1 -1
- package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -1
- package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -1
- package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/common/render/primitives/MeshParams.js.map +1 -1
- package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -1
- package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -1
- package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -1
- package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -1
- package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -1
- package/lib/esm/common/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/Extension.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/extension/ExtensionHost.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/public/scripts/checkbrowser.js +24 -24
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/esm/render/CanvasDecoration.js.map +1 -1
- package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/esm/render/CreateTextureArgs.js.map +1 -1
- package/lib/esm/render/Decorations.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/FrameStats.js.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/GraphicPrimitive.js.map +1 -1
- package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
- package/lib/esm/render/MockRender.js.map +1 -1
- package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderClipVolume.js.map +1 -1
- package/lib/esm/render/RenderGraphic.js.map +1 -1
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderPlan.js.map +1 -1
- package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/Scene.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/esm/render/VisibleFeature.js.map +1 -1
- package/lib/esm/render/primitives/ColorMap.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
- package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
- package/lib/esm/render/primitives/Polyface.js.map +1 -1
- package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
- package/lib/esm/render/primitives/Primitives.js.map +1 -1
- package/lib/esm/render/primitives/Strokes.js.map +1 -1
- package/lib/esm/render/primitives/VertexKey.js.map +1 -1
- package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryList.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/esm/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/render/webgl/AttributeMap.js.map +1 -1
- package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/render/webgl/BatchState.js.map +1 -1
- package/lib/esm/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/render/webgl/BranchStack.js.map +1 -1
- package/lib/esm/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/ClipStack.js.map +1 -1
- package/lib/esm/render/webgl/ClipVolume.js.map +1 -1
- package/lib/esm/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
- package/lib/esm/render/webgl/Diagnostics.js.map +1 -1
- package/lib/esm/render/webgl/Disposable.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/render/webgl/EDL.js.map +1 -1
- package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/esm/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/render/webgl/GL.js.map +1 -1
- package/lib/esm/render/webgl/GLTimer.js.map +1 -1
- package/lib/esm/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/esm/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Layer.js.map +1 -1
- package/lib/esm/render/webgl/LayerCommands.js.map +1 -1
- package/lib/esm/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/esm/render/webgl/LineCode.js.map +1 -1
- package/lib/esm/render/webgl/Material.js.map +1 -1
- package/lib/esm/render/webgl/Matrix.js.map +1 -1
- package/lib/esm/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/esm/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/PointString.js.map +1 -1
- package/lib/esm/render/webgl/Polyline.js.map +1 -1
- package/lib/esm/render/webgl/Primitive.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/render/webgl/RenderState.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/esm/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Sync.js.map +1 -1
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/esm/render/webgl/Technique.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/render/webgl/Texture.js.map +1 -1
- package/lib/esm/render/webgl/TextureDrape.js.map +1 -1
- package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/esm/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
- package/lib/esm/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/esm/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Animation.js +83 -83
- package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Blur.js +37 -37
- package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +4 -4
- package/lib/esm/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/esm/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Clipping.js +60 -60
- package/lib/esm/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Color.js +12 -12
- package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/esm/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/esm/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/esm/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Common.js +16 -16
- package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Composite.js +71 -71
- package/lib/esm/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/esm/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Decode.js +65 -65
- package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/esm/render/webgl/glsl/EDL.js +103 -103
- package/lib/esm/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Edge.js +146 -146
- package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js +232 -232
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Fragment.js +41 -41
- package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Instancing.js +21 -21
- package/lib/esm/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Lighting.js +92 -92
- package/lib/esm/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/esm/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/esm/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointString.js +9 -9
- package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Polyline.js +213 -213
- package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +83 -83
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/esm/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/esm/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Surface.js +239 -239
- package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Thematic.js +134 -134
- package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Translucency.js +19 -19
- package/lib/esm/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Vertex.js +73 -73
- package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Viewport.js +38 -38
- package/lib/esm/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/esm/render-primitives.js.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/tile/B3dmReader.js.map +1 -1
- package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/esm/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/tile/ContextShareProvider.js.map +1 -1
- package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/GraphicsCollector.js.map +1 -1
- package/lib/esm/tile/I3dmReader.js.map +1 -1
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/esm/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/tile/ImdlDecoder.js.map +1 -1
- package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/tile/ImdlParser.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/LRUTileList.js.map +1 -1
- package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/esm/tile/PntsReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileContent.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
- package/lib/esm/tile/TileParams.js.map +1 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileRequestChannels.js.map +1 -1
- package/lib/esm/tile/TileStorage.js.map +1 -1
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TileTreeOwner.js.map +1 -1
- package/lib/esm/tile/TileTreeParams.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
- package/lib/esm/tile/TileUsageMarker.js.map +1 -1
- package/lib/esm/tile/TileUser.js.map +1 -1
- package/lib/esm/tile/TileUserSet.js.map +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +2 -2
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/tile/map/WmsUtilities.js.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/EditManipulator.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/EventController.js.map +1 -1
- package/lib/esm/tools/IdleTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolAssistance.js.map +1 -1
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/esm/webgl.js.map +1 -1
- package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/esm/workers/ImdlParser/webpack.config.js +40 -40
- package/lib/esm/workers/RegisterWorker.js.map +1 -1
- package/lib/public/assets/MapLayerSources.json +25 -25
- package/lib/public/images/cesium-ion.svg +92 -92
- package/lib/public/images/imodeljs-icon.svg +2 -2
- package/lib/public/locales/en/CoreTools.json +477 -477
- package/lib/public/locales/en/iModelJs.json +170 -170
- package/lib/public/scripts/checkbrowser.js +24 -24
- package/package.json +18 -18
|
@@ -19,39 +19,39 @@ const Thematic_1 = require("./Thematic");
|
|
|
19
19
|
const Surface_1 = require("./Surface");
|
|
20
20
|
const Fragment_1 = require("./Fragment");
|
|
21
21
|
// Revert components if color format is BGR instead of RGB.
|
|
22
|
-
const computeColor = `
|
|
23
|
-
return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);
|
|
22
|
+
const computeColor = `
|
|
23
|
+
return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);
|
|
24
24
|
`;
|
|
25
25
|
const computeBaseColor = "return v_color;";
|
|
26
26
|
// Round the point unless drawing square points.
|
|
27
|
-
const roundPointDiscard = `
|
|
28
|
-
if (u_pointCloudSettings.w == 1.0)
|
|
29
|
-
return false;
|
|
30
|
-
|
|
31
|
-
vec2 pointXY = (2.0 * gl_PointCoord - 1.0);
|
|
32
|
-
return dot(pointXY, pointXY) > 1.0;
|
|
27
|
+
const roundPointDiscard = `
|
|
28
|
+
if (u_pointCloudSettings.w == 1.0)
|
|
29
|
+
return false;
|
|
30
|
+
|
|
31
|
+
vec2 pointXY = (2.0 * gl_PointCoord - 1.0);
|
|
32
|
+
return dot(pointXY, pointXY) > 1.0;
|
|
33
33
|
`;
|
|
34
34
|
const checkForClassifiedDiscard = "return baseColor.a == 0.0;";
|
|
35
|
-
const computePosition = `
|
|
36
|
-
gl_PointSize = 1.0;
|
|
37
|
-
vec4 pos = MAT_MVP * rawPos;
|
|
38
|
-
if (u_pointCloudSettings.x > 0.0) {
|
|
39
|
-
// Size is specified in pixels.
|
|
40
|
-
gl_PointSize = u_pointCloudSettings.x;
|
|
41
|
-
return pos;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Point size is in meters (voxel size).
|
|
45
|
-
if (pos.w <= 0.0) {
|
|
46
|
-
// Cannot perform perspective divide below.
|
|
47
|
-
return pos;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.
|
|
51
|
-
mat4 toView = u_viewportTransformation * MAT_MVP;
|
|
52
|
-
float scale = length(toView[0].xyz);
|
|
53
|
-
gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);
|
|
54
|
-
return pos;
|
|
35
|
+
const computePosition = `
|
|
36
|
+
gl_PointSize = 1.0;
|
|
37
|
+
vec4 pos = MAT_MVP * rawPos;
|
|
38
|
+
if (u_pointCloudSettings.x > 0.0) {
|
|
39
|
+
// Size is specified in pixels.
|
|
40
|
+
gl_PointSize = u_pointCloudSettings.x;
|
|
41
|
+
return pos;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Point size is in meters (voxel size).
|
|
45
|
+
if (pos.w <= 0.0) {
|
|
46
|
+
// Cannot perform perspective divide below.
|
|
47
|
+
return pos;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.
|
|
51
|
+
mat4 toView = u_viewportTransformation * MAT_MVP;
|
|
52
|
+
float scale = length(toView[0].xyz);
|
|
53
|
+
gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);
|
|
54
|
+
return pos;
|
|
55
55
|
`;
|
|
56
56
|
function createBuilder() {
|
|
57
57
|
const builder = new ShaderBuilder_1.ProgramBuilder(AttributeMap_1.AttributeMap.findAttributeMap(2 /* TechniqueId.PointCloud */, false));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointCloud.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/PointCloud.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { AttributeMap } from \"../AttributeMap\";\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { FeatureMode, IsAnimated, IsClassified, IsThematic } from \"../TechniqueFlags\";\nimport { TechniqueId } from \"../TechniqueId\";\nimport { addUniformHiliter } from \"./FeatureSymbology\";\nimport { addColorPlanarClassifier, addFeaturePlanarClassifier, addHilitePlanarClassifier } from \"./PlanarClassification\";\nimport { addModelViewProjectionMatrix } from \"./Vertex\";\nimport { addViewportTransformation } from \"./Viewport\";\nimport { addThematicDisplay } from \"./Thematic\";\nimport { addTexture } from \"./Surface\";\nimport { assignFragColor } from \"./Fragment\";\n\n// Revert components if color format is BGR instead of RGB.\nconst computeColor = `\n return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);\n`;\n\nconst computeBaseColor = \"return v_color;\";\n\n// Round the point unless drawing square points.\nconst roundPointDiscard = `\n if (u_pointCloudSettings.w == 1.0)\n return false;\n\n vec2 pointXY = (2.0 * gl_PointCoord - 1.0);\n return dot(pointXY, pointXY) > 1.0;\n`;\n\nconst checkForClassifiedDiscard = \"return baseColor.a == 0.0;\";\n\nconst computePosition = `\n gl_PointSize = 1.0;\n vec4 pos = MAT_MVP * rawPos;\n if (u_pointCloudSettings.x > 0.0) {\n // Size is specified in pixels.\n gl_PointSize = u_pointCloudSettings.x;\n return pos;\n }\n\n // Point size is in meters (voxel size).\n if (pos.w <= 0.0) {\n // Cannot perform perspective divide below.\n return pos;\n }\n\n // Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.\n mat4 toView = u_viewportTransformation * MAT_MVP;\n float scale = length(toView[0].xyz);\n gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);\n return pos;\n`;\n\nfunction createBuilder(): ProgramBuilder {\n const builder = new ProgramBuilder(AttributeMap.findAttributeMap(TechniqueId.PointCloud, false));\n const vert = builder.vert;\n addViewportTransformation(vert);\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\n addModelViewProjectionMatrix(vert);\n\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundPointDiscard);\n\n // Uniforms based on the PointCloudDisplaySettings.\n builder.addUniform(\"u_pointCloudSettings\", VariableType.Vec4, (prog) => {\n prog.addGraphicUniform(\"u_pointCloudSettings\", (uniform, params) => {\n params.target.uniforms.realityModel.pointCloud.bind(uniform);\n });\n });\n\n // Uniforms based on the PointCloudGeometry.\n builder.vert.addUniform(\"u_pointCloud\", VariableType.Vec2, (prog) => {\n prog.addGraphicUniform(\"u_pointCloud\", (uniform, params) => {\n assert(params.geometry.asPointCloud !== undefined);\n scratchPointCloud[0] = params.geometry.asPointCloud.voxelSize;\n scratchPointCloud[1] = params.geometry.asPointCloud.colorIsBgr ? 1 : 0;\n uniform.setUniform2fv(scratchPointCloud);\n });\n });\n\n return builder;\n}\n\nconst scratchPointCloud = new Float32Array([0, 0]);\n\n/** @internal */\nexport function createPointCloudBuilder(classified: IsClassified, featureMode: FeatureMode, thematic: IsThematic): ProgramBuilder {\n const builder = createBuilder();\n\n builder.addVarying(\"v_color\", VariableType.Vec4);\n builder.vert.set(VertexShaderComponent.ComputeBaseColor, computeColor);\n\n builder.frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n if (classified) {\n addColorPlanarClassifier(builder, false, thematic);\n builder.frag.set(FragmentShaderComponent.CheckForDiscard, checkForClassifiedDiscard);\n\n if (FeatureMode.None !== featureMode)\n addFeaturePlanarClassifier(builder);\n }\n\n if (IsThematic.Yes === thematic) {\n addThematicDisplay(builder, true);\n addTexture(builder, IsAnimated.No, IsThematic.Yes, true, false);\n }\n\n return builder;\n}\n\n/** @internal */\nexport function createPointCloudHiliter(classified: IsClassified): ProgramBuilder {\n const builder = createBuilder();\n if (classified) {\n addHilitePlanarClassifier(builder, false);\n builder.frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n } else {\n addUniformHiliter(builder);\n }\n\n return builder;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PointCloud.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/PointCloud.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { AttributeMap } from \"../AttributeMap\";\r\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\r\nimport { FeatureMode, IsAnimated, IsClassified, IsThematic } from \"../TechniqueFlags\";\r\nimport { TechniqueId } from \"../TechniqueId\";\r\nimport { addUniformHiliter } from \"./FeatureSymbology\";\r\nimport { addColorPlanarClassifier, addFeaturePlanarClassifier, addHilitePlanarClassifier } from \"./PlanarClassification\";\r\nimport { addModelViewProjectionMatrix } from \"./Vertex\";\r\nimport { addViewportTransformation } from \"./Viewport\";\r\nimport { addThematicDisplay } from \"./Thematic\";\r\nimport { addTexture } from \"./Surface\";\r\nimport { assignFragColor } from \"./Fragment\";\r\n\r\n// Revert components if color format is BGR instead of RGB.\r\nconst computeColor = `\r\n return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);\r\n`;\r\n\r\nconst computeBaseColor = \"return v_color;\";\r\n\r\n// Round the point unless drawing square points.\r\nconst roundPointDiscard = `\r\n if (u_pointCloudSettings.w == 1.0)\r\n return false;\r\n\r\n vec2 pointXY = (2.0 * gl_PointCoord - 1.0);\r\n return dot(pointXY, pointXY) > 1.0;\r\n`;\r\n\r\nconst checkForClassifiedDiscard = \"return baseColor.a == 0.0;\";\r\n\r\nconst computePosition = `\r\n gl_PointSize = 1.0;\r\n vec4 pos = MAT_MVP * rawPos;\r\n if (u_pointCloudSettings.x > 0.0) {\r\n // Size is specified in pixels.\r\n gl_PointSize = u_pointCloudSettings.x;\r\n return pos;\r\n }\r\n\r\n // Point size is in meters (voxel size).\r\n if (pos.w <= 0.0) {\r\n // Cannot perform perspective divide below.\r\n return pos;\r\n }\r\n\r\n // Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.\r\n mat4 toView = u_viewportTransformation * MAT_MVP;\r\n float scale = length(toView[0].xyz);\r\n gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);\r\n return pos;\r\n`;\r\n\r\nfunction createBuilder(): ProgramBuilder {\r\n const builder = new ProgramBuilder(AttributeMap.findAttributeMap(TechniqueId.PointCloud, false));\r\n const vert = builder.vert;\r\n addViewportTransformation(vert);\r\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\r\n addModelViewProjectionMatrix(vert);\r\n\r\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundPointDiscard);\r\n\r\n // Uniforms based on the PointCloudDisplaySettings.\r\n builder.addUniform(\"u_pointCloudSettings\", VariableType.Vec4, (prog) => {\r\n prog.addGraphicUniform(\"u_pointCloudSettings\", (uniform, params) => {\r\n params.target.uniforms.realityModel.pointCloud.bind(uniform);\r\n });\r\n });\r\n\r\n // Uniforms based on the PointCloudGeometry.\r\n builder.vert.addUniform(\"u_pointCloud\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_pointCloud\", (uniform, params) => {\r\n assert(params.geometry.asPointCloud !== undefined);\r\n scratchPointCloud[0] = params.geometry.asPointCloud.voxelSize;\r\n scratchPointCloud[1] = params.geometry.asPointCloud.colorIsBgr ? 1 : 0;\r\n uniform.setUniform2fv(scratchPointCloud);\r\n });\r\n });\r\n\r\n return builder;\r\n}\r\n\r\nconst scratchPointCloud = new Float32Array([0, 0]);\r\n\r\n/** @internal */\r\nexport function createPointCloudBuilder(classified: IsClassified, featureMode: FeatureMode, thematic: IsThematic): ProgramBuilder {\r\n const builder = createBuilder();\r\n\r\n builder.addVarying(\"v_color\", VariableType.Vec4);\r\n builder.vert.set(VertexShaderComponent.ComputeBaseColor, computeColor);\r\n\r\n builder.frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\r\n if (classified) {\r\n addColorPlanarClassifier(builder, false, thematic);\r\n builder.frag.set(FragmentShaderComponent.CheckForDiscard, checkForClassifiedDiscard);\r\n\r\n if (FeatureMode.None !== featureMode)\r\n addFeaturePlanarClassifier(builder);\r\n }\r\n\r\n if (IsThematic.Yes === thematic) {\r\n addThematicDisplay(builder, true);\r\n addTexture(builder, IsAnimated.No, IsThematic.Yes, true, false);\r\n }\r\n\r\n return builder;\r\n}\r\n\r\n/** @internal */\r\nexport function createPointCloudHiliter(classified: IsClassified): ProgramBuilder {\r\n const builder = createBuilder();\r\n if (classified) {\r\n addHilitePlanarClassifier(builder, false);\r\n builder.frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\r\n } else {\r\n addUniformHiliter(builder);\r\n }\r\n\r\n return builder;\r\n}\r\n"]}
|
|
@@ -15,20 +15,20 @@ const Common_1 = require("./Common");
|
|
|
15
15
|
const FeatureSymbology_1 = require("./FeatureSymbology");
|
|
16
16
|
const Fragment_1 = require("./Fragment");
|
|
17
17
|
const Vertex_1 = require("./Vertex");
|
|
18
|
-
const computePosition = `
|
|
19
|
-
float lineWeight = computeLineWeight();
|
|
20
|
-
lineWeight += 0.5 * float(lineWeight > 4.0); // fudge factor for rounding fat points...
|
|
21
|
-
gl_PointSize = lineWeight;
|
|
22
|
-
return MAT_MVP * rawPos;
|
|
18
|
+
const computePosition = `
|
|
19
|
+
float lineWeight = computeLineWeight();
|
|
20
|
+
lineWeight += 0.5 * float(lineWeight > 4.0); // fudge factor for rounding fat points...
|
|
21
|
+
gl_PointSize = lineWeight;
|
|
22
|
+
return MAT_MVP * rawPos;
|
|
23
23
|
`;
|
|
24
24
|
// gl_PointSize specifies coordinates of this fragment within the point in range [0,1].
|
|
25
25
|
// This should be the most precise of the many approaches we've tried, but it still yields some asymmetry...
|
|
26
26
|
// Discarding if it meets radius precisely seems to reduce that slightly...
|
|
27
27
|
// ###TODO try point sprites?
|
|
28
|
-
const roundCorners = `
|
|
29
|
-
const vec2 center = vec2(0.5, 0.5);
|
|
30
|
-
vec2 vt = gl_PointCoord - center;
|
|
31
|
-
return dot(vt, vt) * v_roundCorners >= 0.25; // meets or exceeds radius of circle
|
|
28
|
+
const roundCorners = `
|
|
29
|
+
const vec2 center = vec2(0.5, 0.5);
|
|
30
|
+
vec2 vt = gl_PointCoord - center;
|
|
31
|
+
return dot(vt, vt) * v_roundCorners >= 0.25; // meets or exceeds radius of circle
|
|
32
32
|
`;
|
|
33
33
|
const computeRoundCorners = " v_roundCorners = gl_PointSize > 4.0 ? 1.0 : 0.0;";
|
|
34
34
|
function createBase(instanced, positionType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointString.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/PointString.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,kDAA+C;AAC/C,oDAAgH;AAGhH,mCAAmC;AACnC,qCAA0C;AAC1C,yDAAgD;AAChD,yCAAqD;AACrD,qCAAuE;AAEvE,MAAM,eAAe,GAAG;;;;;CAKvB,CAAC;AAEF,uFAAuF;AACvF,4GAA4G;AAC5G,2EAA2E;AAC3E,6BAA6B;AAC7B,MAAM,YAAY,GAAG;;;;CAIpB,CAAC;AAEF,MAAM,mBAAmB,GAAG,oDAAoD,CAAC;AAEjF,SAAS,UAAU,CAAC,SAAsB,EAAE,YAA0B;IACpE,MAAM,OAAO,GAAG,2BAAY,CAAC,gBAAgB,kCAA0B,4BAAoB,SAAS,CAAC,CAAC;IAEtG,MAAM,OAAO,GAAG,IAAI,8BAAc,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,4BAAoB,SAAS,EAAE,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,iDAAwC,eAAe,CAAC,CAAC;IACjE,IAAA,qCAA4B,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,8BAAsB,mBAAmB,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,GAAG,uDAA+C,YAAY,CAAC,CAAC;IAE7E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB,CAAC,SAAsB,EAAE,OAAqB;IACpF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAA,6BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,4DAIC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB,CAAC,SAAsB,EAAE,OAAqB;IACpF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACxB,IAAA,gBAAQ,EAAC,OAAO,CAAC,CAAC;IAClB,IAAA,kCAAuB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAND,4DAMC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { AttributeMap } from \"../AttributeMap\";\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { IsInstanced, PositionType } from \"../TechniqueFlags\";\nimport { TechniqueId } from \"../TechniqueId\";\nimport { addColor } from \"./Color\";\nimport { addShaderFlags } from \"./Common\";\nimport { addHiliter } from \"./FeatureSymbology\";\nimport { addWhiteOnWhiteReversal } from \"./Fragment\";\nimport { addLineWeight, addModelViewProjectionMatrix } from \"./Vertex\";\n\nconst computePosition = `\n float lineWeight = computeLineWeight();\n lineWeight += 0.5 * float(lineWeight > 4.0); // fudge factor for rounding fat points...\n gl_PointSize = lineWeight;\n return MAT_MVP * rawPos;\n`;\n\n// gl_PointSize specifies coordinates of this fragment within the point in range [0,1].\n// This should be the most precise of the many approaches we've tried, but it still yields some asymmetry...\n// Discarding if it meets radius precisely seems to reduce that slightly...\n// ###TODO try point sprites?\nconst roundCorners = `\n const vec2 center = vec2(0.5, 0.5);\n vec2 vt = gl_PointCoord - center;\n return dot(vt, vt) * v_roundCorners >= 0.25; // meets or exceeds radius of circle\n`;\n\nconst computeRoundCorners = \" v_roundCorners = gl_PointSize > 4.0 ? 1.0 : 0.0;\";\n\nfunction createBase(instanced: IsInstanced, positionType: PositionType): ProgramBuilder {\n const attrMap = AttributeMap.findAttributeMap(TechniqueId.PointString, IsInstanced.Yes === instanced);\n\n const builder = new ProgramBuilder(attrMap, { positionType, instanced: IsInstanced.Yes === instanced });\n const vert = builder.vert;\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\n addModelViewProjectionMatrix(vert);\n\n addLineWeight(vert);\n builder.addInlineComputedVarying(\"v_roundCorners\", VariableType.Float, computeRoundCorners);\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundCorners);\n\n return builder;\n}\n\n/** @internal */\nexport function createPointStringHiliter(instanced: IsInstanced, posType: PositionType): ProgramBuilder {\n const builder = createBase(instanced, posType);\n addHiliter(builder, true);\n return builder;\n}\n\n/** @internal */\nexport function createPointStringBuilder(instanced: IsInstanced, posType: PositionType): ProgramBuilder {\n const builder = createBase(instanced, posType);\n addShaderFlags(builder);\n addColor(builder);\n addWhiteOnWhiteReversal(builder.frag);\n return builder;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PointString.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/PointString.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,kDAA+C;AAC/C,oDAAgH;AAGhH,mCAAmC;AACnC,qCAA0C;AAC1C,yDAAgD;AAChD,yCAAqD;AACrD,qCAAuE;AAEvE,MAAM,eAAe,GAAG;;;;;CAKvB,CAAC;AAEF,uFAAuF;AACvF,4GAA4G;AAC5G,2EAA2E;AAC3E,6BAA6B;AAC7B,MAAM,YAAY,GAAG;;;;CAIpB,CAAC;AAEF,MAAM,mBAAmB,GAAG,oDAAoD,CAAC;AAEjF,SAAS,UAAU,CAAC,SAAsB,EAAE,YAA0B;IACpE,MAAM,OAAO,GAAG,2BAAY,CAAC,gBAAgB,kCAA0B,4BAAoB,SAAS,CAAC,CAAC;IAEtG,MAAM,OAAO,GAAG,IAAI,8BAAc,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,4BAAoB,SAAS,EAAE,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,iDAAwC,eAAe,CAAC,CAAC;IACjE,IAAA,qCAA4B,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,8BAAsB,mBAAmB,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,GAAG,uDAA+C,YAAY,CAAC,CAAC;IAE7E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB,CAAC,SAAsB,EAAE,OAAqB;IACpF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAA,6BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,4DAIC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB,CAAC,SAAsB,EAAE,OAAqB;IACpF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACxB,IAAA,gBAAQ,EAAC,OAAO,CAAC,CAAC;IAClB,IAAA,kCAAuB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAND,4DAMC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { AttributeMap } from \"../AttributeMap\";\r\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\r\nimport { IsInstanced, PositionType } from \"../TechniqueFlags\";\r\nimport { TechniqueId } from \"../TechniqueId\";\r\nimport { addColor } from \"./Color\";\r\nimport { addShaderFlags } from \"./Common\";\r\nimport { addHiliter } from \"./FeatureSymbology\";\r\nimport { addWhiteOnWhiteReversal } from \"./Fragment\";\r\nimport { addLineWeight, addModelViewProjectionMatrix } from \"./Vertex\";\r\n\r\nconst computePosition = `\r\n float lineWeight = computeLineWeight();\r\n lineWeight += 0.5 * float(lineWeight > 4.0); // fudge factor for rounding fat points...\r\n gl_PointSize = lineWeight;\r\n return MAT_MVP * rawPos;\r\n`;\r\n\r\n// gl_PointSize specifies coordinates of this fragment within the point in range [0,1].\r\n// This should be the most precise of the many approaches we've tried, but it still yields some asymmetry...\r\n// Discarding if it meets radius precisely seems to reduce that slightly...\r\n// ###TODO try point sprites?\r\nconst roundCorners = `\r\n const vec2 center = vec2(0.5, 0.5);\r\n vec2 vt = gl_PointCoord - center;\r\n return dot(vt, vt) * v_roundCorners >= 0.25; // meets or exceeds radius of circle\r\n`;\r\n\r\nconst computeRoundCorners = \" v_roundCorners = gl_PointSize > 4.0 ? 1.0 : 0.0;\";\r\n\r\nfunction createBase(instanced: IsInstanced, positionType: PositionType): ProgramBuilder {\r\n const attrMap = AttributeMap.findAttributeMap(TechniqueId.PointString, IsInstanced.Yes === instanced);\r\n\r\n const builder = new ProgramBuilder(attrMap, { positionType, instanced: IsInstanced.Yes === instanced });\r\n const vert = builder.vert;\r\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\r\n addModelViewProjectionMatrix(vert);\r\n\r\n addLineWeight(vert);\r\n builder.addInlineComputedVarying(\"v_roundCorners\", VariableType.Float, computeRoundCorners);\r\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundCorners);\r\n\r\n return builder;\r\n}\r\n\r\n/** @internal */\r\nexport function createPointStringHiliter(instanced: IsInstanced, posType: PositionType): ProgramBuilder {\r\n const builder = createBase(instanced, posType);\r\n addHiliter(builder, true);\r\n return builder;\r\n}\r\n\r\n/** @internal */\r\nexport function createPointStringBuilder(instanced: IsInstanced, posType: PositionType): ProgramBuilder {\r\n const builder = createBase(instanced, posType);\r\n addShaderFlags(builder);\r\n addColor(builder);\r\n addWhiteOnWhiteReversal(builder.frag);\r\n return builder;\r\n}\r\n"]}
|
|
@@ -22,108 +22,108 @@ const Fragment_1 = require("./Fragment");
|
|
|
22
22
|
const Vertex_1 = require("./Vertex");
|
|
23
23
|
const Viewport_1 = require("./Viewport");
|
|
24
24
|
const checkForDiscard = "return discardByLineCode;";
|
|
25
|
-
const applyLineCode = `
|
|
26
|
-
if (v_texc.x >= 0.0) { // v_texc = (-1,-1) for solid lines - don't bother with any of this
|
|
27
|
-
vec4 texColor = TEXTURE(u_lineCodeTexture, v_texc);
|
|
28
|
-
discardByLineCode = (0.0 == texColor.r);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (v_lnInfo.w > 0.5) { // line needs pixel trimming
|
|
32
|
-
// calculate pixel distance from pixel center to expected line center, opposite dir from major
|
|
33
|
-
vec2 dxy = gl_FragCoord.xy - v_lnInfo.xy;
|
|
34
|
-
if (v_lnInfo.w < 1.5) // not x-major
|
|
35
|
-
dxy = dxy.yx;
|
|
36
|
-
|
|
37
|
-
float dist = v_lnInfo.z * dxy.x - dxy.y;
|
|
38
|
-
float distA = abs(dist);
|
|
39
|
-
if (distA > 0.5 || (distA == 0.5 && dist < 0.0))
|
|
40
|
-
discardByLineCode = true; // borrow this flag to force discard
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return baseColor;
|
|
25
|
+
const applyLineCode = `
|
|
26
|
+
if (v_texc.x >= 0.0) { // v_texc = (-1,-1) for solid lines - don't bother with any of this
|
|
27
|
+
vec4 texColor = TEXTURE(u_lineCodeTexture, v_texc);
|
|
28
|
+
discardByLineCode = (0.0 == texColor.r);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (v_lnInfo.w > 0.5) { // line needs pixel trimming
|
|
32
|
+
// calculate pixel distance from pixel center to expected line center, opposite dir from major
|
|
33
|
+
vec2 dxy = gl_FragCoord.xy - v_lnInfo.xy;
|
|
34
|
+
if (v_lnInfo.w < 1.5) // not x-major
|
|
35
|
+
dxy = dxy.yx;
|
|
36
|
+
|
|
37
|
+
float dist = v_lnInfo.z * dxy.x - dxy.y;
|
|
38
|
+
float distA = abs(dist);
|
|
39
|
+
if (distA > 0.5 || (distA == 0.5 && dist < 0.0))
|
|
40
|
+
discardByLineCode = true; // borrow this flag to force discard
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return baseColor;
|
|
44
44
|
`;
|
|
45
|
-
const computeTextureCoord = `
|
|
46
|
-
vec2 computeLineCodeTextureCoords(vec2 windowDir, vec4 projPos, float adjust) {
|
|
47
|
-
vec2 texc;
|
|
48
|
-
float lineCode = computeLineCode();
|
|
49
|
-
if (0.0 == lineCode) {
|
|
50
|
-
// Solid line - tell frag shader not to bother.
|
|
51
|
-
texc = vec2(-1.0, -1.0);
|
|
52
|
-
} else {
|
|
53
|
-
const float imagesPerPixel = 1.0/32.0;
|
|
54
|
-
const float textureCoordinateBase = 8192.0; // Temp workardound for clipping problem in perspective views (negative values don't seem to interpolate correctly).
|
|
55
|
-
|
|
56
|
-
if (abs(windowDir.x) > abs(windowDir.y))
|
|
57
|
-
texc.x = textureCoordinateBase + imagesPerPixel * (projPos.x + adjust * windowDir.x);
|
|
58
|
-
else
|
|
59
|
-
texc.x = textureCoordinateBase + imagesPerPixel * (projPos.y + adjust * windowDir.y);
|
|
60
|
-
|
|
61
|
-
const float numLineCodes = 16.0; // NB: Actually only 10, but texture is 16px tall because it needs to be a power of 2.
|
|
62
|
-
const float rowsPerCode = 1.0;
|
|
63
|
-
const float numRows = numLineCodes*rowsPerCode;
|
|
64
|
-
const float centerY = 0.5/numRows;
|
|
65
|
-
const float stepY = rowsPerCode/numRows;
|
|
66
|
-
texc.y = stepY * lineCode + centerY;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return texc;
|
|
70
|
-
}
|
|
45
|
+
const computeTextureCoord = `
|
|
46
|
+
vec2 computeLineCodeTextureCoords(vec2 windowDir, vec4 projPos, float adjust) {
|
|
47
|
+
vec2 texc;
|
|
48
|
+
float lineCode = computeLineCode();
|
|
49
|
+
if (0.0 == lineCode) {
|
|
50
|
+
// Solid line - tell frag shader not to bother.
|
|
51
|
+
texc = vec2(-1.0, -1.0);
|
|
52
|
+
} else {
|
|
53
|
+
const float imagesPerPixel = 1.0/32.0;
|
|
54
|
+
const float textureCoordinateBase = 8192.0; // Temp workardound for clipping problem in perspective views (negative values don't seem to interpolate correctly).
|
|
55
|
+
|
|
56
|
+
if (abs(windowDir.x) > abs(windowDir.y))
|
|
57
|
+
texc.x = textureCoordinateBase + imagesPerPixel * (projPos.x + adjust * windowDir.x);
|
|
58
|
+
else
|
|
59
|
+
texc.x = textureCoordinateBase + imagesPerPixel * (projPos.y + adjust * windowDir.y);
|
|
60
|
+
|
|
61
|
+
const float numLineCodes = 16.0; // NB: Actually only 10, but texture is 16px tall because it needs to be a power of 2.
|
|
62
|
+
const float rowsPerCode = 1.0;
|
|
63
|
+
const float numRows = numLineCodes*rowsPerCode;
|
|
64
|
+
const float centerY = 0.5/numRows;
|
|
65
|
+
const float stepY = rowsPerCode/numRows;
|
|
66
|
+
texc.y = stepY * lineCode + centerY;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return texc;
|
|
70
|
+
}
|
|
71
71
|
`;
|
|
72
72
|
/** @internal */
|
|
73
|
-
exports.adjustWidth = `
|
|
74
|
-
void adjustWidth(inout float width, vec2 d2, vec2 org) {
|
|
75
|
-
if (u_aaSamples > 1) {
|
|
76
|
-
if (width < 5.0)
|
|
77
|
-
width += (5.0 - width) * 0.125;
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// calculate slope based width adjustment for non-AA lines, widths 1 to 4
|
|
82
|
-
vec2 d2A = abs(d2);
|
|
83
|
-
const float s_myFltEpsilon = 0.0001; // limit test resolution to 4 digits in case 24 bit (s16e7) is used in hardware
|
|
84
|
-
if (d2A.y > s_myFltEpsilon && width < 4.5) {
|
|
85
|
-
float len = length(d2A);
|
|
86
|
-
float tan = d2A.x / d2A.y;
|
|
87
|
-
|
|
88
|
-
if (width < 1.5) { // width 1
|
|
89
|
-
if (tan <= 1.0)
|
|
90
|
-
width = d2A.y;
|
|
91
|
-
else
|
|
92
|
-
width = d2A.x;
|
|
93
|
-
// width 1 requires additional adjustment plus trimming in frag shader using v_lnInfo
|
|
94
|
-
width *= 1.01;
|
|
95
|
-
v_lnInfo.xy = org;
|
|
96
|
-
v_lnInfo.w = 1.0; // set flag to do trimming
|
|
97
|
-
// set slope in v_lnInfo.z
|
|
98
|
-
if (d2A.x - d2A.y > s_myFltEpsilon) {
|
|
99
|
-
v_lnInfo.z = d2.y / d2.x;
|
|
100
|
-
v_lnInfo.w += 2.0; // add in x-major flag
|
|
101
|
-
} else
|
|
102
|
-
v_lnInfo.z = d2.x / d2.y;
|
|
103
|
-
|
|
104
|
-
} else if (width < 2.5) { // width 2
|
|
105
|
-
if (tan <= 0.5)
|
|
106
|
-
width = 2.0 * d2A.y;
|
|
107
|
-
else
|
|
108
|
-
width = (d2A.y + 2.0 * d2A.x);
|
|
109
|
-
|
|
110
|
-
} else if (width < 3.5) { // width 3
|
|
111
|
-
if (tan <= 1.0)
|
|
112
|
-
width = (3.0 * d2A.y + d2A.x);
|
|
113
|
-
else
|
|
114
|
-
width = (d2A.y + 3.0 * d2A.x);
|
|
115
|
-
|
|
116
|
-
} else { // if (width < 4.5) // width 4
|
|
117
|
-
if (tan <= 0.5)
|
|
118
|
-
width = (4.0 * d2A.y + d2A.x);
|
|
119
|
-
else if (tan <= 2.0)
|
|
120
|
-
width = (3.0 * d2A.y + 3.0 * d2A.x);
|
|
121
|
-
else
|
|
122
|
-
width = (d2A.y + 4.0 * d2A.x);
|
|
123
|
-
}
|
|
124
|
-
width /= len;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
73
|
+
exports.adjustWidth = `
|
|
74
|
+
void adjustWidth(inout float width, vec2 d2, vec2 org) {
|
|
75
|
+
if (u_aaSamples > 1) {
|
|
76
|
+
if (width < 5.0)
|
|
77
|
+
width += (5.0 - width) * 0.125;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// calculate slope based width adjustment for non-AA lines, widths 1 to 4
|
|
82
|
+
vec2 d2A = abs(d2);
|
|
83
|
+
const float s_myFltEpsilon = 0.0001; // limit test resolution to 4 digits in case 24 bit (s16e7) is used in hardware
|
|
84
|
+
if (d2A.y > s_myFltEpsilon && width < 4.5) {
|
|
85
|
+
float len = length(d2A);
|
|
86
|
+
float tan = d2A.x / d2A.y;
|
|
87
|
+
|
|
88
|
+
if (width < 1.5) { // width 1
|
|
89
|
+
if (tan <= 1.0)
|
|
90
|
+
width = d2A.y;
|
|
91
|
+
else
|
|
92
|
+
width = d2A.x;
|
|
93
|
+
// width 1 requires additional adjustment plus trimming in frag shader using v_lnInfo
|
|
94
|
+
width *= 1.01;
|
|
95
|
+
v_lnInfo.xy = org;
|
|
96
|
+
v_lnInfo.w = 1.0; // set flag to do trimming
|
|
97
|
+
// set slope in v_lnInfo.z
|
|
98
|
+
if (d2A.x - d2A.y > s_myFltEpsilon) {
|
|
99
|
+
v_lnInfo.z = d2.y / d2.x;
|
|
100
|
+
v_lnInfo.w += 2.0; // add in x-major flag
|
|
101
|
+
} else
|
|
102
|
+
v_lnInfo.z = d2.x / d2.y;
|
|
103
|
+
|
|
104
|
+
} else if (width < 2.5) { // width 2
|
|
105
|
+
if (tan <= 0.5)
|
|
106
|
+
width = 2.0 * d2A.y;
|
|
107
|
+
else
|
|
108
|
+
width = (d2A.y + 2.0 * d2A.x);
|
|
109
|
+
|
|
110
|
+
} else if (width < 3.5) { // width 3
|
|
111
|
+
if (tan <= 1.0)
|
|
112
|
+
width = (3.0 * d2A.y + d2A.x);
|
|
113
|
+
else
|
|
114
|
+
width = (d2A.y + 3.0 * d2A.x);
|
|
115
|
+
|
|
116
|
+
} else { // if (width < 4.5) // width 4
|
|
117
|
+
if (tan <= 0.5)
|
|
118
|
+
width = (4.0 * d2A.y + d2A.x);
|
|
119
|
+
else if (tan <= 2.0)
|
|
120
|
+
width = (3.0 * d2A.y + 3.0 * d2A.x);
|
|
121
|
+
else
|
|
122
|
+
width = (d2A.y + 4.0 * d2A.x);
|
|
123
|
+
}
|
|
124
|
+
width /= len;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
127
|
`;
|
|
128
128
|
/** @internal */
|
|
129
129
|
function addAdjustWidth(vert) {
|
|
@@ -187,122 +187,122 @@ function addCommon(prog) {
|
|
|
187
187
|
(0, Vertex_1.addSamplePosition)(vert);
|
|
188
188
|
vert.addFunction(decodePosition);
|
|
189
189
|
}
|
|
190
|
-
const decodePosition = `
|
|
191
|
-
vec4 decodePosition(vec3 baseIndex) {
|
|
192
|
-
float index = decodeUInt24(baseIndex);
|
|
193
|
-
return samplePosition(index);
|
|
194
|
-
}
|
|
190
|
+
const decodePosition = `
|
|
191
|
+
vec4 decodePosition(vec3 baseIndex) {
|
|
192
|
+
float index = decodeUInt24(baseIndex);
|
|
193
|
+
return samplePosition(index);
|
|
194
|
+
}
|
|
195
195
|
`;
|
|
196
|
-
const decodeAdjacentPositions = `
|
|
197
|
-
g_prevPos = decodePosition(a_prevIndex);
|
|
198
|
-
g_nextPos = decodePosition(a_nextIndex);
|
|
196
|
+
const decodeAdjacentPositions = `
|
|
197
|
+
g_prevPos = decodePosition(a_prevIndex);
|
|
198
|
+
g_nextPos = decodePosition(a_nextIndex);
|
|
199
199
|
`;
|
|
200
|
-
const computePosition = `
|
|
201
|
-
const float kNone = 0.0,
|
|
202
|
-
kSquare = 1.0*3.0,
|
|
203
|
-
kMiter = 2.0*3.0,
|
|
204
|
-
kMiterInsideOnly = 3.0*3.0,
|
|
205
|
-
kJointBase = 4.0*3.0,
|
|
206
|
-
kNegatePerp = 8.0*3.0,
|
|
207
|
-
kNegateAlong = 16.0*3.0,
|
|
208
|
-
kNoneAdjWt = 32.0*3.0;
|
|
209
|
-
|
|
210
|
-
v_lnInfo = vec4(0.0, 0.0, 0.0, 0.0); // init and set flag to false
|
|
211
|
-
|
|
212
|
-
vec4 next = g_nextPos;
|
|
213
|
-
vec4 pos;
|
|
214
|
-
g_windowPos = modelToWindowCoordinates(rawPos, next, pos, v_eyeSpace);
|
|
215
|
-
if (g_windowPos.w == 0.0)
|
|
216
|
-
return g_windowPos;
|
|
217
|
-
|
|
218
|
-
float param = a_param;
|
|
219
|
-
float weight = computeLineWeight();
|
|
220
|
-
float scale = 1.0, directionScale = 1.0;
|
|
221
|
-
|
|
222
|
-
if (param >= kNoneAdjWt)
|
|
223
|
-
param -= kNoneAdjWt;
|
|
224
|
-
|
|
225
|
-
if (param >= kNegateAlong) {
|
|
226
|
-
directionScale = -directionScale;
|
|
227
|
-
param -= kNegateAlong;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
if (param >= kNegatePerp) {
|
|
231
|
-
scale = -1.0;
|
|
232
|
-
param -= kNegatePerp;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
vec4 otherPos;
|
|
236
|
-
vec3 otherMvPos;
|
|
237
|
-
vec4 projNext = modelToWindowCoordinates(next, rawPos, otherPos, otherMvPos);
|
|
238
|
-
g_windowDir = projNext.xy - g_windowPos.xy;
|
|
239
|
-
|
|
240
|
-
if (param < kJointBase) {
|
|
241
|
-
vec2 dir = (directionScale > 0.0) ? g_windowDir : -g_windowDir;
|
|
242
|
-
vec2 pos = (directionScale > 0.0) ? g_windowPos.xy : projNext.xy;
|
|
243
|
-
adjustWidth(weight, dir, pos);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
if (kNone != param) {
|
|
247
|
-
vec2 delta = vec2(0.0);
|
|
248
|
-
vec4 prev = g_prevPos;
|
|
249
|
-
vec4 projPrev = modelToWindowCoordinates(prev, rawPos, otherPos, otherMvPos);
|
|
250
|
-
vec2 prevDir = g_windowPos.xy - projPrev.xy;
|
|
251
|
-
float thisLength = sqrt(g_windowDir.x * g_windowDir.x + g_windowDir.y * g_windowDir.y);
|
|
252
|
-
const float s_minNormalizeLength = 1.0E-5; // avoid normalizing zero length vectors.
|
|
253
|
-
float dist = weight / 2.0;
|
|
254
|
-
|
|
255
|
-
if (thisLength > s_minNormalizeLength) {
|
|
256
|
-
g_windowDir /= thisLength;
|
|
257
|
-
|
|
258
|
-
float prevLength = sqrt(prevDir.x * prevDir.x + prevDir.y * prevDir.y);
|
|
259
|
-
|
|
260
|
-
if (prevLength > s_minNormalizeLength) {
|
|
261
|
-
prevDir /= prevLength;
|
|
262
|
-
const float s_minParallelDot= -.9999, s_maxParallelDot = .9999;
|
|
263
|
-
float prevNextDot = dot(prevDir, g_windowDir);
|
|
264
|
-
|
|
265
|
-
if (prevNextDot < s_minParallelDot || prevNextDot > s_maxParallelDot) // No miter if parallel or antiparallel.
|
|
266
|
-
param = kSquare;
|
|
267
|
-
} else
|
|
268
|
-
param = kSquare;
|
|
269
|
-
} else {
|
|
270
|
-
g_windowDir = -normalize(prevDir);
|
|
271
|
-
param = kSquare;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
vec2 perp = scale * vec2(-g_windowDir.y, g_windowDir.x);
|
|
275
|
-
|
|
276
|
-
if (param == kSquare) {
|
|
277
|
-
delta = perp;
|
|
278
|
-
} else {
|
|
279
|
-
vec2 bisector = normalize(prevDir - g_windowDir);
|
|
280
|
-
float dotP = dot (bisector, perp);
|
|
281
|
-
|
|
282
|
-
if (dotP != 0.0) { // Should never occur - but avoid divide by zero.
|
|
283
|
-
const float maxMiter = 3.0;
|
|
284
|
-
float miterDistance = 1.0/dotP;
|
|
285
|
-
|
|
286
|
-
if (param == kMiter) { // Straight miter.
|
|
287
|
-
delta = (abs(miterDistance) > maxMiter) ? perp : bisector * miterDistance;
|
|
288
|
-
|
|
289
|
-
} else if (param == kMiterInsideOnly) { // Miter at inside, square at outside (to make room for joint).
|
|
290
|
-
delta = (dotP > 0.0 || abs(miterDistance) > maxMiter) ? perp : bisector * miterDistance;
|
|
291
|
-
|
|
292
|
-
} else {
|
|
293
|
-
const float jointTriangleCount = 3.0;
|
|
294
|
-
float ratio = (param - kJointBase) / jointTriangleCount; // 3 triangles per half-joint as defined in Graphics.cpp
|
|
295
|
-
delta = normalize((1.0 - ratio) * bisector + (dotP < 0.0 ? -ratio : ratio) * perp); // Miter/Straight combination.
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
miterAdjust = dot(g_windowDir, delta) * dist; // Not actually used for hilite shader but meh.
|
|
301
|
-
pos.x += dist * delta.x * 2.0 * pos.w / u_viewport.x;
|
|
302
|
-
pos.y += dist * delta.y * 2.0 * pos.w / u_viewport.y;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
return pos;
|
|
200
|
+
const computePosition = `
|
|
201
|
+
const float kNone = 0.0,
|
|
202
|
+
kSquare = 1.0*3.0,
|
|
203
|
+
kMiter = 2.0*3.0,
|
|
204
|
+
kMiterInsideOnly = 3.0*3.0,
|
|
205
|
+
kJointBase = 4.0*3.0,
|
|
206
|
+
kNegatePerp = 8.0*3.0,
|
|
207
|
+
kNegateAlong = 16.0*3.0,
|
|
208
|
+
kNoneAdjWt = 32.0*3.0;
|
|
209
|
+
|
|
210
|
+
v_lnInfo = vec4(0.0, 0.0, 0.0, 0.0); // init and set flag to false
|
|
211
|
+
|
|
212
|
+
vec4 next = g_nextPos;
|
|
213
|
+
vec4 pos;
|
|
214
|
+
g_windowPos = modelToWindowCoordinates(rawPos, next, pos, v_eyeSpace);
|
|
215
|
+
if (g_windowPos.w == 0.0)
|
|
216
|
+
return g_windowPos;
|
|
217
|
+
|
|
218
|
+
float param = a_param;
|
|
219
|
+
float weight = computeLineWeight();
|
|
220
|
+
float scale = 1.0, directionScale = 1.0;
|
|
221
|
+
|
|
222
|
+
if (param >= kNoneAdjWt)
|
|
223
|
+
param -= kNoneAdjWt;
|
|
224
|
+
|
|
225
|
+
if (param >= kNegateAlong) {
|
|
226
|
+
directionScale = -directionScale;
|
|
227
|
+
param -= kNegateAlong;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (param >= kNegatePerp) {
|
|
231
|
+
scale = -1.0;
|
|
232
|
+
param -= kNegatePerp;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
vec4 otherPos;
|
|
236
|
+
vec3 otherMvPos;
|
|
237
|
+
vec4 projNext = modelToWindowCoordinates(next, rawPos, otherPos, otherMvPos);
|
|
238
|
+
g_windowDir = projNext.xy - g_windowPos.xy;
|
|
239
|
+
|
|
240
|
+
if (param < kJointBase) {
|
|
241
|
+
vec2 dir = (directionScale > 0.0) ? g_windowDir : -g_windowDir;
|
|
242
|
+
vec2 pos = (directionScale > 0.0) ? g_windowPos.xy : projNext.xy;
|
|
243
|
+
adjustWidth(weight, dir, pos);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (kNone != param) {
|
|
247
|
+
vec2 delta = vec2(0.0);
|
|
248
|
+
vec4 prev = g_prevPos;
|
|
249
|
+
vec4 projPrev = modelToWindowCoordinates(prev, rawPos, otherPos, otherMvPos);
|
|
250
|
+
vec2 prevDir = g_windowPos.xy - projPrev.xy;
|
|
251
|
+
float thisLength = sqrt(g_windowDir.x * g_windowDir.x + g_windowDir.y * g_windowDir.y);
|
|
252
|
+
const float s_minNormalizeLength = 1.0E-5; // avoid normalizing zero length vectors.
|
|
253
|
+
float dist = weight / 2.0;
|
|
254
|
+
|
|
255
|
+
if (thisLength > s_minNormalizeLength) {
|
|
256
|
+
g_windowDir /= thisLength;
|
|
257
|
+
|
|
258
|
+
float prevLength = sqrt(prevDir.x * prevDir.x + prevDir.y * prevDir.y);
|
|
259
|
+
|
|
260
|
+
if (prevLength > s_minNormalizeLength) {
|
|
261
|
+
prevDir /= prevLength;
|
|
262
|
+
const float s_minParallelDot= -.9999, s_maxParallelDot = .9999;
|
|
263
|
+
float prevNextDot = dot(prevDir, g_windowDir);
|
|
264
|
+
|
|
265
|
+
if (prevNextDot < s_minParallelDot || prevNextDot > s_maxParallelDot) // No miter if parallel or antiparallel.
|
|
266
|
+
param = kSquare;
|
|
267
|
+
} else
|
|
268
|
+
param = kSquare;
|
|
269
|
+
} else {
|
|
270
|
+
g_windowDir = -normalize(prevDir);
|
|
271
|
+
param = kSquare;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
vec2 perp = scale * vec2(-g_windowDir.y, g_windowDir.x);
|
|
275
|
+
|
|
276
|
+
if (param == kSquare) {
|
|
277
|
+
delta = perp;
|
|
278
|
+
} else {
|
|
279
|
+
vec2 bisector = normalize(prevDir - g_windowDir);
|
|
280
|
+
float dotP = dot (bisector, perp);
|
|
281
|
+
|
|
282
|
+
if (dotP != 0.0) { // Should never occur - but avoid divide by zero.
|
|
283
|
+
const float maxMiter = 3.0;
|
|
284
|
+
float miterDistance = 1.0/dotP;
|
|
285
|
+
|
|
286
|
+
if (param == kMiter) { // Straight miter.
|
|
287
|
+
delta = (abs(miterDistance) > maxMiter) ? perp : bisector * miterDistance;
|
|
288
|
+
|
|
289
|
+
} else if (param == kMiterInsideOnly) { // Miter at inside, square at outside (to make room for joint).
|
|
290
|
+
delta = (dotP > 0.0 || abs(miterDistance) > maxMiter) ? perp : bisector * miterDistance;
|
|
291
|
+
|
|
292
|
+
} else {
|
|
293
|
+
const float jointTriangleCount = 3.0;
|
|
294
|
+
float ratio = (param - kJointBase) / jointTriangleCount; // 3 triangles per half-joint as defined in Graphics.cpp
|
|
295
|
+
delta = normalize((1.0 - ratio) * bisector + (dotP < 0.0 ? -ratio : ratio) * perp); // Miter/Straight combination.
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
miterAdjust = dot(g_windowDir, delta) * dist; // Not actually used for hilite shader but meh.
|
|
301
|
+
pos.x += dist * delta.x * 2.0 * pos.w / u_viewport.x;
|
|
302
|
+
pos.y += dist * delta.y * 2.0 * pos.w / u_viewport.y;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
return pos;
|
|
306
306
|
`;
|
|
307
307
|
const lineCodeArgs = "g_windowDir, g_windowPos, miterAdjust";
|
|
308
308
|
/** @internal */
|