@itwin/core-frontend 4.0.0-dev.75 → 4.0.0-dev.77
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/FrontendLoggerCategory.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/ImageUtil.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/ViewRect.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/WebWorkerManager.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/ExtensionImpl.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/gltf/GltfModel.js.map +1 -1
- package/lib/cjs/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/gltf/GltfSchema.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/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/RenderMaterial.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/RenderTexture.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/AuxChannelTable.js.map +1 -1
- package/lib/cjs/render/primitives/ColorMap.js.map +1 -1
- package/lib/cjs/render/primitives/DisplayParams.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/SurfaceParams.js.map +1 -1
- package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTableSplitter.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/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/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 +33 -33
- 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/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/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/FrontendLoggerCategory.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/ImageUtil.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/ViewRect.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/WebWorkerManager.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/ExtensionImpl.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/gltf/GltfModel.js.map +1 -1
- package/lib/esm/gltf/GltfParser.js.map +1 -1
- package/lib/esm/gltf/GltfSchema.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/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/RenderMaterial.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/RenderTexture.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/AuxChannelTable.js.map +1 -1
- package/lib/esm/render/primitives/ColorMap.js.map +1 -1
- package/lib/esm/render/primitives/DisplayParams.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/SurfaceParams.js.map +1 -1
- package/lib/esm/render/primitives/VertexKey.js.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/primitives/VertexTableSplitter.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/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/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 +33 -33
- 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/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/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 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Animation.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 { AnalysisStyleDisplacement, AnalysisStyleThematic, ThematicGradientSettings } from \"@itwin/core-common\";\r\nimport { AuxChannel, AuxDisplacementChannel, AuxParamChannel } from \"../../primitives/AuxChannelTable\";\r\nimport { DrawParams } from \"../DrawCommand\";\r\nimport { TextureUnit } from \"../RenderFlags\";\r\nimport { VariableType, VertexShaderBuilder, VertexShaderComponent } from \"../ShaderBuilder\";\r\nimport { octDecodeNormal } from \"./Surface\";\r\nimport { unquantizePosition } from \"./Vertex\";\r\n\r\nconst initialize = `\r\n g_anim_step = vec2(1.0) / u_animLUTParams.xy;\r\n g_anim_center = g_anim_step * 0.5;\r\n`;\r\n\r\n// The vertex index is an integer in [0..numVertices].\r\n// The frame index is an integer in [0..numBytesPerVertex/2].\r\n// Therefore each frame index points at 2 bytes within the texture.\r\n// The third component of the return value is 0.0 if the input index points to the first 2 bytes of the texel, or 1.0 if pointing to the second 2 bytes\r\nconst computeAnimLUTCoords = `\r\nvec3 computeAnimLUTCoords(float vertIndex, float frameIndex) {\r\n // float baseIndex = (vertIndex * 2.0) + frameIndex;\r\n float baseIndex = (vertIndex * u_animLUTParams.z) + frameIndex;\r\n float halfIndex = baseIndex * 0.5;\r\n float index = floor(halfIndex);\r\n\r\n float epsilon = 0.5 / u_animLUTParams.x;\r\n float yId = floor(index / u_animLUTParams.x + epsilon);\r\n float xId = index - u_animLUTParams.x * yId;\r\n\r\n vec2 texCoord = g_anim_center + vec2(xId / u_animLUTParams.x, yId / u_animLUTParams.y);\r\n return vec3(texCoord, 2.0 * (halfIndex - index));\r\n}\r\n`;\r\n\r\n// Sample 2 bytes at the specified index.\r\nconst sampleAnimVec2 = `\r\nvec2 sampleAnimVec2(float vertIndex, float frameIndex) {\r\n vec3 tc = computeAnimLUTCoords(vertIndex, frameIndex);\r\n vec4 texel = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\r\n return texel.xy * (1.0 - tc.z) + texel.zw * tc.z;\r\n}\r\n`;\r\n\r\n// Position is quantized to 6 bytes (2 bytes per component). So we always must sample two adjacent texels. We discard two bytes based on whether the index is even or odd.\r\nconst computeAnimationFrameDisplacement = `\r\nvec3 computeAnimationFrameDisplacement(float vertIndex, float frameIndex, vec3 origin, vec3 scale) {\r\n vec3 tc = computeAnimLUTCoords(vertIndex, frameIndex);\r\n vec4 enc1 = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\r\n tc.x += g_anim_step.x;\r\n vec4 enc2 = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\r\n\r\n vec2 ex = enc1.xy * (1.0 - tc.z) + enc1.zw * tc.z;\r\n vec2 ey = enc1.zw * (1.0 - tc.z) + enc2.xy * tc.z;\r\n vec2 ez = enc2.xy * (1.0 - tc.z) + enc2.zw * tc.z;\r\n\r\n vec3 qpos = vec3(decodeUInt16(ex), decodeUInt16(ey), decodeUInt16(ez));\r\n return unquantizePosition(qpos, origin, scale).xyz;\r\n}\r\n`;\r\n\r\nconst computeAnimationDisplacement = `\r\nvec3 computeAnimationDisplacement(float vertIndex, float frameIndex0, float frameIndex1, float fraction, vec3 origin, vec3 scale) {\r\n if (frameIndex0 < 0.0)\r\n return vec3(0.0, 0.0, 0.0);\r\n\r\n vec3 displacement = computeAnimationFrameDisplacement(vertIndex, frameIndex0, origin, scale);\r\n if (fraction > 0.0) {\r\n vec3 displacement1 = computeAnimationFrameDisplacement(vertIndex, frameIndex1, origin, scale);\r\n displacement += fraction * (displacement1 - displacement);\r\n }\r\n\r\n return displacement;\r\n}\r\n`;\r\n\r\nconst adjustRawPosition = `\r\n rawPos.xyz += computeAnimationDisplacement(g_vertexLUTIndex, u_animDispParams.x, u_animDispParams.y, u_animDispParams.z, u_qAnimDispOrigin, u_qAnimDispScale);\r\n return rawPos;\r\n`;\r\n\r\nconst computeAnimationFrameNormal = `\r\nvec3 computeAnimationFrameNormal(float frameIndex) {\r\n vec2 enc = sampleAnimVec2(g_vertexLUTIndex, frameIndex);\r\n return octDecodeNormal(enc);\r\n}\r\n`;\r\n\r\nconst computeAnimationNormal = `\r\nvec3 computeAnimationNormal(float frameIndex0, float frameIndex1, float fraction) {\r\n vec3 normal = computeAnimationFrameNormal(frameIndex0);\r\n if (fraction > 0.0) {\r\n vec3 normal1 = computeAnimationFrameNormal(frameIndex1);\r\n normal += fraction * (normal1 - normal);\r\n }\r\n\r\n return normal;\r\n}\r\n`;\r\n\r\nconst computeAnimationFrameParam = `\r\nfloat computeAnimationFrameParam(float frameIndex, float origin, float scale) {\r\n vec2 enc = sampleAnimVec2(g_vertexLUTIndex, frameIndex);\r\n return clamp((origin + scale * decodeUInt16(enc)), 0.0, 1.0);\r\n}\r\n`;\r\n\r\nconst computeAnimationParam = `\r\nvec2 computeAnimationParam(float frameIndex0, float frameIndex1, float fraction, float origin, float scale) {\r\n float param = computeAnimationFrameParam(frameIndex0, origin, scale);\r\n if (fraction > 0.0) {\r\n float param1 = computeAnimationFrameParam(frameIndex1, origin, scale);\r\n param += fraction * (param1 - param);\r\n }\r\n\r\n return vec2(.5, param);\r\n}\r\n`;\r\n\r\nconst scratchAnimParams = [\r\n undefined,\r\n undefined,\r\n new Float32Array(2), // origin, scale\r\n new Float32Array(3), // index0, index1, fraction\r\n];\r\n\r\nfunction getAnimParams(size: 2 | 3, initialValue?: number): Float32Array {\r\n const array = scratchAnimParams[size]!;\r\n if (undefined !== initialValue)\r\n for (let i = 0; i < array.length; i++)\r\n array[i] = initialValue;\r\n\r\n return array;\r\n}\r\n\r\nfunction getDisplacementChannel(params: DrawParams): { channel: AuxDisplacementChannel, displacement: AnalysisStyleDisplacement } | undefined {\r\n const displacement = params.target.analysisStyle?.displacement;\r\n if (!displacement)\r\n return undefined;\r\n\r\n const channel = params.geometry.asLUT?.lut.auxChannels?.displacements?.get(displacement.channelName);\r\n return channel ? { channel, displacement } : undefined;\r\n}\r\n\r\nfunction getNormalChannel(params: DrawParams): AuxChannel | undefined {\r\n const channelName = params.target.analysisStyle?.normalChannelName;\r\n if (undefined === channelName)\r\n return undefined;\r\n\r\n return params.geometry.asLUT?.lut.auxChannels?.normals?.get(channelName);\r\n}\r\n\r\nfunction getScalarChannel(params: DrawParams): { channel: AuxParamChannel, scalar: AnalysisStyleThematic } | undefined {\r\n const scalar = params.target.analysisStyle?.thematic;\r\n if (!scalar)\r\n return undefined;\r\n\r\n const channel = params.geometry.asMesh?.lut.auxChannels?.params?.get(scalar.channelName);\r\n return channel ? { channel, scalar } : undefined;\r\n}\r\n\r\nfunction computeAnimParams(params: Float32Array, channel: AuxChannel, fraction: number): void {\r\n const { inputs, indices } = channel;\r\n const inputValue = fraction * inputs[inputs.length - 1];\r\n for (let i = 0; i < inputs.length - 1; i++) {\r\n if (inputValue >= inputs[i] && inputValue < inputs[i + 1]) {\r\n params[0] = indices[i];\r\n params[1] = indices[i + 1];\r\n params[2] = inputValue - inputs[i] / (inputs[i + 1] - inputs[i]);\r\n return;\r\n }\r\n }\r\n params[0] = params[1] = indices[inputs.length - 1];\r\n params[2] = 0.0;\r\n}\r\n\r\n/** @internal */\r\nexport function addAnimation(vert: VertexShaderBuilder, isSurface: boolean): void {\r\n // Lookup table\r\n vert.addGlobal(\"g_anim_step\", VariableType.Vec2);\r\n vert.addGlobal(\"g_anim_center\", VariableType.Vec2);\r\n vert.addInitializer(initialize);\r\n vert.addFunction(unquantizePosition);\r\n\r\n vert.addUniform(\"u_animLUT\", VariableType.Sampler2D, (prog) => {\r\n prog.addGraphicUniform(\"u_animLUT\", (uniform, params) => {\r\n const channels = (params.geometry.asLUT!).lut.auxChannels!;\r\n assert(undefined !== channels);\r\n channels.texture.bindSampler(uniform, TextureUnit.AuxChannelLUT);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_animLUTParams\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_animLUTParams\", (uniform, params) => {\r\n const geom = params.geometry.asLUT!;\r\n assert(undefined !== geom && undefined !== geom.lut.auxChannels);\r\n const tex = geom.lut.auxChannels.texture;\r\n const array = getAnimParams(3);\r\n array[0] = tex.width;\r\n array[1] = tex.height;\r\n array[2] = geom.lut.auxChannels.numBytesPerVertex / 2;\r\n uniform.setUniform3fv(array);\r\n });\r\n });\r\n\r\n vert.addFunction(computeAnimLUTCoords);\r\n vert.addFunction(sampleAnimVec2);\r\n\r\n // Displacement\r\n vert.addFunction(computeAnimationFrameDisplacement);\r\n vert.addFunction(computeAnimationDisplacement);\r\n vert.set(VertexShaderComponent.AdjustRawPosition, adjustRawPosition);\r\n\r\n vert.addUniform(\"u_animDispParams\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_animDispParams\", (uniform, params) => {\r\n const animParams = getAnimParams(3, 0.0);\r\n const disp = getDisplacementChannel(params);\r\n if (undefined !== disp)\r\n computeAnimParams(animParams, disp.channel, params.target.analysisFraction);\r\n\r\n uniform.setUniform3fv(animParams);\r\n });\r\n });\r\n vert.addUniform(\"u_qAnimDispScale\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qAnimDispScale\", (uniform, params) => {\r\n const animParams = getAnimParams(3, 0.0);\r\n const disp = getDisplacementChannel(params);\r\n if (undefined !== disp)\r\n for (let i = 0; i < 3; i++)\r\n animParams[i] = disp.channel.qScale[i] * disp.displacement.scale;\r\n\r\n uniform.setUniform3fv(animParams);\r\n });\r\n });\r\n vert.addUniform(\"u_qAnimDispOrigin\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qAnimDispOrigin\", (uniform, params) => {\r\n const animParams = getAnimParams(3, 0.0);\r\n const disp = getDisplacementChannel(params);\r\n if (undefined !== disp)\r\n for (let i = 0; i < 3; i++)\r\n animParams[i] = disp.channel.qOrigin[i] * disp.displacement.scale;\r\n\r\n uniform.setUniform3fv(animParams);\r\n });\r\n });\r\n\r\n // Normal and param\r\n if (isSurface) {\r\n vert.addFunction(octDecodeNormal);\r\n vert.addFunction(computeAnimationFrameNormal);\r\n vert.addFunction(computeAnimationNormal);\r\n\r\n vert.addFunction(computeAnimationFrameParam);\r\n vert.addFunction(computeAnimationParam);\r\n\r\n vert.addUniform(\"u_animNormalParams\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_animNormalParams\", (uniform, params) => {\r\n const animParams = getAnimParams(3, -1.0);\r\n const channel = getNormalChannel(params);\r\n if (undefined !== channel)\r\n computeAnimParams(animParams, channel, params.target.analysisFraction);\r\n\r\n uniform.setUniform3fv(animParams);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_animScalarParams\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_animScalarParams\", (uniform, params) => {\r\n const scalars = getScalarChannel(params);\r\n const animParams = getAnimParams(3, -1.0);\r\n if (scalars)\r\n computeAnimParams(animParams, scalars.channel, params.target.analysisFraction);\r\n\r\n uniform.setUniform3fv(animParams);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_animScalarQParams\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_animScalarQParams\", (uniform, params) => {\r\n const scalars = getScalarChannel(params);\r\n const animParams = getAnimParams(2, 1.0);\r\n if (scalars) {\r\n const range = scalars.scalar.range;\r\n let rangeScale = range.high - range.low;\r\n if (rangeScale === 0)\r\n rangeScale = 1;\r\n\r\n animParams[0] = ThematicGradientSettings.margin + (scalars.channel.qOrigin - range.low) / rangeScale;\r\n animParams[1] = ThematicGradientSettings.contentRange * scalars.channel.qScale / rangeScale;\r\n }\r\n\r\n uniform.setUniform2fv(animParams);\r\n });\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Animation.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 { AnalysisStyleDisplacement, AnalysisStyleThematic, ThematicGradientSettings } from \"@itwin/core-common\";\nimport { AuxChannel, AuxDisplacementChannel, AuxParamChannel } from \"../../primitives/AuxChannelTable\";\nimport { DrawParams } from \"../DrawCommand\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport { VariableType, VertexShaderBuilder, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { octDecodeNormal } from \"./Surface\";\nimport { unquantizePosition } from \"./Vertex\";\n\nconst initialize = `\n g_anim_step = vec2(1.0) / u_animLUTParams.xy;\n g_anim_center = g_anim_step * 0.5;\n`;\n\n// The vertex index is an integer in [0..numVertices].\n// The frame index is an integer in [0..numBytesPerVertex/2].\n// Therefore each frame index points at 2 bytes within the texture.\n// The third component of the return value is 0.0 if the input index points to the first 2 bytes of the texel, or 1.0 if pointing to the second 2 bytes\nconst computeAnimLUTCoords = `\nvec3 computeAnimLUTCoords(float vertIndex, float frameIndex) {\n // float baseIndex = (vertIndex * 2.0) + frameIndex;\n float baseIndex = (vertIndex * u_animLUTParams.z) + frameIndex;\n float halfIndex = baseIndex * 0.5;\n float index = floor(halfIndex);\n\n float epsilon = 0.5 / u_animLUTParams.x;\n float yId = floor(index / u_animLUTParams.x + epsilon);\n float xId = index - u_animLUTParams.x * yId;\n\n vec2 texCoord = g_anim_center + vec2(xId / u_animLUTParams.x, yId / u_animLUTParams.y);\n return vec3(texCoord, 2.0 * (halfIndex - index));\n}\n`;\n\n// Sample 2 bytes at the specified index.\nconst sampleAnimVec2 = `\nvec2 sampleAnimVec2(float vertIndex, float frameIndex) {\n vec3 tc = computeAnimLUTCoords(vertIndex, frameIndex);\n vec4 texel = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\n return texel.xy * (1.0 - tc.z) + texel.zw * tc.z;\n}\n`;\n\n// Position is quantized to 6 bytes (2 bytes per component). So we always must sample two adjacent texels. We discard two bytes based on whether the index is even or odd.\nconst computeAnimationFrameDisplacement = `\nvec3 computeAnimationFrameDisplacement(float vertIndex, float frameIndex, vec3 origin, vec3 scale) {\n vec3 tc = computeAnimLUTCoords(vertIndex, frameIndex);\n vec4 enc1 = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\n tc.x += g_anim_step.x;\n vec4 enc2 = floor(TEXTURE(u_animLUT, tc.xy) * 255.0 + 0.5);\n\n vec2 ex = enc1.xy * (1.0 - tc.z) + enc1.zw * tc.z;\n vec2 ey = enc1.zw * (1.0 - tc.z) + enc2.xy * tc.z;\n vec2 ez = enc2.xy * (1.0 - tc.z) + enc2.zw * tc.z;\n\n vec3 qpos = vec3(decodeUInt16(ex), decodeUInt16(ey), decodeUInt16(ez));\n return unquantizePosition(qpos, origin, scale).xyz;\n}\n`;\n\nconst computeAnimationDisplacement = `\nvec3 computeAnimationDisplacement(float vertIndex, float frameIndex0, float frameIndex1, float fraction, vec3 origin, vec3 scale) {\n if (frameIndex0 < 0.0)\n return vec3(0.0, 0.0, 0.0);\n\n vec3 displacement = computeAnimationFrameDisplacement(vertIndex, frameIndex0, origin, scale);\n if (fraction > 0.0) {\n vec3 displacement1 = computeAnimationFrameDisplacement(vertIndex, frameIndex1, origin, scale);\n displacement += fraction * (displacement1 - displacement);\n }\n\n return displacement;\n}\n`;\n\nconst adjustRawPosition = `\n rawPos.xyz += computeAnimationDisplacement(g_vertexLUTIndex, u_animDispParams.x, u_animDispParams.y, u_animDispParams.z, u_qAnimDispOrigin, u_qAnimDispScale);\n return rawPos;\n`;\n\nconst computeAnimationFrameNormal = `\nvec3 computeAnimationFrameNormal(float frameIndex) {\n vec2 enc = sampleAnimVec2(g_vertexLUTIndex, frameIndex);\n return octDecodeNormal(enc);\n}\n`;\n\nconst computeAnimationNormal = `\nvec3 computeAnimationNormal(float frameIndex0, float frameIndex1, float fraction) {\n vec3 normal = computeAnimationFrameNormal(frameIndex0);\n if (fraction > 0.0) {\n vec3 normal1 = computeAnimationFrameNormal(frameIndex1);\n normal += fraction * (normal1 - normal);\n }\n\n return normal;\n}\n`;\n\nconst computeAnimationFrameParam = `\nfloat computeAnimationFrameParam(float frameIndex, float origin, float scale) {\n vec2 enc = sampleAnimVec2(g_vertexLUTIndex, frameIndex);\n return clamp((origin + scale * decodeUInt16(enc)), 0.0, 1.0);\n}\n`;\n\nconst computeAnimationParam = `\nvec2 computeAnimationParam(float frameIndex0, float frameIndex1, float fraction, float origin, float scale) {\n float param = computeAnimationFrameParam(frameIndex0, origin, scale);\n if (fraction > 0.0) {\n float param1 = computeAnimationFrameParam(frameIndex1, origin, scale);\n param += fraction * (param1 - param);\n }\n\n return vec2(.5, param);\n}\n`;\n\nconst scratchAnimParams = [\n undefined,\n undefined,\n new Float32Array(2), // origin, scale\n new Float32Array(3), // index0, index1, fraction\n];\n\nfunction getAnimParams(size: 2 | 3, initialValue?: number): Float32Array {\n const array = scratchAnimParams[size]!;\n if (undefined !== initialValue)\n for (let i = 0; i < array.length; i++)\n array[i] = initialValue;\n\n return array;\n}\n\nfunction getDisplacementChannel(params: DrawParams): { channel: AuxDisplacementChannel, displacement: AnalysisStyleDisplacement } | undefined {\n const displacement = params.target.analysisStyle?.displacement;\n if (!displacement)\n return undefined;\n\n const channel = params.geometry.asLUT?.lut.auxChannels?.displacements?.get(displacement.channelName);\n return channel ? { channel, displacement } : undefined;\n}\n\nfunction getNormalChannel(params: DrawParams): AuxChannel | undefined {\n const channelName = params.target.analysisStyle?.normalChannelName;\n if (undefined === channelName)\n return undefined;\n\n return params.geometry.asLUT?.lut.auxChannels?.normals?.get(channelName);\n}\n\nfunction getScalarChannel(params: DrawParams): { channel: AuxParamChannel, scalar: AnalysisStyleThematic } | undefined {\n const scalar = params.target.analysisStyle?.thematic;\n if (!scalar)\n return undefined;\n\n const channel = params.geometry.asMesh?.lut.auxChannels?.params?.get(scalar.channelName);\n return channel ? { channel, scalar } : undefined;\n}\n\nfunction computeAnimParams(params: Float32Array, channel: AuxChannel, fraction: number): void {\n const { inputs, indices } = channel;\n const inputValue = fraction * inputs[inputs.length - 1];\n for (let i = 0; i < inputs.length - 1; i++) {\n if (inputValue >= inputs[i] && inputValue < inputs[i + 1]) {\n params[0] = indices[i];\n params[1] = indices[i + 1];\n params[2] = inputValue - inputs[i] / (inputs[i + 1] - inputs[i]);\n return;\n }\n }\n params[0] = params[1] = indices[inputs.length - 1];\n params[2] = 0.0;\n}\n\n/** @internal */\nexport function addAnimation(vert: VertexShaderBuilder, isSurface: boolean): void {\n // Lookup table\n vert.addGlobal(\"g_anim_step\", VariableType.Vec2);\n vert.addGlobal(\"g_anim_center\", VariableType.Vec2);\n vert.addInitializer(initialize);\n vert.addFunction(unquantizePosition);\n\n vert.addUniform(\"u_animLUT\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_animLUT\", (uniform, params) => {\n const channels = (params.geometry.asLUT!).lut.auxChannels!;\n assert(undefined !== channels);\n channels.texture.bindSampler(uniform, TextureUnit.AuxChannelLUT);\n });\n });\n\n vert.addUniform(\"u_animLUTParams\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_animLUTParams\", (uniform, params) => {\n const geom = params.geometry.asLUT!;\n assert(undefined !== geom && undefined !== geom.lut.auxChannels);\n const tex = geom.lut.auxChannels.texture;\n const array = getAnimParams(3);\n array[0] = tex.width;\n array[1] = tex.height;\n array[2] = geom.lut.auxChannels.numBytesPerVertex / 2;\n uniform.setUniform3fv(array);\n });\n });\n\n vert.addFunction(computeAnimLUTCoords);\n vert.addFunction(sampleAnimVec2);\n\n // Displacement\n vert.addFunction(computeAnimationFrameDisplacement);\n vert.addFunction(computeAnimationDisplacement);\n vert.set(VertexShaderComponent.AdjustRawPosition, adjustRawPosition);\n\n vert.addUniform(\"u_animDispParams\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_animDispParams\", (uniform, params) => {\n const animParams = getAnimParams(3, 0.0);\n const disp = getDisplacementChannel(params);\n if (undefined !== disp)\n computeAnimParams(animParams, disp.channel, params.target.analysisFraction);\n\n uniform.setUniform3fv(animParams);\n });\n });\n vert.addUniform(\"u_qAnimDispScale\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_qAnimDispScale\", (uniform, params) => {\n const animParams = getAnimParams(3, 0.0);\n const disp = getDisplacementChannel(params);\n if (undefined !== disp)\n for (let i = 0; i < 3; i++)\n animParams[i] = disp.channel.qScale[i] * disp.displacement.scale;\n\n uniform.setUniform3fv(animParams);\n });\n });\n vert.addUniform(\"u_qAnimDispOrigin\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_qAnimDispOrigin\", (uniform, params) => {\n const animParams = getAnimParams(3, 0.0);\n const disp = getDisplacementChannel(params);\n if (undefined !== disp)\n for (let i = 0; i < 3; i++)\n animParams[i] = disp.channel.qOrigin[i] * disp.displacement.scale;\n\n uniform.setUniform3fv(animParams);\n });\n });\n\n // Normal and param\n if (isSurface) {\n vert.addFunction(octDecodeNormal);\n vert.addFunction(computeAnimationFrameNormal);\n vert.addFunction(computeAnimationNormal);\n\n vert.addFunction(computeAnimationFrameParam);\n vert.addFunction(computeAnimationParam);\n\n vert.addUniform(\"u_animNormalParams\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_animNormalParams\", (uniform, params) => {\n const animParams = getAnimParams(3, -1.0);\n const channel = getNormalChannel(params);\n if (undefined !== channel)\n computeAnimParams(animParams, channel, params.target.analysisFraction);\n\n uniform.setUniform3fv(animParams);\n });\n });\n\n vert.addUniform(\"u_animScalarParams\", VariableType.Vec3, (prog) => {\n prog.addGraphicUniform(\"u_animScalarParams\", (uniform, params) => {\n const scalars = getScalarChannel(params);\n const animParams = getAnimParams(3, -1.0);\n if (scalars)\n computeAnimParams(animParams, scalars.channel, params.target.analysisFraction);\n\n uniform.setUniform3fv(animParams);\n });\n });\n\n vert.addUniform(\"u_animScalarQParams\", VariableType.Vec2, (prog) => {\n prog.addGraphicUniform(\"u_animScalarQParams\", (uniform, params) => {\n const scalars = getScalarChannel(params);\n const animParams = getAnimParams(2, 1.0);\n if (scalars) {\n const range = scalars.scalar.range;\n let rangeScale = range.high - range.low;\n if (rangeScale === 0)\n rangeScale = 1;\n\n animParams[0] = ThematicGradientSettings.margin + (scalars.channel.qOrigin - range.low) / rangeScale;\n animParams[1] = ThematicGradientSettings.contentRange * scalars.channel.qScale / rangeScale;\n }\n\n uniform.setUniform2fv(animParams);\n });\n });\n }\n}\n"]}
|
|
@@ -16,45 +16,45 @@ const Fragment_1 = require("./Fragment");
|
|
|
16
16
|
const Viewport_1 = require("./Viewport");
|
|
17
17
|
const ViewportQuad_1 = require("./ViewportQuad");
|
|
18
18
|
// This shader applies a Gaussian blur in one dimension.
|
|
19
|
-
const computeBlur = `
|
|
20
|
-
float delta = u_blurSettings.x;
|
|
21
|
-
float sigma = u_blurSettings.y;
|
|
22
|
-
float texelStepSize = u_blurSettings.z;
|
|
23
|
-
|
|
24
|
-
vec2 tc = windowCoordsToTexCoords(gl_FragCoord.xy);
|
|
25
|
-
vec2 step = texelStepSize / u_viewport;
|
|
26
|
-
|
|
27
|
-
vec3 gaussian;
|
|
28
|
-
const float twoPi = 6.283185307179586;
|
|
29
|
-
gaussian.x = 1.0 / (sqrt(twoPi) * sigma);
|
|
30
|
-
gaussian.y = exp((-0.5 * delta * delta) / (sigma * sigma));
|
|
31
|
-
gaussian.z = gaussian.y * gaussian.y;
|
|
32
|
-
|
|
33
|
-
vec4 origColor = TEXTURE(u_textureToBlur, tc);
|
|
34
|
-
vec4 result = origColor * gaussian.x;
|
|
35
|
-
for (int i = 1; i < 8; i++) {
|
|
36
|
-
gaussian.xy *= gaussian.yz;
|
|
37
|
-
|
|
38
|
-
vec2 offset = float(i) * u_blurDir * step;
|
|
39
|
-
vec2 tcMinusOffset = tc - offset;
|
|
40
|
-
vec2 tcPlusOffset = tc + offset;
|
|
41
|
-
|
|
42
|
-
result += TEXTURE(u_textureToBlur, tcMinusOffset) * gaussian.x;
|
|
43
|
-
result += TEXTURE(u_textureToBlur, tcPlusOffset) * gaussian.x;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return result;
|
|
19
|
+
const computeBlur = `
|
|
20
|
+
float delta = u_blurSettings.x;
|
|
21
|
+
float sigma = u_blurSettings.y;
|
|
22
|
+
float texelStepSize = u_blurSettings.z;
|
|
23
|
+
|
|
24
|
+
vec2 tc = windowCoordsToTexCoords(gl_FragCoord.xy);
|
|
25
|
+
vec2 step = texelStepSize / u_viewport;
|
|
26
|
+
|
|
27
|
+
vec3 gaussian;
|
|
28
|
+
const float twoPi = 6.283185307179586;
|
|
29
|
+
gaussian.x = 1.0 / (sqrt(twoPi) * sigma);
|
|
30
|
+
gaussian.y = exp((-0.5 * delta * delta) / (sigma * sigma));
|
|
31
|
+
gaussian.z = gaussian.y * gaussian.y;
|
|
32
|
+
|
|
33
|
+
vec4 origColor = TEXTURE(u_textureToBlur, tc);
|
|
34
|
+
vec4 result = origColor * gaussian.x;
|
|
35
|
+
for (int i = 1; i < 8; i++) {
|
|
36
|
+
gaussian.xy *= gaussian.yz;
|
|
37
|
+
|
|
38
|
+
vec2 offset = float(i) * u_blurDir * step;
|
|
39
|
+
vec2 tcMinusOffset = tc - offset;
|
|
40
|
+
vec2 tcPlusOffset = tc + offset;
|
|
41
|
+
|
|
42
|
+
result += TEXTURE(u_textureToBlur, tcMinusOffset) * gaussian.x;
|
|
43
|
+
result += TEXTURE(u_textureToBlur, tcPlusOffset) * gaussian.x;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return result;
|
|
47
47
|
`;
|
|
48
48
|
// This optionally skips adding in the blur texture result if the current pixel is a linear/edge/silhouette.
|
|
49
|
-
const testRenderOrder = `
|
|
50
|
-
vec2 rotc = windowCoordsToTexCoords(gl_FragCoord.xy);
|
|
51
|
-
vec4 pdo = TEXTURE(u_pickDepthAndOrder, rotc);
|
|
52
|
-
float order = floor(pdo.x * 16.0 + 0.5);
|
|
53
|
-
if (order >= kRenderOrder_PlanarBit)
|
|
54
|
-
order = order - kRenderOrder_PlanarBit;
|
|
55
|
-
if (order >= kRenderOrder_Linear && order <= kRenderOrder_Silhouette)
|
|
56
|
-
return vec4(1.0);
|
|
57
|
-
|
|
49
|
+
const testRenderOrder = `
|
|
50
|
+
vec2 rotc = windowCoordsToTexCoords(gl_FragCoord.xy);
|
|
51
|
+
vec4 pdo = TEXTURE(u_pickDepthAndOrder, rotc);
|
|
52
|
+
float order = floor(pdo.x * 16.0 + 0.5);
|
|
53
|
+
if (order >= kRenderOrder_PlanarBit)
|
|
54
|
+
order = order - kRenderOrder_PlanarBit;
|
|
55
|
+
if (order >= kRenderOrder_Linear && order <= kRenderOrder_Silhouette)
|
|
56
|
+
return vec4(1.0);
|
|
57
|
+
|
|
58
58
|
`;
|
|
59
59
|
/** @internal */
|
|
60
60
|
function createBlurProgram(context, type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blur.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Blur.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA2D;AAC3D,gDAA6C;AAG7C,wCAA6C;AAC7C,yDAA6D;AAC7D,yCAAmE;AACnE,yCAAyC;AACzC,iDAA2D;AAE3D,wDAAwD;AACxD,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BnB,CAAC;AAEF,4GAA4G;AAC5G,MAAM,eAAe,GAAG;;;;;;;;;CASvB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,iBAAiB,CAAC,OAA+B,EAAE,IAAc;IAC/E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,yBAAQ,CAAC,SAAS,KAAK,IAAI,EAAE;QAC/B,IAAA,0CAAuB,EAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,mDAA2C,eAAe,GAAG,WAAW,CAAC,CAAC;KACnF;SAAM;QACL,IAAI,CAAC,GAAG,mDAA2C,WAAW,CAAC,CAAC;KACjE;IAED,IAAI,CAAC,GAAG,kDAAyC,0BAAe,CAAC,CAAC;IAElE,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC;IAElB,IAAI,CAAC,UAAU,CAAC,iBAAiB,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAClE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAwB,CAAC;YAC7C,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,WAAW,6BAAqB,CAAC,IAAI,EAAE,EAAE;QACvD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAwB,CAAC;YAC7C,OAAO,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,gBAAgB,6BAAqB,CAAC,IAAI,EAAE,EAAE;QAC5D,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;gBACpC,mJAAmJ;gBACnJ,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS;gBAChD,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS;gBAChD,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,iBAAiB;aAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,yBAAQ,CAAC,SAAS,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,UAAU,CAAC,qBAAqB,kCAA0B,CAAC,IAAI,EAAE,EAAE;YACtE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAwB,CAAC;gBAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe;oBAC1C,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;;oBAEhF,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC;KACpD;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;KAC3C;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AA5DD,8CA4DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"Blur.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Blur.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 { BlurGeometry, BlurType } from \"../CachedGeometry\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderComponent, VariablePrecision, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { Texture2DHandle } from \"../Texture\";\nimport { addRenderOrderConstants } from \"./FeatureSymbology\";\nimport { addWindowToTexCoords, assignFragColor } from \"./Fragment\";\nimport { addViewport } from \"./Viewport\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\n// This shader applies a Gaussian blur in one dimension.\nconst computeBlur = `\n float delta = u_blurSettings.x;\n float sigma = u_blurSettings.y;\n float texelStepSize = u_blurSettings.z;\n\n vec2 tc = windowCoordsToTexCoords(gl_FragCoord.xy);\n vec2 step = texelStepSize / u_viewport;\n\n vec3 gaussian;\n const float twoPi = 6.283185307179586;\n gaussian.x = 1.0 / (sqrt(twoPi) * sigma);\n gaussian.y = exp((-0.5 * delta * delta) / (sigma * sigma));\n gaussian.z = gaussian.y * gaussian.y;\n\n vec4 origColor = TEXTURE(u_textureToBlur, tc);\n vec4 result = origColor * gaussian.x;\n for (int i = 1; i < 8; i++) {\n gaussian.xy *= gaussian.yz;\n\n vec2 offset = float(i) * u_blurDir * step;\n vec2 tcMinusOffset = tc - offset;\n vec2 tcPlusOffset = tc + offset;\n\n result += TEXTURE(u_textureToBlur, tcMinusOffset) * gaussian.x;\n result += TEXTURE(u_textureToBlur, tcPlusOffset) * gaussian.x;\n }\n\n return result;\n`;\n\n// This optionally skips adding in the blur texture result if the current pixel is a linear/edge/silhouette.\nconst testRenderOrder = `\n vec2 rotc = windowCoordsToTexCoords(gl_FragCoord.xy);\n vec4 pdo = TEXTURE(u_pickDepthAndOrder, rotc);\n float order = floor(pdo.x * 16.0 + 0.5);\n if (order >= kRenderOrder_PlanarBit)\n order = order - kRenderOrder_PlanarBit;\n if (order >= kRenderOrder_Linear && order <= kRenderOrder_Silhouette)\n return vec4(1.0);\n\n`;\n\n/** @internal */\nexport function createBlurProgram(context: WebGL2RenderingContext, type: BlurType): ShaderProgram {\n const builder = createViewportQuadBuilder(true);\n const frag = builder.frag;\n\n addWindowToTexCoords(frag);\n\n if (BlurType.TestOrder === type) {\n addRenderOrderConstants(frag);\n frag.set(FragmentShaderComponent.ComputeBaseColor, testRenderOrder + computeBlur);\n } else {\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeBlur);\n }\n\n frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n\n addViewport(frag);\n\n frag.addUniform(\"u_textureToBlur\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_textureToBlur\", (uniform, params) => {\n const geom = params.geometry as BlurGeometry;\n Texture2DHandle.bindSampler(uniform, geom.textureToBlur, TextureUnit.Zero);\n });\n });\n\n frag.addUniform(\"u_blurDir\", VariableType.Vec2, (prog) => {\n prog.addGraphicUniform(\"u_blurDir\", (uniform, params) => {\n const geom = params.geometry as BlurGeometry;\n uniform.setUniform2fv(new Float32Array([geom.blurDir.x, geom.blurDir.y]));\n });\n });\n\n frag.addUniform(\"u_blurSettings\", VariableType.Vec3, (prog) => {\n prog.addProgramUniform(\"u_blurSettings\", (uniform, params) => {\n const hbaoSettings = new Float32Array([\n // ###TODO: If we want to apply this blur shader to situations other than AO, we should move these settings away from the ambient occlusion params.\n params.target.ambientOcclusionSettings.blurDelta,\n params.target.ambientOcclusionSettings.blurSigma,\n params.target.ambientOcclusionSettings.blurTexelStepSize]);\n uniform.setUniform3fv(hbaoSettings);\n });\n }, VariablePrecision.High);\n\n if (BlurType.TestOrder === type) {\n frag.addUniform(\"u_pickDepthAndOrder\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_pickDepthAndOrder\", (uniform, params) => {\n const geom = params.geometry as BlurGeometry;\n if (params.target.compositor.needHiddenEdges)\n Texture2DHandle.bindSampler(uniform, geom.depthAndOrderHidden, TextureUnit.One);\n else\n Texture2DHandle.bindSampler(uniform, geom.depthAndOrder, TextureUnit.One);\n });\n });\n builder.vert.headerComment = \"//!V! BlurTestOrder\";\n builder.frag.headerComment = \"//!F! BlurTestOrder\";\n } else {\n builder.vert.headerComment = \"//!V! Blur\";\n builder.frag.headerComment = \"//!F! Blur\";\n }\n\n return builder.buildProgram(context);\n}\n"]}
|
|
@@ -10,10 +10,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.createClearPickAndColorProgram = void 0;
|
|
11
11
|
const ViewportQuad_1 = require("./ViewportQuad");
|
|
12
12
|
const computeBaseColor = "return u_bgColor;";
|
|
13
|
-
const assignFragData = `
|
|
14
|
-
FragColor0 = baseColor;
|
|
15
|
-
FragColor1 = vec4(0.0);
|
|
16
|
-
FragColor2 = vec4(0.0);
|
|
13
|
+
const assignFragData = `
|
|
14
|
+
FragColor0 = baseColor;
|
|
15
|
+
FragColor1 = vec4(0.0);
|
|
16
|
+
FragColor2 = vec4(0.0);
|
|
17
17
|
`;
|
|
18
18
|
/** @internal */
|
|
19
19
|
function createClearPickAndColorProgram(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearPickAndColor.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ClearPickAndColor.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;CAItB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,8BAA8B,CAAC,OAA+B;IAC5E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,6BAAqB,CAAC,IAAI,EAAE,EAAE;QACvD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC;IAEvD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAlBD,wEAkBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"ClearPickAndColor.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ClearPickAndColor.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;CAItB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,8BAA8B,CAAC,OAA+B;IAC5E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,6BAAqB,CAAC,IAAI,EAAE,EAAE;QACvD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC;IAEvD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAlBD,wEAkBC","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 { FragmentShaderComponent, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nconst computeBaseColor = \"return u_bgColor;\";\n\nconst assignFragData = `\n FragColor0 = baseColor;\n FragColor1 = vec4(0.0);\n FragColor2 = vec4(0.0);\n`;\n\n/** @internal */\nexport function createClearPickAndColorProgram(context: WebGL2RenderingContext): ShaderProgram {\n const builder = createViewportQuadBuilder(false);\n const frag = builder.frag;\n frag.addUniform(\"u_bgColor\", VariableType.Vec4, (prog) => {\n prog.addProgramUniform(\"u_bgColor\", (uniform, params) => {\n params.target.uniforms.style.bindBackgroundRgba(uniform);\n });\n });\n\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n\n frag.addDrawBuffersExtension(3);\n frag.set(FragmentShaderComponent.AssignFragData, assignFragData);\n\n builder.vert.headerComment = \"//!V! ClearPickAndColor\";\n builder.frag.headerComment = \"//!F! ClearPickAndColor\";\n\n return builder.buildProgram(context);\n}\n"]}
|
|
@@ -10,9 +10,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.createClearTranslucentProgram = void 0;
|
|
11
11
|
const ViewportQuad_1 = require("./ViewportQuad");
|
|
12
12
|
const computeBaseColor = "return vec4(0.0);";
|
|
13
|
-
const assignFragData = `
|
|
14
|
-
FragColor0 = vec4(0.0, 0.0, 0.0, 1.0);
|
|
15
|
-
FragColor1 = vec4(1.0, 0.0, 0.0, 1.0);
|
|
13
|
+
const assignFragData = `
|
|
14
|
+
FragColor0 = vec4(0.0, 0.0, 0.0, 1.0);
|
|
15
|
+
FragColor1 = vec4(1.0, 0.0, 0.0, 1.0);
|
|
16
16
|
`;
|
|
17
17
|
/** @internal */
|
|
18
18
|
function createClearTranslucentProgram(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearTranslucent.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ClearTranslucent.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,cAAc,GAAG;;;CAGtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,6BAA6B,CAAC,OAA+B;IAC3E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IAEtD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAXD,sEAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"ClearTranslucent.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ClearTranslucent.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,cAAc,GAAG;;;CAGtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,6BAA6B,CAAC,OAA+B;IAC3E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IAEtD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAXD,sEAWC","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 { FragmentShaderComponent } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nconst computeBaseColor = \"return vec4(0.0);\";\nconst assignFragData = `\n FragColor0 = vec4(0.0, 0.0, 0.0, 1.0);\n FragColor1 = vec4(1.0, 0.0, 0.0, 1.0);\n`;\n\n/** @internal */\nexport function createClearTranslucentProgram(context: WebGL2RenderingContext): ShaderProgram {\n const builder = createViewportQuadBuilder(false);\n const frag = builder.frag;\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n frag.addDrawBuffersExtension(2);\n frag.set(FragmentShaderComponent.AssignFragData, assignFragData);\n\n builder.vert.headerComment = \"//!V! ClearTranslucent\";\n builder.frag.headerComment = \"//!F! ClearTranslucent\";\n\n return builder.buildProgram(context);\n}\n"]}
|
|
@@ -12,71 +12,71 @@ const core_bentley_1 = require("@itwin/core-bentley");
|
|
|
12
12
|
const RenderFlags_1 = require("../RenderFlags");
|
|
13
13
|
const Common_1 = require("./Common");
|
|
14
14
|
const Vertex_1 = require("./Vertex");
|
|
15
|
-
const getClipPlaneFloat = `
|
|
16
|
-
vec4 getClipPlane(int index) {
|
|
17
|
-
float x = 0.5;
|
|
18
|
-
float y = (float(index) + 0.5) / float(u_clipParams[2]);
|
|
19
|
-
return TEXTURE(s_clipSampler, vec2(x, y));
|
|
20
|
-
}
|
|
15
|
+
const getClipPlaneFloat = `
|
|
16
|
+
vec4 getClipPlane(int index) {
|
|
17
|
+
float x = 0.5;
|
|
18
|
+
float y = (float(index) + 0.5) / float(u_clipParams[2]);
|
|
19
|
+
return TEXTURE(s_clipSampler, vec2(x, y));
|
|
20
|
+
}
|
|
21
21
|
`;
|
|
22
|
-
exports.unpackFloat = `
|
|
23
|
-
float unpackFloat(vec4 v) {
|
|
24
|
-
const float bias = 38.0;
|
|
25
|
-
v = floor(v * 255.0 + 0.5);
|
|
26
|
-
float temp = v.w / 2.0;
|
|
27
|
-
float exponent = floor(temp);
|
|
28
|
-
float sign = (temp - exponent) * 2.0;
|
|
29
|
-
exponent = exponent - bias;
|
|
30
|
-
sign = -(sign * 2.0 - 1.0);
|
|
31
|
-
float unpacked = dot(sign * v.xyz, vec3(1.0 / 256.0, 1.0 / 65536.0, 1.0 / 16777216.0)); // shift x right 8, y right 16 and z right 24
|
|
32
|
-
return unpacked * pow(10.0, exponent);
|
|
33
|
-
}
|
|
22
|
+
exports.unpackFloat = `
|
|
23
|
+
float unpackFloat(vec4 v) {
|
|
24
|
+
const float bias = 38.0;
|
|
25
|
+
v = floor(v * 255.0 + 0.5);
|
|
26
|
+
float temp = v.w / 2.0;
|
|
27
|
+
float exponent = floor(temp);
|
|
28
|
+
float sign = (temp - exponent) * 2.0;
|
|
29
|
+
exponent = exponent - bias;
|
|
30
|
+
sign = -(sign * 2.0 - 1.0);
|
|
31
|
+
float unpacked = dot(sign * v.xyz, vec3(1.0 / 256.0, 1.0 / 65536.0, 1.0 / 16777216.0)); // shift x right 8, y right 16 and z right 24
|
|
32
|
+
return unpacked * pow(10.0, exponent);
|
|
33
|
+
}
|
|
34
34
|
`;
|
|
35
|
-
const calcClipPlaneDist = `
|
|
36
|
-
float calcClipPlaneDist(vec3 camPos, vec4 plane) {
|
|
37
|
-
return dot(vec4(camPos, 1.0), plane);
|
|
38
|
-
}
|
|
35
|
+
const calcClipPlaneDist = `
|
|
36
|
+
float calcClipPlaneDist(vec3 camPos, vec4 plane) {
|
|
37
|
+
return dot(vec4(camPos, 1.0), plane);
|
|
38
|
+
}
|
|
39
39
|
`;
|
|
40
|
-
const applyClipPlanesPrelude = `
|
|
41
|
-
int numPlaneSets = 1;
|
|
42
|
-
int numSetsClippedBy = 0;
|
|
43
|
-
bool clippedByCurrentPlaneSet = false;
|
|
40
|
+
const applyClipPlanesPrelude = `
|
|
41
|
+
int numPlaneSets = 1;
|
|
42
|
+
int numSetsClippedBy = 0;
|
|
43
|
+
bool clippedByCurrentPlaneSet = false;
|
|
44
44
|
`;
|
|
45
|
-
const applyClipPlanesLoop = `
|
|
46
|
-
for (int i = u_clipParams[0]; i < u_clipParams[1]; i++) {
|
|
45
|
+
const applyClipPlanesLoop = `
|
|
46
|
+
for (int i = u_clipParams[0]; i < u_clipParams[1]; i++) {
|
|
47
47
|
`;
|
|
48
|
-
const applyClipPlanesPostlude = `
|
|
49
|
-
vec4 plane = getClipPlane(i);
|
|
50
|
-
if (plane.x == 2.0) { // indicates start of new UnionOfConvexClipPlaneSets
|
|
51
|
-
if (numSetsClippedBy + int(clippedByCurrentPlaneSet) == numPlaneSets)
|
|
52
|
-
break;
|
|
53
|
-
|
|
54
|
-
numPlaneSets = 1;
|
|
55
|
-
numSetsClippedBy = 0;
|
|
56
|
-
clippedByCurrentPlaneSet = false;
|
|
57
|
-
} else if (plane.xyz == vec3(0.0)) { // indicates start of new clip plane set
|
|
58
|
-
numPlaneSets = numPlaneSets + 1;
|
|
59
|
-
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
60
|
-
clippedByCurrentPlaneSet = false;
|
|
61
|
-
} else if (!clippedByCurrentPlaneSet && calcClipPlaneDist(v_eyeSpace, plane) < 0.0) {
|
|
62
|
-
clippedByCurrentPlaneSet = true;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
67
|
-
if (numSetsClippedBy == numPlaneSets) {
|
|
68
|
-
if (u_outsideRgba.a > 0.0) {
|
|
69
|
-
g_clipColor = u_outsideRgba.rgb;
|
|
70
|
-
return true;
|
|
71
|
-
} else {
|
|
72
|
-
discard;
|
|
73
|
-
}
|
|
74
|
-
} else if (u_insideRgba.a > 0.0) {
|
|
75
|
-
g_clipColor = u_insideRgba.rgb;
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return false;
|
|
48
|
+
const applyClipPlanesPostlude = `
|
|
49
|
+
vec4 plane = getClipPlane(i);
|
|
50
|
+
if (plane.x == 2.0) { // indicates start of new UnionOfConvexClipPlaneSets
|
|
51
|
+
if (numSetsClippedBy + int(clippedByCurrentPlaneSet) == numPlaneSets)
|
|
52
|
+
break;
|
|
53
|
+
|
|
54
|
+
numPlaneSets = 1;
|
|
55
|
+
numSetsClippedBy = 0;
|
|
56
|
+
clippedByCurrentPlaneSet = false;
|
|
57
|
+
} else if (plane.xyz == vec3(0.0)) { // indicates start of new clip plane set
|
|
58
|
+
numPlaneSets = numPlaneSets + 1;
|
|
59
|
+
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
60
|
+
clippedByCurrentPlaneSet = false;
|
|
61
|
+
} else if (!clippedByCurrentPlaneSet && calcClipPlaneDist(v_eyeSpace, plane) < 0.0) {
|
|
62
|
+
clippedByCurrentPlaneSet = true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
67
|
+
if (numSetsClippedBy == numPlaneSets) {
|
|
68
|
+
if (u_outsideRgba.a > 0.0) {
|
|
69
|
+
g_clipColor = u_outsideRgba.rgb;
|
|
70
|
+
return true;
|
|
71
|
+
} else {
|
|
72
|
+
discard;
|
|
73
|
+
}
|
|
74
|
+
} else if (u_insideRgba.a > 0.0) {
|
|
75
|
+
g_clipColor = u_insideRgba.rgb;
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return false;
|
|
80
80
|
`;
|
|
81
81
|
const applyClipPlanes = applyClipPlanesPrelude + applyClipPlanesLoop + applyClipPlanesPostlude;
|
|
82
82
|
const clipParams = new Int32Array(3);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clipping.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Clipping.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"Clipping.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Clipping.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,gDAA6C;AAE7C,qCAAuC;AACvC,qCAA8C;AAE9C,MAAM,iBAAiB,GAAG;;;;;;CAMzB,CAAC;AAEW,QAAA,WAAW,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;CAIzB,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;CAI9B,CAAC;AAEF,MAAM,mBAAmB,GAAG;;CAE3B,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC/B,CAAC;AAEF,MAAM,eAAe,GAAG,sBAAsB,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;AAE/F,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAErC,gBAAgB;AAChB,SAAgB,WAAW,CAAC,IAAoB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAElB,6BAA6B;IAC7B,+CAA+C;IAC/C,uBAAuB;IACvB,IAAI,CAAC,eAAe,CAAC,cAAc,4BAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;QACpE,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,iEAAiE;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC;YAExB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;YACtD,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;YACjC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAA,qBAAM,EAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,eAAe,6BAAqB,CAAC,OAAO,EAAE,EAAE;QAC9D,OAAO,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,cAAc,6BAAqB,CAAC,OAAO,EAAE,EAAE;QAC7D,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IAEzB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEpC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,eAAe,kCAA0B,CAAC,OAAO,EAAE,EAAE;QACnE,OAAO,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YAChE,IAAA,qBAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YAC9B,IAAI,OAAO,KAAK,SAAS;gBACvB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,yBAAW,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,GAAG,iDAAwC,eAAe,CAAC,CAAC;AACnE,CAAC;AAlDD,kCAkDC","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 { TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderComponent, ProgramBuilder, VariablePrecision, VariableType } from \"../ShaderBuilder\";\nimport { addEyeSpace } from \"./Common\";\nimport { addModelViewMatrix } from \"./Vertex\";\n\nconst getClipPlaneFloat = `\nvec4 getClipPlane(int index) {\n float x = 0.5;\n float y = (float(index) + 0.5) / float(u_clipParams[2]);\n return TEXTURE(s_clipSampler, vec2(x, y));\n}\n`;\n\nexport const unpackFloat = `\nfloat unpackFloat(vec4 v) {\n const float bias = 38.0;\n v = floor(v * 255.0 + 0.5);\n float temp = v.w / 2.0;\n float exponent = floor(temp);\n float sign = (temp - exponent) * 2.0;\n exponent = exponent - bias;\n sign = -(sign * 2.0 - 1.0);\n float unpacked = dot(sign * v.xyz, vec3(1.0 / 256.0, 1.0 / 65536.0, 1.0 / 16777216.0)); // shift x right 8, y right 16 and z right 24\n return unpacked * pow(10.0, exponent);\n}\n`;\n\nconst calcClipPlaneDist = `\nfloat calcClipPlaneDist(vec3 camPos, vec4 plane) {\n return dot(vec4(camPos, 1.0), plane);\n}\n`;\n\nconst applyClipPlanesPrelude = `\n int numPlaneSets = 1;\n int numSetsClippedBy = 0;\n bool clippedByCurrentPlaneSet = false;\n`;\n\nconst applyClipPlanesLoop = `\n for (int i = u_clipParams[0]; i < u_clipParams[1]; i++) {\n`;\n\nconst applyClipPlanesPostlude = `\n vec4 plane = getClipPlane(i);\n if (plane.x == 2.0) { // indicates start of new UnionOfConvexClipPlaneSets\n if (numSetsClippedBy + int(clippedByCurrentPlaneSet) == numPlaneSets)\n break;\n\n numPlaneSets = 1;\n numSetsClippedBy = 0;\n clippedByCurrentPlaneSet = false;\n } else if (plane.xyz == vec3(0.0)) { // indicates start of new clip plane set\n numPlaneSets = numPlaneSets + 1;\n numSetsClippedBy += int(clippedByCurrentPlaneSet);\n clippedByCurrentPlaneSet = false;\n } else if (!clippedByCurrentPlaneSet && calcClipPlaneDist(v_eyeSpace, plane) < 0.0) {\n clippedByCurrentPlaneSet = true;\n }\n }\n\n numSetsClippedBy += int(clippedByCurrentPlaneSet);\n if (numSetsClippedBy == numPlaneSets) {\n if (u_outsideRgba.a > 0.0) {\n g_clipColor = u_outsideRgba.rgb;\n return true;\n } else {\n discard;\n }\n } else if (u_insideRgba.a > 0.0) {\n g_clipColor = u_insideRgba.rgb;\n return true;\n }\n\n return false;\n`;\n\nconst applyClipPlanes = applyClipPlanesPrelude + applyClipPlanesLoop + applyClipPlanesPostlude;\n\nconst clipParams = new Int32Array(3);\n\n/** @internal */\nexport function addClipping(prog: ProgramBuilder) {\n const frag = prog.frag;\n const vert = prog.vert;\n\n addEyeSpace(prog);\n\n // [0] = index of first plane\n // [1] = index of last plane (one past the end)\n // [2] = texture height\n prog.addUniformArray(\"u_clipParams\", VariableType.Int, 3, (program) => {\n program.addGraphicUniform(\"u_clipParams\", (uniform, params) => {\n // Set this to false to visualize pre-shader culling of geometry.\n const doClipping = true;\n\n const stack = params.target.uniforms.branch.clipStack;\n clipParams[0] = stack.startIndex;\n clipParams[1] = stack.endIndex;\n clipParams[2] = doClipping ? stack.textureHeight : 0;\n assert(clipParams[2] > 0 || !doClipping);\n uniform.setUniform1iv(clipParams);\n });\n });\n\n prog.addUniform(\"u_outsideRgba\", VariableType.Vec4, (program) => {\n program.addGraphicUniform(\"u_outsideRgba\", (uniform, params) => {\n params.target.uniforms.branch.clipStack.outsideColor.bind(uniform);\n });\n });\n\n prog.addUniform(\"u_insideRgba\", VariableType.Vec4, (program) => {\n program.addGraphicUniform(\"u_insideRgba\", (uniform, params) => {\n params.target.uniforms.branch.clipStack.insideColor.bind(uniform);\n });\n });\n\n addModelViewMatrix(vert);\n\n frag.addFunction(getClipPlaneFloat);\n\n frag.addFunction(calcClipPlaneDist);\n frag.addUniform(\"s_clipSampler\", VariableType.Sampler2D, (program) => {\n program.addGraphicUniform(\"s_clipSampler\", (uniform, params) => {\n const texture = params.target.uniforms.branch.clipStack.texture;\n assert(texture !== undefined);\n if (texture !== undefined)\n texture.bindSampler(uniform, TextureUnit.ClipVolume);\n });\n }, VariablePrecision.High);\n\n frag.set(FragmentShaderComponent.ApplyClipping, applyClipPlanes);\n}\n"]}
|
|
@@ -14,21 +14,21 @@ const Instancing_1 = require("./Instancing");
|
|
|
14
14
|
// NB: Color in color table has pre-multiplied alpha - revert it.
|
|
15
15
|
function getComputeElementColor(quantized) {
|
|
16
16
|
const vertData = quantized ? "g_vertLutData1.zw" : "g_vertLutData4.xy";
|
|
17
|
-
return `
|
|
18
|
-
float colorTableStart = u_vertParams.z * u_vertParams.w; // num rgba per-vertex times num vertices
|
|
19
|
-
float colorIndex = decodeUInt16(${vertData});
|
|
20
|
-
vec2 tc = computeLUTCoords(colorTableStart+colorIndex, u_vertParams.xy, g_vert_center, 1.0);
|
|
21
|
-
vec4 lutColor = TEXTURE(u_vertLUT, tc);
|
|
22
|
-
lutColor.rgb /= max(0.0001, lutColor.a);
|
|
23
|
-
vec4 color = (u_shaderFlags[kShaderBit_NonUniformColor] ? lutColor : u_color);
|
|
17
|
+
return `
|
|
18
|
+
float colorTableStart = u_vertParams.z * u_vertParams.w; // num rgba per-vertex times num vertices
|
|
19
|
+
float colorIndex = decodeUInt16(${vertData});
|
|
20
|
+
vec2 tc = computeLUTCoords(colorTableStart+colorIndex, u_vertParams.xy, g_vert_center, 1.0);
|
|
21
|
+
vec4 lutColor = TEXTURE(u_vertLUT, tc);
|
|
22
|
+
lutColor.rgb /= max(0.0001, lutColor.a);
|
|
23
|
+
vec4 color = (u_shaderFlags[kShaderBit_NonUniformColor] ? lutColor : u_color);
|
|
24
24
|
`;
|
|
25
25
|
}
|
|
26
|
-
const returnColor = `
|
|
27
|
-
return color;
|
|
26
|
+
const returnColor = `
|
|
27
|
+
return color;
|
|
28
28
|
`;
|
|
29
|
-
const applyInstanceColor = `
|
|
30
|
-
color.rgb = mix(color.rgb, a_instanceRgba.rgb / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Rgb));
|
|
31
|
-
color.a = mix(color.a, a_instanceRgba.a / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Alpha));
|
|
29
|
+
const applyInstanceColor = `
|
|
30
|
+
color.rgb = mix(color.rgb, a_instanceRgba.rgb / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Rgb));
|
|
31
|
+
color.a = mix(color.a, a_instanceRgba.a / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Alpha));
|
|
32
32
|
`;
|
|
33
33
|
function getComputeColor(vert) {
|
|
34
34
|
const quantized = "quantized" === vert.positionType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Color.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,6CAAgD;AAEhD,SAAS;AACT,8GAA8G;AAC9G,iEAAiE;AACjE,SAAS,sBAAsB,CAAC,SAAkB;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACvE,OAAO;;oCAE2B,QAAQ;;;;;CAK3C,CAAC;AACF,CAAC;AAED,MAAM,WAAW,GAAG;;CAEnB,CAAC;AAEF,MAAM,kBAAkB,GAAG;;;CAG1B,CAAC;AAEF,SAAS,eAAe,CAAC,IAAyB;IAChD,MAAM,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC;IACpD,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,IAAA,6BAAgB,EAAC,IAAI,CAAC,CAAC;QACvB,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,kBAAkB,GAAG,WAAW,EAAE,CAAC;KAClF;SAAM;QACL,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC;KAC7D;AACH,CAAC;AAED,WAAW;AACX,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,OAAuB;IAC9C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,6BAAqB,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAM,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAXD,4BAWC;AAED,gBAAgB;AAChB,SAAgB,eAAe,CAAC,OAAuB,EAAE,iBAAyB;IAChF,OAAO,CAAC,UAAU,CAAC,SAAS,4BAAoB,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,GAAG,iDAAyC,iBAAiB,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAJD,0CAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Color.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,6CAAgD;AAEhD,SAAS;AACT,8GAA8G;AAC9G,iEAAiE;AACjE,SAAS,sBAAsB,CAAC,SAAkB;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACvE,OAAO;;oCAE2B,QAAQ;;;;;CAK3C,CAAC;AACF,CAAC;AAED,MAAM,WAAW,GAAG;;CAEnB,CAAC;AAEF,MAAM,kBAAkB,GAAG;;;CAG1B,CAAC;AAEF,SAAS,eAAe,CAAC,IAAyB;IAChD,MAAM,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC;IACpD,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,IAAA,6BAAgB,EAAC,IAAI,CAAC,CAAC;QACvB,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,kBAAkB,GAAG,WAAW,EAAE,CAAC;KAClF;SAAM;QACL,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC;KAC7D;AACH,CAAC;AAED,WAAW;AACX,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,OAAuB;IAC9C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,6BAAqB,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAM,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAXD,4BAWC;AAED,gBAAgB;AAChB,SAAgB,eAAe,CAAC,OAAuB,EAAE,iBAAyB;IAChF,OAAO,CAAC,UAAU,CAAC,SAAS,4BAAoB,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,GAAG,iDAAyC,iBAAiB,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAJD,0CAIC","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 Rendering\n */\n\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderBuilder, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { addInstanceColor } from \"./Instancing\";\n\n// Vertex\n// Color table is appended to vertex data. Compute the index of the vertex one-past-the-end of the vertex data\n// NB: Color in color table has pre-multiplied alpha - revert it.\nfunction getComputeElementColor(quantized: boolean): string {\n const vertData = quantized ? \"g_vertLutData1.zw\" : \"g_vertLutData4.xy\";\n return `\n float colorTableStart = u_vertParams.z * u_vertParams.w; // num rgba per-vertex times num vertices\n float colorIndex = decodeUInt16(${vertData});\n vec2 tc = computeLUTCoords(colorTableStart+colorIndex, u_vertParams.xy, g_vert_center, 1.0);\n vec4 lutColor = TEXTURE(u_vertLUT, tc);\n lutColor.rgb /= max(0.0001, lutColor.a);\n vec4 color = (u_shaderFlags[kShaderBit_NonUniformColor] ? lutColor : u_color);\n`;\n}\n\nconst returnColor = `\n return color;\n`;\n\nconst applyInstanceColor = `\n color.rgb = mix(color.rgb, a_instanceRgba.rgb / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Rgb));\n color.a = mix(color.a, a_instanceRgba.a / 255.0, u_applyInstanceColor * extractInstanceBit(kOvrBit_Alpha));\n`;\n\nfunction getComputeColor(vert: VertexShaderBuilder): string {\n const quantized = \"quantized\" === vert.positionType;\n if (vert.usesInstancedGeometry) {\n addInstanceColor(vert);\n return `${getComputeElementColor(quantized)}${applyInstanceColor}${returnColor}`;\n } else {\n return `${getComputeElementColor(quantized)}${returnColor}`;\n }\n}\n\n// Fragment\nconst computeBaseColor = \"return v_color;\";\n\n/** @internal */\nexport function addColor(builder: ProgramBuilder) {\n builder.vert.addUniform(\"u_color\", VariableType.Vec4, (prog) => {\n prog.addGraphicUniform(\"u_color\", (uniform, params) => {\n const lutGeom = params.geometry.asLUT!;\n const color = lutGeom.getColor(params.target);\n if (color.isUniform) {\n color.uniform.bind(uniform);\n }\n });\n });\n addVaryingColor(builder, getComputeColor(builder.vert));\n}\n\n/** @internal */\nexport function addVaryingColor(builder: ProgramBuilder, computeVertexBase: string) {\n builder.addVarying(\"v_color\", VariableType.Vec4);\n builder.vert.set(VertexShaderComponent.ComputeBaseColor, computeVertexBase);\n builder.frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n}\n"]}
|
|
@@ -12,13 +12,13 @@ const RenderFlags_1 = require("../RenderFlags");
|
|
|
12
12
|
const Texture_1 = require("../Texture");
|
|
13
13
|
const ViewportQuad_1 = require("./ViewportQuad");
|
|
14
14
|
const computeBaseColor = "return vec4(1.0);";
|
|
15
|
-
const assignFragData = `
|
|
16
|
-
if (v_texCoord.y < (1.0 / 3.0))
|
|
17
|
-
FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 3.0));
|
|
18
|
-
else if (v_texCoord.y < (2.0 / 3.0))
|
|
19
|
-
FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 1.0));
|
|
20
|
-
else
|
|
21
|
-
FragColor = TEXTURE(u_texture2, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 2.0));
|
|
15
|
+
const assignFragData = `
|
|
16
|
+
if (v_texCoord.y < (1.0 / 3.0))
|
|
17
|
+
FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 3.0));
|
|
18
|
+
else if (v_texCoord.y < (2.0 / 3.0))
|
|
19
|
+
FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 1.0));
|
|
20
|
+
else
|
|
21
|
+
FragColor = TEXTURE(u_texture2, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 2.0));
|
|
22
22
|
`;
|
|
23
23
|
/** @internal */
|
|
24
24
|
function createCombine3TexturesProgram(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combine3Textures.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Combine3Textures.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,gDAA6C;AAG7C,wCAA6C;AAC7C,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;;;CAOtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,6BAA6B,CAAC,OAA+B;IAC3E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IAEtD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AA9BD,sEA8BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"Combine3Textures.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Combine3Textures.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,gDAA6C;AAG7C,wCAA6C;AAC7C,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;;;CAOtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,6BAA6B,CAAC,OAA+B;IAC3E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAqC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;IAEtD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AA9BD,sEA8BC","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 { Combine3TexturesGeometry } from \"../CachedGeometry\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderComponent, VariablePrecision, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { Texture2DHandle } from \"../Texture\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nconst computeBaseColor = \"return vec4(1.0);\";\n\nconst assignFragData = `\n if (v_texCoord.y < (1.0 / 3.0))\n FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 3.0));\n else if (v_texCoord.y < (2.0 / 3.0))\n FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 1.0));\n else\n FragColor = TEXTURE(u_texture2, vec2(v_texCoord.x, v_texCoord.y * 3.0 - 2.0));\n`;\n\n/** @internal */\nexport function createCombine3TexturesProgram(context: WebGL2RenderingContext): ShaderProgram {\n const builder = createViewportQuadBuilder(true);\n const frag = builder.frag;\n\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n\n frag.addUniform(\"u_texture0\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_texture0\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as Combine3TexturesGeometry).texture0, TextureUnit.Zero);\n });\n }, VariablePrecision.High);\n\n frag.addUniform(\"u_texture1\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_texture1\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as Combine3TexturesGeometry).texture1, TextureUnit.One);\n });\n }, VariablePrecision.High);\n\n frag.addUniform(\"u_texture2\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_texture2\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as Combine3TexturesGeometry).texture2, TextureUnit.Two);\n });\n }, VariablePrecision.High);\n\n frag.set(FragmentShaderComponent.AssignFragData, assignFragData);\n\n builder.vert.headerComment = \"//!V! Combine3Textures\";\n builder.frag.headerComment = \"//!F! Combine3Textures\";\n\n return builder.buildProgram(context);\n}\n"]}
|
|
@@ -12,11 +12,11 @@ const RenderFlags_1 = require("../RenderFlags");
|
|
|
12
12
|
const Texture_1 = require("../Texture");
|
|
13
13
|
const ViewportQuad_1 = require("./ViewportQuad");
|
|
14
14
|
const computeBaseColor = "return vec4(1.0);";
|
|
15
|
-
const assignFragData = `
|
|
16
|
-
if (v_texCoord.y < .5)
|
|
17
|
-
FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 2.0));
|
|
18
|
-
else
|
|
19
|
-
FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 2.0 - 1.0));
|
|
15
|
+
const assignFragData = `
|
|
16
|
+
if (v_texCoord.y < .5)
|
|
17
|
+
FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 2.0));
|
|
18
|
+
else
|
|
19
|
+
FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 2.0 - 1.0));
|
|
20
20
|
`;
|
|
21
21
|
/** @internal */
|
|
22
22
|
function createCombineTexturesProgram(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CombineTextures.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/CombineTextures.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,gDAA6C;AAG7C,wCAA6C;AAC7C,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC;IAErD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAxBD,oEAwBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"CombineTextures.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/CombineTextures.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,gDAA6C;AAG7C,wCAA6C;AAC7C,iDAA2D;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF,gBAAgB;AAChB,SAAgB,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,YAAY,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC7D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,yBAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,yBAAW,CAAC,GAAG,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,GAAG,kDAAyC,cAAc,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC;IAErD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAxBD,oEAwBC","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 { CombineTexturesGeometry } from \"../CachedGeometry\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderComponent, VariablePrecision, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { Texture2DHandle } from \"../Texture\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nconst computeBaseColor = \"return vec4(1.0);\";\n\nconst assignFragData = `\n if (v_texCoord.y < .5)\n FragColor = TEXTURE(u_texture0, vec2(v_texCoord.x, v_texCoord.y * 2.0));\n else\n FragColor = TEXTURE(u_texture1, vec2(v_texCoord.x, v_texCoord.y * 2.0 - 1.0));\n`;\n\n/** @internal */\nexport function createCombineTexturesProgram(context: WebGL2RenderingContext): ShaderProgram {\n const builder = createViewportQuadBuilder(true);\n const frag = builder.frag;\n\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n\n frag.addUniform(\"u_texture0\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_texture0\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CombineTexturesGeometry).texture0, TextureUnit.Zero);\n });\n }, VariablePrecision.High);\n\n frag.addUniform(\"u_texture1\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_texture1\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CombineTexturesGeometry).texture1, TextureUnit.One);\n });\n }, VariablePrecision.High);\n\n frag.set(FragmentShaderComponent.AssignFragData, assignFragData);\n\n builder.vert.headerComment = \"//!V! CombineTextures\";\n builder.frag.headerComment = \"//!F! CombineTextures\";\n\n return builder.buildProgram(context);\n}\n"]}
|