@itwin/core-frontend 5.1.2 → 5.1.3-experimental.1

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.
Files changed (982) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/AccuDraw.js.map +1 -1
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  6. package/lib/cjs/AuxCoordSys.js.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  8. package/lib/cjs/BingLocation.js.map +1 -1
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  11. package/lib/cjs/CatalogConnection.js.map +1 -1
  12. package/lib/cjs/CategorySelectorState.js.map +1 -1
  13. package/lib/cjs/ChangeFlags.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  16. package/lib/cjs/CoordSystem.js.map +1 -1
  17. package/lib/cjs/DecorationsCache.js.map +1 -1
  18. package/lib/cjs/DevTools.js.map +1 -1
  19. package/lib/cjs/DisplayStyleState.js.map +1 -1
  20. package/lib/cjs/DrawingViewState.js +5 -5
  21. package/lib/cjs/DrawingViewState.js.map +1 -1
  22. package/lib/cjs/ElementLocateManager.js.map +1 -1
  23. package/lib/cjs/EmphasizeElements.js.map +1 -1
  24. package/lib/cjs/EntityState.js.map +1 -1
  25. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  26. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  27. package/lib/cjs/FlashSettings.js.map +1 -1
  28. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  29. package/lib/cjs/Frustum2d.js.map +1 -1
  30. package/lib/cjs/FrustumAnimator.js.map +1 -1
  31. package/lib/cjs/FuzzySearch.js.map +1 -1
  32. package/lib/cjs/GeoServices.js.map +1 -1
  33. package/lib/cjs/GlobeAnimator.js.map +1 -1
  34. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  35. package/lib/cjs/HitDetail.js.map +1 -1
  36. package/lib/cjs/IModelApp.js.map +1 -1
  37. package/lib/cjs/IModelConnection.js +26 -26
  38. package/lib/cjs/IModelConnection.js.map +1 -1
  39. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  40. package/lib/cjs/IModeljs-css.js +133 -133
  41. package/lib/cjs/IModeljs-css.js.map +1 -1
  42. package/lib/cjs/IpcApp.js.map +1 -1
  43. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  44. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  45. package/lib/cjs/MarginPercent.js.map +1 -1
  46. package/lib/cjs/Marker.js.map +1 -1
  47. package/lib/cjs/ModelSelectorState.js.map +1 -1
  48. package/lib/cjs/ModelState.js.map +1 -1
  49. package/lib/cjs/NativeApp.js.map +1 -1
  50. package/lib/cjs/NativeAppLogger.js.map +1 -1
  51. package/lib/cjs/NoRenderApp.js.map +1 -1
  52. package/lib/cjs/NotificationManager.js.map +1 -1
  53. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  54. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  55. package/lib/cjs/RealityDataSource.js.map +1 -1
  56. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  57. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  58. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  59. package/lib/cjs/SelectionSet.js.map +1 -1
  60. package/lib/cjs/SheetViewState.js.map +1 -1
  61. package/lib/cjs/SpatialClassifiersState.js.map +1 -1
  62. package/lib/cjs/SpatialViewState.js.map +1 -1
  63. package/lib/cjs/Sprites.js.map +1 -1
  64. package/lib/cjs/StandardView.js.map +1 -1
  65. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  66. package/lib/cjs/TentativePoint.js.map +1 -1
  67. package/lib/cjs/Tiles.js.map +1 -1
  68. package/lib/cjs/TxnEntityChanges.js.map +1 -1
  69. package/lib/cjs/UserPreferences.js.map +1 -1
  70. package/lib/cjs/ViewAnimation.js.map +1 -1
  71. package/lib/cjs/ViewContext.js.map +1 -1
  72. package/lib/cjs/ViewCreator2d.js.map +1 -1
  73. package/lib/cjs/ViewCreator3d.js.map +1 -1
  74. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  75. package/lib/cjs/ViewManager.js.map +1 -1
  76. package/lib/cjs/ViewPose.js.map +1 -1
  77. package/lib/cjs/ViewState.js.map +1 -1
  78. package/lib/cjs/ViewStatus.js.map +1 -1
  79. package/lib/cjs/ViewingSpace.js.map +1 -1
  80. package/lib/cjs/Viewport.js.map +1 -1
  81. package/lib/cjs/ViewportSync.js.map +1 -1
  82. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  83. package/lib/cjs/common/ImageUtil.js.map +1 -1
  84. package/lib/cjs/common/ViewRect.js.map +1 -1
  85. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  86. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  87. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  88. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  89. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  90. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  91. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  92. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  93. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  94. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
  95. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
  96. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
  97. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
  98. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  99. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  100. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
  101. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
  102. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  103. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  104. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  105. package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
  106. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
  108. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  109. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
  110. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  111. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
  112. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
  113. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
  114. package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
  115. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  116. package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
  117. package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
  118. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
  119. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
  120. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
  121. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  122. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  123. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  124. package/lib/cjs/common/render/BatchOptions.js.map +1 -1
  125. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
  126. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
  127. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
  128. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
  129. package/lib/cjs/common/render/GraphicType.js.map +1 -1
  130. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  131. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  132. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
  133. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  134. package/lib/cjs/common.js.map +1 -1
  135. package/lib/cjs/core-frontend.js.map +1 -1
  136. package/lib/cjs/extension/Extension.js.map +1 -1
  137. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  138. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  139. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  140. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  141. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  142. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  143. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  144. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  145. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  146. package/lib/cjs/internal/cross-package.js.map +1 -1
  147. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
  148. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
  149. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
  150. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
  151. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  152. package/lib/cjs/internal/render/MockRender.js.map +1 -1
  153. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  154. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
  155. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
  156. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
  157. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  158. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
  159. package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
  160. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
  161. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
  162. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
  163. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
  164. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
  165. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
  166. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
  167. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  168. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  169. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  170. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  172. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  176. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  178. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  180. package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  182. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
  186. package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
  188. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  192. package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  194. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  197. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  198. package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  200. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  201. package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
  203. package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
  206. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  208. package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  210. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  211. package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  213. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  214. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  217. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
  219. package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
  220. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  222. package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  223. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  225. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
  227. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  228. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  230. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  231. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  233. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  235. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  236. package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  238. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
  240. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  241. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
  243. package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  245. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
  247. package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
  248. package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
  249. package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
  250. package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  251. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  252. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
  253. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  254. package/lib/cjs/internal/render/webgl/glsl/Animation.js +83 -83
  255. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  256. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +266 -266
  257. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  258. package/lib/cjs/internal/render/webgl/glsl/Blur.js +37 -37
  259. package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
  260. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
  261. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  262. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
  263. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  264. package/lib/cjs/internal/render/webgl/glsl/Clipping.js +96 -96
  265. package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
  266. package/lib/cjs/internal/render/webgl/glsl/Color.js +12 -12
  267. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  268. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +7 -7
  269. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  270. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +5 -5
  271. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  272. package/lib/cjs/internal/render/webgl/glsl/Common.js +16 -16
  273. package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
  274. package/lib/cjs/internal/render/webgl/glsl/Composite.js +71 -71
  275. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  276. package/lib/cjs/internal/render/webgl/glsl/Contours.js +101 -101
  277. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  278. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +6 -6
  279. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  280. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
  281. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  282. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +4 -4
  283. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  284. package/lib/cjs/internal/render/webgl/glsl/Decode.js +65 -65
  285. package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
  286. package/lib/cjs/internal/render/webgl/glsl/EDL.js +103 -103
  287. package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
  288. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
  289. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  290. package/lib/cjs/internal/render/webgl/glsl/Edge.js +146 -146
  291. package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
  292. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
  293. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  294. package/lib/cjs/internal/render/webgl/glsl/Fragment.js +43 -43
  295. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  296. package/lib/cjs/internal/render/webgl/glsl/Instancing.js +21 -21
  297. package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
  298. package/lib/cjs/internal/render/webgl/glsl/Lighting.js +92 -92
  299. package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
  300. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  301. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js +19 -19
  302. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  303. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
  304. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  305. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js +13 -13
  306. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  307. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +188 -188
  308. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  309. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +22 -22
  310. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  311. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +28 -28
  312. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  313. package/lib/cjs/internal/render/webgl/glsl/PointString.js +9 -9
  314. package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
  315. package/lib/cjs/internal/render/webgl/glsl/Polyline.js +213 -213
  316. package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
  317. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +25 -25
  318. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  319. package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  320. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  321. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  322. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  323. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +49 -49
  324. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  325. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
  326. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  327. package/lib/cjs/internal/render/webgl/glsl/Surface.js +235 -235
  328. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  329. package/lib/cjs/internal/render/webgl/glsl/Thematic.js +136 -136
  330. package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
  331. package/lib/cjs/internal/render/webgl/glsl/Translucency.js +19 -19
  332. package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
  333. package/lib/cjs/internal/render/webgl/glsl/Vertex.js +73 -73
  334. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  335. package/lib/cjs/internal/render/webgl/glsl/Viewport.js +38 -38
  336. package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
  337. package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  338. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +10 -10
  339. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  340. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  341. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
  342. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
  343. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  344. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
  345. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  346. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  347. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
  348. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  349. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  350. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
  351. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  352. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
  353. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  354. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
  355. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  356. package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
  357. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  358. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
  359. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  360. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  361. package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
  362. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  363. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  364. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
  365. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  366. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  367. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  368. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
  369. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  370. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  371. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  372. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  373. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  374. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  375. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  376. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  377. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  378. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  379. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  380. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  381. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  382. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  383. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  384. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  385. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  386. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  387. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
  388. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
  389. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
  390. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
  391. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  392. package/lib/cjs/internal/webgl.js.map +1 -1
  393. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  394. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  395. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  396. package/lib/cjs/public/scripts/checkbrowser.js +24 -24
  397. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  398. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  399. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  400. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  401. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  402. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  403. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  404. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  405. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  406. package/lib/cjs/render/Decorations.js.map +1 -1
  407. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  408. package/lib/cjs/render/FrameStats.js.map +1 -1
  409. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  410. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  411. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  412. package/lib/cjs/render/MeshArgs.js.map +1 -1
  413. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  414. package/lib/cjs/render/Pixel.js.map +1 -1
  415. package/lib/cjs/render/PolylineArgs.js.map +1 -1
  416. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  417. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  418. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  419. package/lib/cjs/render/RenderMemory.js.map +1 -1
  420. package/lib/cjs/render/RenderSystem.js.map +1 -1
  421. package/lib/cjs/render/RenderTarget.js.map +1 -1
  422. package/lib/cjs/render/Scene.js.map +1 -1
  423. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  424. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  425. package/lib/cjs/request/Request.js.map +1 -1
  426. package/lib/cjs/request/utils.js.map +1 -1
  427. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  428. package/lib/cjs/tile/GltfReader.js.map +1 -1
  429. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  430. package/lib/cjs/tile/RealityTile.js.map +1 -1
  431. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  432. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
  433. package/lib/cjs/tile/Tile.js.map +1 -1
  434. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  435. package/lib/cjs/tile/TileContent.js.map +1 -1
  436. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  437. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  438. package/lib/cjs/tile/TileParams.js.map +1 -1
  439. package/lib/cjs/tile/TileRequest.js.map +1 -1
  440. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  441. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  442. package/lib/cjs/tile/TileStorage.js.map +1 -1
  443. package/lib/cjs/tile/TileTree.js.map +1 -1
  444. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  445. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  446. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  447. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  448. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  449. package/lib/cjs/tile/TileUser.js.map +1 -1
  450. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  451. package/lib/cjs/tile/internal.js.map +1 -1
  452. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  453. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  454. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  455. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  456. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  457. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  458. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  459. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  460. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  461. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  462. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  463. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  464. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  465. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  466. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  467. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  468. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  469. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  470. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  471. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  472. package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
  473. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  474. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  475. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  476. package/lib/cjs/tools/EventController.js.map +1 -1
  477. package/lib/cjs/tools/IdleTool.js.map +1 -1
  478. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  479. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  480. package/lib/cjs/tools/SelectTool.js.map +1 -1
  481. package/lib/cjs/tools/Tool.js.map +1 -1
  482. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  483. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  484. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  485. package/lib/cjs/tools/ViewTool.js.map +1 -1
  486. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  487. package/lib/cjs/workers/ImdlParser/webpack.config.js +42 -42
  488. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  489. package/lib/esm/AccuDraw.js.map +1 -1
  490. package/lib/esm/AccuSnap.js.map +1 -1
  491. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  492. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  493. package/lib/esm/AuxCoordSys.js.map +1 -1
  494. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  495. package/lib/esm/BingLocation.js.map +1 -1
  496. package/lib/esm/BriefcaseConnection.js.map +1 -1
  497. package/lib/esm/BriefcaseTxns.js.map +1 -1
  498. package/lib/esm/CatalogConnection.js.map +1 -1
  499. package/lib/esm/CategorySelectorState.js.map +1 -1
  500. package/lib/esm/ChangeFlags.js.map +1 -1
  501. package/lib/esm/CheckpointConnection.js.map +1 -1
  502. package/lib/esm/ContextRealityModelState.js.map +1 -1
  503. package/lib/esm/CoordSystem.js.map +1 -1
  504. package/lib/esm/DecorationsCache.js.map +1 -1
  505. package/lib/esm/DevTools.js.map +1 -1
  506. package/lib/esm/DisplayStyleState.js.map +1 -1
  507. package/lib/esm/DrawingViewState.js +5 -5
  508. package/lib/esm/DrawingViewState.js.map +1 -1
  509. package/lib/esm/ElementLocateManager.js.map +1 -1
  510. package/lib/esm/EmphasizeElements.js.map +1 -1
  511. package/lib/esm/EntityState.js.map +1 -1
  512. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  513. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  514. package/lib/esm/FlashSettings.js.map +1 -1
  515. package/lib/esm/FrontendHubAccess.js.map +1 -1
  516. package/lib/esm/Frustum2d.js.map +1 -1
  517. package/lib/esm/FrustumAnimator.js.map +1 -1
  518. package/lib/esm/FuzzySearch.js.map +1 -1
  519. package/lib/esm/GeoServices.js.map +1 -1
  520. package/lib/esm/GlobeAnimator.js.map +1 -1
  521. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  522. package/lib/esm/HitDetail.js.map +1 -1
  523. package/lib/esm/IModelApp.js.map +1 -1
  524. package/lib/esm/IModelConnection.js +26 -26
  525. package/lib/esm/IModelConnection.js.map +1 -1
  526. package/lib/esm/IModelRoutingContext.js.map +1 -1
  527. package/lib/esm/IModeljs-css.js +133 -133
  528. package/lib/esm/IModeljs-css.js.map +1 -1
  529. package/lib/esm/IpcApp.js.map +1 -1
  530. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  531. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  532. package/lib/esm/MarginPercent.js.map +1 -1
  533. package/lib/esm/Marker.js.map +1 -1
  534. package/lib/esm/ModelSelectorState.js.map +1 -1
  535. package/lib/esm/ModelState.js.map +1 -1
  536. package/lib/esm/NativeApp.js.map +1 -1
  537. package/lib/esm/NativeAppLogger.js.map +1 -1
  538. package/lib/esm/NoRenderApp.js.map +1 -1
  539. package/lib/esm/NotificationManager.js.map +1 -1
  540. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  541. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  542. package/lib/esm/RealityDataSource.js.map +1 -1
  543. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  544. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  545. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  546. package/lib/esm/SelectionSet.js.map +1 -1
  547. package/lib/esm/SheetViewState.js.map +1 -1
  548. package/lib/esm/SpatialClassifiersState.js.map +1 -1
  549. package/lib/esm/SpatialViewState.js.map +1 -1
  550. package/lib/esm/Sprites.js.map +1 -1
  551. package/lib/esm/StandardView.js.map +1 -1
  552. package/lib/esm/SubCategoriesCache.js.map +1 -1
  553. package/lib/esm/TentativePoint.js.map +1 -1
  554. package/lib/esm/Tiles.js.map +1 -1
  555. package/lib/esm/TxnEntityChanges.js.map +1 -1
  556. package/lib/esm/UserPreferences.js.map +1 -1
  557. package/lib/esm/ViewAnimation.js.map +1 -1
  558. package/lib/esm/ViewContext.js.map +1 -1
  559. package/lib/esm/ViewCreator2d.js.map +1 -1
  560. package/lib/esm/ViewCreator3d.js.map +1 -1
  561. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  562. package/lib/esm/ViewManager.js.map +1 -1
  563. package/lib/esm/ViewPose.js.map +1 -1
  564. package/lib/esm/ViewState.js.map +1 -1
  565. package/lib/esm/ViewStatus.js.map +1 -1
  566. package/lib/esm/ViewingSpace.js.map +1 -1
  567. package/lib/esm/Viewport.js.map +1 -1
  568. package/lib/esm/ViewportSync.js.map +1 -1
  569. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  570. package/lib/esm/common/ImageUtil.js.map +1 -1
  571. package/lib/esm/common/ViewRect.js.map +1 -1
  572. package/lib/esm/common/WorkerProxy.js.map +1 -1
  573. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  574. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  575. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  576. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  577. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  578. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  579. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  580. package/lib/esm/common/internal/Symbols.js.map +1 -1
  581. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
  582. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
  583. package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
  584. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
  585. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  586. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  587. package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
  588. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
  589. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  590. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  591. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  592. package/lib/esm/common/internal/render/LineCode.js.map +1 -1
  593. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  594. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
  595. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  596. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
  597. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  598. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
  599. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
  600. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
  601. package/lib/esm/common/internal/render/Polyface.js.map +1 -1
  602. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  603. package/lib/esm/common/internal/render/Primitives.js.map +1 -1
  604. package/lib/esm/common/internal/render/Strokes.js.map +1 -1
  605. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
  606. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
  607. package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
  608. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  609. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  610. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  611. package/lib/esm/common/render/BatchOptions.js.map +1 -1
  612. package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
  613. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
  614. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
  615. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
  616. package/lib/esm/common/render/GraphicType.js.map +1 -1
  617. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  618. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  619. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
  620. package/lib/esm/common/render/TextureParams.js.map +1 -1
  621. package/lib/esm/common.js.map +1 -1
  622. package/lib/esm/core-frontend.js.map +1 -1
  623. package/lib/esm/extension/Extension.js.map +1 -1
  624. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  625. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  626. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  627. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  628. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  629. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  630. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  631. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  632. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  633. package/lib/esm/internal/cross-package.js.map +1 -1
  634. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
  635. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
  636. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
  637. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
  638. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  639. package/lib/esm/internal/render/MockRender.js.map +1 -1
  640. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  641. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
  642. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
  643. package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
  644. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  645. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
  646. package/lib/esm/internal/render/RenderPlan.js.map +1 -1
  647. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
  648. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
  649. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
  650. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
  651. package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
  652. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
  653. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
  654. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  655. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  656. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  657. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  658. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  659. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  660. package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
  661. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  662. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  663. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  664. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  665. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  666. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  667. package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
  668. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  669. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  670. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  671. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  672. package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
  673. package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
  674. package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
  675. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  676. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  677. package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
  678. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  679. package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
  680. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  681. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  682. package/lib/esm/internal/render/webgl/GL.js.map +1 -1
  683. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  684. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  685. package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
  686. package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  687. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  688. package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
  689. package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
  690. package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
  691. package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
  692. package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
  693. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  694. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  695. package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
  696. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  697. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  698. package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
  699. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  700. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  701. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  702. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  703. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  704. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  705. package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
  706. package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
  707. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  708. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  709. package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  710. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  711. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  712. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  713. package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
  714. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  715. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  716. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  717. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  718. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  719. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  720. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  721. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  722. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  723. package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
  724. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  725. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  726. package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
  727. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  728. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  729. package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
  730. package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
  731. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  732. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  733. package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
  734. package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
  735. package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
  736. package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
  737. package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  738. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  739. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
  740. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  741. package/lib/esm/internal/render/webgl/glsl/Animation.js +83 -83
  742. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  743. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +266 -266
  744. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  745. package/lib/esm/internal/render/webgl/glsl/Blur.js +37 -37
  746. package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
  747. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
  748. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  749. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
  750. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  751. package/lib/esm/internal/render/webgl/glsl/Clipping.js +96 -96
  752. package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
  753. package/lib/esm/internal/render/webgl/glsl/Color.js +12 -12
  754. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  755. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +7 -7
  756. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  757. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +5 -5
  758. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  759. package/lib/esm/internal/render/webgl/glsl/Common.js +16 -16
  760. package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
  761. package/lib/esm/internal/render/webgl/glsl/Composite.js +71 -71
  762. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  763. package/lib/esm/internal/render/webgl/glsl/Contours.js +101 -101
  764. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  765. package/lib/esm/internal/render/webgl/glsl/CopyColor.js +6 -6
  766. package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  767. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
  768. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  769. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +4 -4
  770. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  771. package/lib/esm/internal/render/webgl/glsl/Decode.js +65 -65
  772. package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
  773. package/lib/esm/internal/render/webgl/glsl/EDL.js +103 -103
  774. package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
  775. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
  776. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  777. package/lib/esm/internal/render/webgl/glsl/Edge.js +146 -146
  778. package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
  779. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
  780. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  781. package/lib/esm/internal/render/webgl/glsl/Fragment.js +43 -43
  782. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  783. package/lib/esm/internal/render/webgl/glsl/Instancing.js +21 -21
  784. package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
  785. package/lib/esm/internal/render/webgl/glsl/Lighting.js +92 -92
  786. package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
  787. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  788. package/lib/esm/internal/render/webgl/glsl/LookupTable.js +19 -19
  789. package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  790. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
  791. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  792. package/lib/esm/internal/render/webgl/glsl/Monochrome.js +13 -13
  793. package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  794. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +188 -188
  795. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  796. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +22 -22
  797. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  798. package/lib/esm/internal/render/webgl/glsl/PointCloud.js +28 -28
  799. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  800. package/lib/esm/internal/render/webgl/glsl/PointString.js +9 -9
  801. package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
  802. package/lib/esm/internal/render/webgl/glsl/Polyline.js +213 -213
  803. package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
  804. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +25 -25
  805. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  806. package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  807. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  808. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  809. package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  810. package/lib/esm/internal/render/webgl/glsl/SkySphere.js +49 -49
  811. package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  812. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
  813. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  814. package/lib/esm/internal/render/webgl/glsl/Surface.js +235 -235
  815. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  816. package/lib/esm/internal/render/webgl/glsl/Thematic.js +136 -136
  817. package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
  818. package/lib/esm/internal/render/webgl/glsl/Translucency.js +19 -19
  819. package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
  820. package/lib/esm/internal/render/webgl/glsl/Vertex.js +73 -73
  821. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  822. package/lib/esm/internal/render/webgl/glsl/Viewport.js +38 -38
  823. package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
  824. package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  825. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +10 -10
  826. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  827. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  828. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
  829. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
  830. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  831. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
  832. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  833. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  834. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
  835. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  836. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  837. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
  838. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  839. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
  840. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  841. package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
  842. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  843. package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
  844. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  845. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
  846. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  847. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  848. package/lib/esm/internal/tile/PntsReader.js.map +1 -1
  849. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  850. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  851. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
  852. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  853. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  854. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  855. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
  856. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  857. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  858. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  859. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  860. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  861. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  862. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  863. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  864. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  865. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  866. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  867. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  868. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  869. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  870. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  871. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  872. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  873. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  874. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
  875. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
  876. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
  877. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
  878. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  879. package/lib/esm/internal/webgl.js.map +1 -1
  880. package/lib/esm/properties/AngleDescription.js.map +1 -1
  881. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  882. package/lib/esm/properties/LengthDescription.js.map +1 -1
  883. package/lib/esm/public/scripts/checkbrowser.js +24 -24
  884. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  885. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  886. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  887. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  888. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  889. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  890. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  891. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  892. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  893. package/lib/esm/render/Decorations.js.map +1 -1
  894. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  895. package/lib/esm/render/FrameStats.js.map +1 -1
  896. package/lib/esm/render/GraphicBranch.js.map +1 -1
  897. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  898. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  899. package/lib/esm/render/MeshArgs.js.map +1 -1
  900. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  901. package/lib/esm/render/Pixel.js.map +1 -1
  902. package/lib/esm/render/PolylineArgs.js.map +1 -1
  903. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  904. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  905. package/lib/esm/render/RenderGraphic.js.map +1 -1
  906. package/lib/esm/render/RenderMemory.js.map +1 -1
  907. package/lib/esm/render/RenderSystem.js.map +1 -1
  908. package/lib/esm/render/RenderTarget.js.map +1 -1
  909. package/lib/esm/render/Scene.js.map +1 -1
  910. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  911. package/lib/esm/render/VisibleFeature.js.map +1 -1
  912. package/lib/esm/request/Request.js.map +1 -1
  913. package/lib/esm/request/utils.js.map +1 -1
  914. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  915. package/lib/esm/tile/GltfReader.js.map +1 -1
  916. package/lib/esm/tile/ImdlReader.js.map +1 -1
  917. package/lib/esm/tile/RealityTile.js.map +1 -1
  918. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  919. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
  920. package/lib/esm/tile/Tile.js.map +1 -1
  921. package/lib/esm/tile/TileAdmin.js.map +1 -1
  922. package/lib/esm/tile/TileContent.js.map +1 -1
  923. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  924. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  925. package/lib/esm/tile/TileParams.js.map +1 -1
  926. package/lib/esm/tile/TileRequest.js.map +1 -1
  927. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  928. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  929. package/lib/esm/tile/TileStorage.js.map +1 -1
  930. package/lib/esm/tile/TileTree.js.map +1 -1
  931. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  932. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  933. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  934. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  935. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  936. package/lib/esm/tile/TileUser.js.map +1 -1
  937. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  938. package/lib/esm/tile/internal.js.map +1 -1
  939. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  940. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  941. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  942. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  943. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  944. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  945. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  946. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  947. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  948. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  949. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  950. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  951. package/lib/esm/tile/map/MapTile.js.map +1 -1
  952. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  953. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  954. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  955. package/lib/esm/tile/map/QuadId.js.map +1 -1
  956. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  957. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  958. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  959. package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
  960. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  961. package/lib/esm/tools/EditManipulator.js.map +1 -1
  962. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  963. package/lib/esm/tools/EventController.js.map +1 -1
  964. package/lib/esm/tools/IdleTool.js.map +1 -1
  965. package/lib/esm/tools/MeasureTool.js.map +1 -1
  966. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  967. package/lib/esm/tools/SelectTool.js.map +1 -1
  968. package/lib/esm/tools/Tool.js.map +1 -1
  969. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  970. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  971. package/lib/esm/tools/ToolSettings.js.map +1 -1
  972. package/lib/esm/tools/ViewTool.js.map +1 -1
  973. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  974. package/lib/esm/workers/ImdlParser/webpack.config.js +42 -42
  975. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  976. package/lib/public/assets/MapLayerSources.json +25 -25
  977. package/lib/public/images/cesium-ion.svg +92 -92
  978. package/lib/public/images/imodeljs-icon.svg +2 -2
  979. package/lib/public/locales/en/CoreTools.json +508 -508
  980. package/lib/public/locales/en/iModelJs.json +176 -176
  981. package/lib/public/scripts/checkbrowser.js +24 -24
  982. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"CombineTextures.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CombineTextures.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,yBAAyB,CAAC,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,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,WAAW,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,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,WAAW,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","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"]}
1
+ {"version":3,"file":"CombineTextures.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CombineTextures.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,yBAAyB,CAAC,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,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,WAAW,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,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAoC,CAAC,QAAQ,EAAE,WAAW,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"}
@@ -12,11 +12,11 @@ import { addModelViewMatrix } from "./Vertex";
12
12
  // const chooseFloatWithBitFlag2 = `
13
13
  // float chooseFloatWithBitFlag(float f1, float f2, uint flags, uint n) { return 0u != (flags & n) ? f2 : f1; }
14
14
  // `;
15
- const chooseVec2With2BitFlags = `
16
- vec2 chooseVec2With2BitFlags(vec2 v1, vec2 v2, uint flags, uint n1, uint n2) { return 0u != (flags & (n1 | n2)) ? v2 : v1; }
15
+ const chooseVec2With2BitFlags = `
16
+ vec2 chooseVec2With2BitFlags(vec2 v1, vec2 v2, uint flags, uint n1, uint n2) { return 0u != (flags & (n1 | n2)) ? v2 : v1; }
17
17
  `;
18
- const chooseVec3WithBitFlag = `
19
- vec3 chooseVec3WithBitFlag(vec3 v1, vec3 v2, uint flags, uint n) { return 0u != (flags & n) ? v2 : v1; }
18
+ const chooseVec3WithBitFlag = `
19
+ vec3 chooseVec3WithBitFlag(vec3 v1, vec3 v2, uint flags, uint n) { return 0u != (flags & n) ? v2 : v1; }
20
20
  `;
21
21
  /** @internal */
22
22
  export function addChooseVec2WithBitFlagsFunction(shader) {
@@ -105,24 +105,24 @@ export function addEyeSpace(builder) {
105
105
  builder.addInlineComputedVarying("v_eyeSpace", 4 /* VariableType.Vec3 */, computeEyeSpace);
106
106
  }
107
107
  /** @internal */
108
- export const addUInt32s = `
109
- vec4 addUInt32s(vec4 a, vec4 b) {
110
- vec4 c = a + b;
111
- if (c.x > 255.0) { c.x -= 256.0; c.y += 1.0; }
112
- if (c.y > 255.0) { c.y -= 256.0; c.z += 1.0; }
113
- if (c.z > 255.0) { c.z -= 256.0; c.w += 1.0; }
114
- return c;
115
- }
108
+ export const addUInt32s = `
109
+ vec4 addUInt32s(vec4 a, vec4 b) {
110
+ vec4 c = a + b;
111
+ if (c.x > 255.0) { c.x -= 256.0; c.y += 1.0; }
112
+ if (c.y > 255.0) { c.y -= 256.0; c.z += 1.0; }
113
+ if (c.z > 255.0) { c.z -= 256.0; c.w += 1.0; }
114
+ return c;
115
+ }
116
116
  `;
117
117
  /** Expects flags in range [0...256] with no fraction; and bit is [0..31] with no fraction.
118
118
  * Return true if bit `n` is set in `flags`.
119
119
  */
120
- const nthBitSet = `
121
- bool nthBitSet(float flags, uint n) { return 0u != (uint(flags) & n); }
120
+ const nthBitSet = `
121
+ bool nthBitSet(float flags, uint n) { return 0u != (uint(flags) & n); }
122
122
  `;
123
123
  /** @internal */
124
- const extractNthBit = `
125
- float extractNthBit(float flags, uint n) { return 0u != (uint(flags) & n) ? 1.0 : 0.0; }
124
+ const extractNthBit = `
125
+ float extractNthBit(float flags, uint n) { return 0u != (uint(flags) & n) ? 1.0 : 0.0; }
126
126
  `;
127
127
  /** @internal */
128
128
  export function addExtractNthBit(shader) {
@@ -1 +1 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Common.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 { RenderType } from \"@itwin/webgl-compatibility\";\nimport { DrawParams } from \"../DrawCommand\";\nimport { UniformHandle } from \"../UniformHandle\";\nimport { ProgramBuilder, ShaderBuilder, ShaderType, VariableType } from \"../ShaderBuilder\";\nimport { System } from \"../System\";\nimport { addModelViewMatrix } from \"./Vertex\";\n\n// These are not used anywhere currently, but will leave them here commented out in case we want them later.\n// const chooseFloatWithBitFlag2 = `\n// float chooseFloatWithBitFlag(float f1, float f2, uint flags, uint n) { return 0u != (flags & n) ? f2 : f1; }\n// `;\n\nconst chooseVec2With2BitFlags = `\nvec2 chooseVec2With2BitFlags(vec2 v1, vec2 v2, uint flags, uint n1, uint n2) { return 0u != (flags & (n1 | n2)) ? v2 : v1; }\n`;\n\nconst chooseVec3WithBitFlag = `\nvec3 chooseVec3WithBitFlag(vec3 v1, vec3 v2, uint flags, uint n) { return 0u != (flags & n) ? v2 : v1; }\n`;\n\n/** @internal */\nexport function addChooseVec2WithBitFlagsFunction(shader: ShaderBuilder) {\n shader.addFunction(extractNthBit);\n shader.addFunction(chooseVec2With2BitFlags);\n}\n\n/** @internal */\nexport function addChooseVec3WithBitFlagFunction(shader: ShaderBuilder) {\n shader.addFunction(extractNthBit);\n shader.addFunction(chooseVec3WithBitFlag);\n}\n\nfunction addShaderFlagsConstants(shader: ShaderBuilder) {\n shader.addConstant(\"kShaderBit_Monochrome\", VariableType.Int, \"0\");\n shader.addConstant(\"kShaderBit_NonUniformColor\", VariableType.Int, \"1\");\n shader.addConstant(\"kShaderBit_OITFlatAlphaWeight\", VariableType.Int, \"2\");\n shader.addConstant(\"kShaderBit_OITScaleOutput\", VariableType.Int, \"3\");\n shader.addConstant(\"kShaderBit_IgnoreNonLocatable\", VariableType.Int, \"4\");\n}\n\nconst shaderFlagArray = new Int32Array(5);\nconst kShaderBitMonochrome = 0;\nconst kShaderBitNonUniformColor = 1;\nconst kShaderBitOITFlatAlphaWeight = 2;\nconst kShaderBitOITScaleOutput = 3;\nconst kShaderBitIgnoreNonLocatable = 4;\n\nfunction setShaderFlags(uniform: UniformHandle, params: DrawParams) {\n const monochrome = params.target.currentViewFlags.monochrome && params.geometry.wantMonochrome(params.target);\n shaderFlagArray[kShaderBitMonochrome] = monochrome ? 1 : 0;\n\n shaderFlagArray[kShaderBitNonUniformColor] = 0;\n shaderFlagArray[kShaderBitOITFlatAlphaWeight] = 0;\n shaderFlagArray[kShaderBitOITScaleOutput] = 0;\n shaderFlagArray[kShaderBitIgnoreNonLocatable] = 0;\n\n const geom = params.geometry.asLUT;\n if (undefined !== geom) {\n // Could also be RealityMeshGeometry, so only detect non-uniform color if explicitly LUTGeometry.\n const color = geom.getColor(params.target);\n if (color.isNonUniform)\n shaderFlagArray[kShaderBitNonUniformColor] = 1;\n }\n\n // Certain textures render in the translucent pass but we actually want to maintain true opacity for opaque pixels.\n // For these, use a constant Z to calculate alpha weight. Otherwise, the opaque things in the texture are weighted by their Z due\n // to the nature of the OIT algorithm. In this case, we set OITFlatAlphaWeight.\n\n // Since RGBA8 rendering is very low precision, if we are using that kind of output, we also want to flatten alpha weight.\n // Otherwise, the very tiny Z range makes things fade to black as the precision limit is encountered. This workaround disregards Z\n // in calculating the color, so it means that transparency is less accurate based on Z-ordering, but it is the best we can do with\n // this algorithm on low-end hardware.\n\n // Finally, the application can put the viewport into \"fadeout mode\", which explicitly enables flat alpha weight in order to de-emphasize transparent geometry.\n const maxRenderType = System.instance.maxRenderType;\n let flatAlphaWeight = RenderType.TextureUnsignedByte === maxRenderType || params.target.isFadeOutActive;\n if (!flatAlphaWeight) {\n const surface = params.geometry.asSurface;\n flatAlphaWeight = undefined !== surface && (surface.isGlyph || surface.isTileSection);\n }\n\n if (flatAlphaWeight)\n shaderFlagArray[kShaderBitOITFlatAlphaWeight] = 1;\n\n // If Cesium-style transparency is being used with non-float texture targets, we must scale the output in the shaders to 0-1 range.\n // Otherwise, it will get implicitly clamped to that range and we'll lose any semblance our desired precision (even though it is low).\n if (maxRenderType < RenderType.TextureHalfFloat)\n shaderFlagArray[kShaderBitOITScaleOutput] = 1;\n\n if (!params.target.drawNonLocatable)\n shaderFlagArray[kShaderBitIgnoreNonLocatable] = 1;\n\n uniform.setUniform1iv(shaderFlagArray);\n}\n\n/** @internal */\nexport function addShaderFlags(builder: ProgramBuilder) {\n addShaderFlagsConstants(builder.vert);\n addShaderFlagsConstants(builder.frag);\n\n builder.addUniformArray(\"u_shaderFlags\", VariableType.Boolean, 5, (prog) => {\n prog.addGraphicUniform(\"u_shaderFlags\", (uniform, params) => setShaderFlags(uniform, params));\n });\n}\n\n/** @internal */\nexport function addFrustum(builder: ProgramBuilder) {\n builder.addUniform(\"u_frustum\", VariableType.Vec3, (prog) => {\n prog.addProgramUniform(\"u_frustum\", (uniform, params) => {\n uniform.setUniform3fv(params.target.uniforms.frustum.frustum);\n });\n });\n\n builder.addGlobal(\"kFrustumType_Ortho2d\", VariableType.Float, ShaderType.Both, \"0.0\", true);\n builder.addGlobal(\"kFrustumType_Ortho3d\", VariableType.Float, ShaderType.Both, \"1.0\", true);\n builder.addGlobal(\"kFrustumType_Perspective\", VariableType.Float, ShaderType.Both, \"2.0\", true);\n}\n\nconst computeEyeSpace = \"v_eyeSpace = (MAT_MV * rawPosition).rgb;\";\n\n/** @internal */\nexport function addEyeSpace(builder: ProgramBuilder) {\n addModelViewMatrix(builder.vert);\n builder.addInlineComputedVarying(\"v_eyeSpace\", VariableType.Vec3, computeEyeSpace);\n}\n\n/** @internal */\nexport const addUInt32s = `\nvec4 addUInt32s(vec4 a, vec4 b) {\n vec4 c = a + b;\n if (c.x > 255.0) { c.x -= 256.0; c.y += 1.0; }\n if (c.y > 255.0) { c.y -= 256.0; c.z += 1.0; }\n if (c.z > 255.0) { c.z -= 256.0; c.w += 1.0; }\n return c;\n}\n`;\n\n/** Expects flags in range [0...256] with no fraction; and bit is [0..31] with no fraction.\n * Return true if bit `n` is set in `flags`.\n */\nconst nthBitSet = `\nbool nthBitSet(float flags, uint n) { return 0u != (uint(flags) & n); }\n`;\n\n/** @internal */\nconst extractNthBit = `\nfloat extractNthBit(float flags, uint n) { return 0u != (uint(flags) & n) ? 1.0 : 0.0; }\n`;\n\n/** @internal */\nexport function addExtractNthBit(shader: ShaderBuilder): void {\n shader.addFunction(nthBitSet);\n shader.addFunction(extractNthBit);\n}\n"]}
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Common.ts"],"names":[],"mappings":"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"}
@@ -22,84 +22,84 @@ function addHiliteSettings(frag) {
22
22
  });
23
23
  });
24
24
  }
25
- const readEdgePixel = `
26
- vec2 readEdgePixel(float xOffset, float yOffset) {
27
- vec2 t = windowCoordsToTexCoords(gl_FragCoord.xy + vec2(xOffset, yOffset));
28
- return TEXTURE(u_hilite, t).xy;
29
- }
25
+ const readEdgePixel = `
26
+ vec2 readEdgePixel(float xOffset, float yOffset) {
27
+ vec2 t = windowCoordsToTexCoords(gl_FragCoord.xy + vec2(xOffset, yOffset));
28
+ return TEXTURE(u_hilite, t).xy;
29
+ }
30
30
  `;
31
- const computeNearbyHilites = `
32
- vec2 computeNearbyHilites() {
33
- float hiliteWidth = u_hilite_width.x;
34
- float emphWidth = u_hilite_width.y;
35
- float maxWidth = max(hiliteWidth, emphWidth);
36
- if (0.0 == maxWidth)
37
- return vec2(0.0);
38
-
39
- vec2 nearest = vec2(0.0, 0.0);
40
- for (int x = -1; x <= 1; x++)
41
- for (int y = -1; y <= 1; y++)
42
- if (0 != x || 0 != y)
43
- nearest = nearest + readEdgePixel(float(x), float(y));
44
-
45
- nearest = nearest * vec2(float(hiliteWidth > 0.0), float(emphWidth > 0.0));
46
-
47
- if ((0.0 == nearest.x && hiliteWidth > 1.0) || (0.0 == nearest.y && emphWidth > 1.0)) {
48
- vec2 farthest = vec2(0.0, 0.0);
49
- for (int i = -2; i <= 2; i++) {
50
- float f = float(i);
51
- farthest = farthest + readEdgePixel(f, -2.0) + readEdgePixel(-2.0, f) + readEdgePixel(f, 2.0) + readEdgePixel(2.0, f);
52
- }
53
-
54
- farthest = farthest * vec2(float(hiliteWidth > 1.0), float(emphWidth > 1.0));
55
- nearest = nearest + farthest;
56
- }
57
-
58
- return nearest;
59
- }
31
+ const computeNearbyHilites = `
32
+ vec2 computeNearbyHilites() {
33
+ float hiliteWidth = u_hilite_width.x;
34
+ float emphWidth = u_hilite_width.y;
35
+ float maxWidth = max(hiliteWidth, emphWidth);
36
+ if (0.0 == maxWidth)
37
+ return vec2(0.0);
38
+
39
+ vec2 nearest = vec2(0.0, 0.0);
40
+ for (int x = -1; x <= 1; x++)
41
+ for (int y = -1; y <= 1; y++)
42
+ if (0 != x || 0 != y)
43
+ nearest = nearest + readEdgePixel(float(x), float(y));
44
+
45
+ nearest = nearest * vec2(float(hiliteWidth > 0.0), float(emphWidth > 0.0));
46
+
47
+ if ((0.0 == nearest.x && hiliteWidth > 1.0) || (0.0 == nearest.y && emphWidth > 1.0)) {
48
+ vec2 farthest = vec2(0.0, 0.0);
49
+ for (int i = -2; i <= 2; i++) {
50
+ float f = float(i);
51
+ farthest = farthest + readEdgePixel(f, -2.0) + readEdgePixel(-2.0, f) + readEdgePixel(f, 2.0) + readEdgePixel(2.0, f);
52
+ }
53
+
54
+ farthest = farthest * vec2(float(hiliteWidth > 1.0), float(emphWidth > 1.0));
55
+ nearest = nearest + farthest;
56
+ }
57
+
58
+ return nearest;
59
+ }
60
60
  `;
61
- const computeOpaqueColor = `
62
- vec4 computeOpaqueColor() {
63
- vec4 opaque = TEXTURE(u_opaque, v_texCoord);
64
- opaque.rgb *= computeAmbientOcclusion();
65
- return opaque;
66
- }
61
+ const computeOpaqueColor = `
62
+ vec4 computeOpaqueColor() {
63
+ vec4 opaque = TEXTURE(u_opaque, v_texCoord);
64
+ opaque.rgb *= computeAmbientOcclusion();
65
+ return opaque;
66
+ }
67
67
  `;
68
68
  const computeDefaultAmbientOcclusion = `\nfloat computeAmbientOcclusion() { return 1.0; }\n`;
69
69
  const computeAmbientOcclusion = `\nfloat computeAmbientOcclusion() { return TEXTURE(u_occlusion, v_texCoord).r; }\n`;
70
70
  const computeHiliteColor = "\nvec4 computeColor() { return computeOpaqueColor(); }\n";
71
- const computeHiliteBaseColor = `
72
- vec4 baseColor = computeColor();
73
- vec2 flags = TEXTURE(u_hilite, v_texCoord).rg;
74
- vec2 outline = computeNearbyHilites();
75
- if (u_hilite_width.y < u_hilite_width.x) { // check for emphasis outline first if it is thinner
76
- if (outline.y > 0.0 && flags.y == 0.0)
77
- return vec4(u_hilite_settings[1], 1.0);
78
- if (outline.x > 0.0 && flags.x == 0.0)
79
- return vec4(u_hilite_settings[0], 1.0);
80
- } else {
81
- if (outline.x > 0.0 && flags.x == 0.0)
82
- return vec4(u_hilite_settings[0], 1.0);
83
- if (outline.y > 0.0 && flags.y == 0.0)
84
- return vec4(u_hilite_settings[1], 1.0);
85
- }
86
- float hiliteMix = flags.x * u_hilite_settings[2][0];
87
- float emphasisMix = flags.y * u_hilite_settings[2][1];
88
- baseColor.rgb *= (1.0 - (hiliteMix + emphasisMix));
89
- baseColor.rgb += u_hilite_settings[0] * hiliteMix;
90
- baseColor.rgb += u_hilite_settings[1] * emphasisMix;
91
- return baseColor;
71
+ const computeHiliteBaseColor = `
72
+ vec4 baseColor = computeColor();
73
+ vec2 flags = TEXTURE(u_hilite, v_texCoord).rg;
74
+ vec2 outline = computeNearbyHilites();
75
+ if (u_hilite_width.y < u_hilite_width.x) { // check for emphasis outline first if it is thinner
76
+ if (outline.y > 0.0 && flags.y == 0.0)
77
+ return vec4(u_hilite_settings[1], 1.0);
78
+ if (outline.x > 0.0 && flags.x == 0.0)
79
+ return vec4(u_hilite_settings[0], 1.0);
80
+ } else {
81
+ if (outline.x > 0.0 && flags.x == 0.0)
82
+ return vec4(u_hilite_settings[0], 1.0);
83
+ if (outline.y > 0.0 && flags.y == 0.0)
84
+ return vec4(u_hilite_settings[1], 1.0);
85
+ }
86
+ float hiliteMix = flags.x * u_hilite_settings[2][0];
87
+ float emphasisMix = flags.y * u_hilite_settings[2][1];
88
+ baseColor.rgb *= (1.0 - (hiliteMix + emphasisMix));
89
+ baseColor.rgb += u_hilite_settings[0] * hiliteMix;
90
+ baseColor.rgb += u_hilite_settings[1] * emphasisMix;
91
+ return baseColor;
92
92
  `;
93
- const computeTranslucentColor = `
94
- vec4 computeColor() {
95
- vec4 opaque = computeOpaqueColor();
96
- vec4 accum = TEXTURE(u_accumulation, v_texCoord);
97
- vec2 rg = TEXTURE(u_revealage, v_texCoord).rg;
98
-
99
- vec4 transparent = vec4(accum.rgb / clamp(rg.r, 1e-4, 5e4), accum.a);
100
- vec4 col = mix((1.0 - transparent.a) * transparent + transparent.a * opaque, vec4(u_clipIntersection.rgb, 1.0), rg.g);
101
- return col;
102
- }
93
+ const computeTranslucentColor = `
94
+ vec4 computeColor() {
95
+ vec4 opaque = computeOpaqueColor();
96
+ vec4 accum = TEXTURE(u_accumulation, v_texCoord);
97
+ vec2 rg = TEXTURE(u_revealage, v_texCoord).rg;
98
+
99
+ vec4 transparent = vec4(accum.rgb / clamp(rg.r, 1e-4, 5e4), accum.a);
100
+ vec4 col = mix((1.0 - transparent.a) * transparent + transparent.a * opaque, vec4(u_clipIntersection.rgb, 1.0), rg.g);
101
+ return col;
102
+ }
103
103
  `;
104
104
  const computeTranslucentBaseColor = "return computeColor();";
105
105
  const computeAmbientOcclusionBaseColor = "return computeOpaqueColor();";
@@ -1 +1 @@
1
- {"version":3,"file":"Composite.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Composite.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 { CompositeGeometry } from \"../CachedGeometry\";\nimport { CompositeFlags, TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderBuilder, FragmentShaderComponent, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { Texture2DHandle } from \"../Texture\";\nimport { addWindowToTexCoords, assignFragColor } from \"./Fragment\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nfunction addHiliteSettings(frag: FragmentShaderBuilder): void {\n frag.addUniform(\"u_hilite_settings\", VariableType.Mat3, (prog) => {\n prog.addProgramUniform(\"u_hilite_settings\", (uniform, params) => {\n params.target.uniforms.hilite.bindCompositeSettings(uniform);\n });\n });\n\n frag.addUniform(\"u_hilite_width\", VariableType.Vec2, (prog) => {\n prog.addProgramUniform(\"u_hilite_width\", (uniform, params) => {\n params.target.uniforms.hilite.bindCompositeWidths(uniform);\n });\n });\n}\n\nconst readEdgePixel = `\nvec2 readEdgePixel(float xOffset, float yOffset) {\n vec2 t = windowCoordsToTexCoords(gl_FragCoord.xy + vec2(xOffset, yOffset));\n return TEXTURE(u_hilite, t).xy;\n}\n`;\n\nconst computeNearbyHilites = `\nvec2 computeNearbyHilites() {\n float hiliteWidth = u_hilite_width.x;\n float emphWidth = u_hilite_width.y;\n float maxWidth = max(hiliteWidth, emphWidth);\n if (0.0 == maxWidth)\n return vec2(0.0);\n\n vec2 nearest = vec2(0.0, 0.0);\n for (int x = -1; x <= 1; x++)\n for (int y = -1; y <= 1; y++)\n if (0 != x || 0 != y)\n nearest = nearest + readEdgePixel(float(x), float(y));\n\n nearest = nearest * vec2(float(hiliteWidth > 0.0), float(emphWidth > 0.0));\n\n if ((0.0 == nearest.x && hiliteWidth > 1.0) || (0.0 == nearest.y && emphWidth > 1.0)) {\n vec2 farthest = vec2(0.0, 0.0);\n for (int i = -2; i <= 2; i++) {\n float f = float(i);\n farthest = farthest + readEdgePixel(f, -2.0) + readEdgePixel(-2.0, f) + readEdgePixel(f, 2.0) + readEdgePixel(2.0, f);\n }\n\n farthest = farthest * vec2(float(hiliteWidth > 1.0), float(emphWidth > 1.0));\n nearest = nearest + farthest;\n }\n\n return nearest;\n}\n`;\n\nconst computeOpaqueColor = `\nvec4 computeOpaqueColor() {\n vec4 opaque = TEXTURE(u_opaque, v_texCoord);\n opaque.rgb *= computeAmbientOcclusion();\n return opaque;\n}\n`;\n\nconst computeDefaultAmbientOcclusion = `\\nfloat computeAmbientOcclusion() { return 1.0; }\\n`;\nconst computeAmbientOcclusion = `\\nfloat computeAmbientOcclusion() { return TEXTURE(u_occlusion, v_texCoord).r; }\\n`;\n\nconst computeHiliteColor = \"\\nvec4 computeColor() { return computeOpaqueColor(); }\\n\";\n\nconst computeHiliteBaseColor = `\n vec4 baseColor = computeColor();\n vec2 flags = TEXTURE(u_hilite, v_texCoord).rg;\n vec2 outline = computeNearbyHilites();\n if (u_hilite_width.y < u_hilite_width.x) { // check for emphasis outline first if it is thinner\n if (outline.y > 0.0 && flags.y == 0.0)\n return vec4(u_hilite_settings[1], 1.0);\n if (outline.x > 0.0 && flags.x == 0.0)\n return vec4(u_hilite_settings[0], 1.0);\n } else {\n if (outline.x > 0.0 && flags.x == 0.0)\n return vec4(u_hilite_settings[0], 1.0);\n if (outline.y > 0.0 && flags.y == 0.0)\n return vec4(u_hilite_settings[1], 1.0);\n }\n float hiliteMix = flags.x * u_hilite_settings[2][0];\n float emphasisMix = flags.y * u_hilite_settings[2][1];\n baseColor.rgb *= (1.0 - (hiliteMix + emphasisMix));\n baseColor.rgb += u_hilite_settings[0] * hiliteMix;\n baseColor.rgb += u_hilite_settings[1] * emphasisMix;\n return baseColor;\n`;\n\nconst computeTranslucentColor = `\nvec4 computeColor() {\n vec4 opaque = computeOpaqueColor();\n vec4 accum = TEXTURE(u_accumulation, v_texCoord);\n vec2 rg = TEXTURE(u_revealage, v_texCoord).rg;\n\n vec4 transparent = vec4(accum.rgb / clamp(rg.r, 1e-4, 5e4), accum.a);\n vec4 col = mix((1.0 - transparent.a) * transparent + transparent.a * opaque, vec4(u_clipIntersection.rgb, 1.0), rg.g);\n return col;\n}\n`;\n\nconst computeTranslucentBaseColor = \"return computeColor();\";\nconst computeAmbientOcclusionBaseColor = \"return computeOpaqueColor();\";\n\n/** @internal */\nexport function createCompositeProgram(flags: CompositeFlags, context: WebGL2RenderingContext): ShaderProgram {\n assert(CompositeFlags.None !== flags);\n\n const wantHilite = CompositeFlags.None !== (flags & CompositeFlags.Hilite);\n const wantTranslucent = CompositeFlags.None !== (flags & CompositeFlags.Translucent);\n const wantOcclusion = CompositeFlags.None !== (flags & CompositeFlags.AmbientOcclusion);\n\n const builder = createViewportQuadBuilder(true);\n const frag = builder.frag;\n\n frag.addFunction(wantOcclusion ? computeAmbientOcclusion : computeDefaultAmbientOcclusion);\n frag.addFunction(computeOpaqueColor);\n\n frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n frag.addUniform(\"u_opaque\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_opaque\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CompositeGeometry).opaque, TextureUnit.Zero);\n });\n });\n\n if (wantHilite) {\n addHiliteSettings(frag);\n addWindowToTexCoords(frag);\n frag.addFunction(readEdgePixel);\n frag.addFunction(computeNearbyHilites);\n\n frag.addUniform(\"u_hilite\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_hilite\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CompositeGeometry).hilite, TextureUnit.Three);\n });\n });\n\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeHiliteBaseColor);\n if (!wantTranslucent) {\n frag.addFunction(computeHiliteColor);\n }\n }\n\n if (wantTranslucent) {\n frag.addUniform(\"u_accumulation\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_accumulation\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CompositeGeometry).accum, TextureUnit.One);\n });\n });\n\n frag.addUniform(\"u_revealage\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_revealage\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CompositeGeometry).reveal, TextureUnit.Two);\n });\n });\n\n builder.frag.addUniform(\"u_clipIntersection\", VariableType.Vec4, (program) => {\n program.addGraphicUniform(\"u_clipIntersection\", (uniform, params) => {\n params.target.uniforms.branch.clipStack.intersectionStyle.bind(uniform);\n });\n });\n\n frag.addFunction(computeTranslucentColor);\n if (!wantHilite) {\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeTranslucentBaseColor);\n }\n }\n\n if (wantOcclusion) {\n frag.addUniform(\"u_occlusion\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_occlusion\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CompositeGeometry).occlusion!, TextureUnit.Four);\n });\n });\n\n if (!wantHilite && !wantTranslucent)\n frag.set(FragmentShaderComponent.ComputeBaseColor, computeAmbientOcclusionBaseColor);\n }\n\n const flagString = (wantHilite ? \"-Hilite\" : \"\") + (wantTranslucent ? \"-Translucent\" : \"\") + (wantOcclusion ? \"-Occlusion\" : \"\");\n builder.vert.headerComment = `//!V! CombineTextures${flagString}`;\n builder.frag.headerComment = `//!F! CombineTextures${flagString}`;\n\n return builder.buildProgram(context);\n}\n"]}
1
+ {"version":3,"file":"Composite.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Composite.ts"],"names":[],"mappings":"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"}
@@ -10,115 +10,115 @@ import { TextureUnit } from "../RenderFlags";
10
10
  import { addFeatureIndex } from "./FeatureSymbology";
11
11
  import { addInstancedRtcMatrix } from "./Vertex";
12
12
  import { encodeDepthRgb } from "./Decode";
13
- const computeContourNdx = `
14
- if (u_contourLUTWidth == 0u)
15
- return 15.0;
16
- uint lutIndex = uint(getFeatureIndex());
17
- bool odd = bool(lutIndex & 1u);
18
- lutIndex /= 2u;
19
- uint byteSel = lutIndex & 0x3u;
20
- lutIndex /= 4u;
21
- ivec2 coords = ivec2(lutIndex % u_contourLUTWidth, lutIndex / u_contourLUTWidth);
22
- uvec4 contourNdx4 = uvec4(texelFetch(u_contourLUT, coords, 0) * 255.0 + 0.5);
23
- uvec2 contourNdx2 = bool(byteSel & 2u) ? contourNdx4.ba : contourNdx4.rg;
24
- uint contourNdx = bool(byteSel & 1u) ? contourNdx2.g : contourNdx2.r;
25
- return float(odd ? contourNdx >> 4u : contourNdx & 0xFu);
13
+ const computeContourNdx = `
14
+ if (u_contourLUTWidth == 0u)
15
+ return 15.0;
16
+ uint lutIndex = uint(getFeatureIndex());
17
+ bool odd = bool(lutIndex & 1u);
18
+ lutIndex /= 2u;
19
+ uint byteSel = lutIndex & 0x3u;
20
+ lutIndex /= 4u;
21
+ ivec2 coords = ivec2(lutIndex % u_contourLUTWidth, lutIndex / u_contourLUTWidth);
22
+ uvec4 contourNdx4 = uvec4(texelFetch(u_contourLUT, coords, 0) * 255.0 + 0.5);
23
+ uvec2 contourNdx2 = bool(byteSel & 2u) ? contourNdx4.ba : contourNdx4.rg;
24
+ uint contourNdx = bool(byteSel & 1u) ? contourNdx2.g : contourNdx2.r;
25
+ return float(odd ? contourNdx >> 4u : contourNdx & 0xFu);
26
26
  `;
27
- const unpack2BytesVec4 = `
28
- vec4 unpack2BytesVec4(vec4 f, bool upper) {
29
- f = floor(f + 0.5);
30
- vec4 outUpper = floor(f / 256.0);
31
- vec4 outLower = floor(f - outUpper * 256.0);
32
- return upper ? outUpper : outLower;
33
- }
27
+ const unpack2BytesVec4 = `
28
+ vec4 unpack2BytesVec4(vec4 f, bool upper) {
29
+ f = floor(f + 0.5);
30
+ vec4 outUpper = floor(f / 256.0);
31
+ vec4 outLower = floor(f - outUpper * 256.0);
32
+ return upper ? outUpper : outLower;
33
+ }
34
34
  `;
35
- const unpackAndNormalize2BytesVec4 = `
36
- vec4 unpackAndNormalize2BytesVec4(vec4 f, bool upper) {
37
- return unpack2BytesVec4(f, upper) / 255.0;
38
- }
35
+ const unpackAndNormalize2BytesVec4 = `
36
+ vec4 unpackAndNormalize2BytesVec4(vec4 f, bool upper) {
37
+ return unpack2BytesVec4(f, upper) / 255.0;
38
+ }
39
39
  `;
40
- const encodeContourLineInfo = `
41
- void encodeContourLineInfo(int groupIndex, bool isMajor, float interval) {
42
- // ContourDisplay.maxContourGroups is currently 5. Must change this code if that changes.
43
- float groupIndexAndType = float(groupIndex + (isMajor ? 16 : 8));
44
-
45
- // Find nearest multiple of interval to pixel world height.
46
- float elevation = (v_height >= 0.0 ? floor((v_height + interval / 2.0) / interval) : ceil((v_height - interval / 2.0) / interval)) * interval;
47
-
48
- // Convert elevation to a fraction of the frustum's world Z extents
49
- elevation = clamp((elevation - u_worldFrustumZRange.x) / (u_worldFrustumZRange.y - u_worldFrustumZRange.x), 0.0, 1.0);
50
-
51
- // Encode elevation in RGB and the rest of the info in A
52
- g_contourLineInfo = vec4(groupIndexAndType * 0.03125, encodeDepthRgb(elevation));
53
- }
40
+ const encodeContourLineInfo = `
41
+ void encodeContourLineInfo(int groupIndex, bool isMajor, float interval) {
42
+ // ContourDisplay.maxContourGroups is currently 5. Must change this code if that changes.
43
+ float groupIndexAndType = float(groupIndex + (isMajor ? 16 : 8));
44
+
45
+ // Find nearest multiple of interval to pixel world height.
46
+ float elevation = (v_height >= 0.0 ? floor((v_height + interval / 2.0) / interval) : ceil((v_height - interval / 2.0) / interval)) * interval;
47
+
48
+ // Convert elevation to a fraction of the frustum's world Z extents
49
+ elevation = clamp((elevation - u_worldFrustumZRange.x) / (u_worldFrustumZRange.y - u_worldFrustumZRange.x), 0.0, 1.0);
50
+
51
+ // Encode elevation in RGB and the rest of the info in A
52
+ g_contourLineInfo = vec4(groupIndexAndType * 0.03125, encodeDepthRgb(elevation));
53
+ }
54
54
  `;
55
- const applyContours = `
56
- int contourNdx = int(v_contourNdx + 0.5);
57
- if (contourNdx > 14) // 15 => no contours
58
- return baseColor;
59
-
60
- const int maxDefs = ${ContourDisplay.maxContourGroups}; // max number of contour definitions allowed, have to change index arrays if this changes
61
- int contourNdxC = clamp(contourNdx, 0, maxDefs - 1);
62
-
63
- bool even = (contourNdxC & 1) == 0;
64
- vec4 rgbfp = u_contourDefs[even ? contourNdxC * 3 / 2 : (contourNdxC - 1) * 3 / 2 + 2];
65
- vec4 intervalsPair = u_contourDefs[(contourNdxC / 2) * 3 + 1];
66
- // intervals.r => minor interval distance, intervals.g => major index count
67
- vec2 intervals = even ? intervalsPair.rg : intervalsPair.ba;
68
-
69
- float coord = v_height / intervals.r;
70
- // determine if this is in the vicinity of a major contour line (1/2 an interval either way, which is one limit of drawing width)
71
- bool maj = (fract((abs(coord) + 0.5) / intervals.g) < (1.0 / intervals.g));
72
- vec4 rgbf = unpackAndNormalize2BytesVec4(rgbfp, maj);
73
- // rgbf.a => (4-bit linecode / 4-bit weight) maj/min, where the 4-bit weight is a 3-bit weight value with one fraction bit and a 1.5 offset.
74
- // This gives a weight range of 1.5 to 9 in 0.5 increments.
75
- // NB: the showGeometry bit flag is stuck in at bit 16 of this, so the major line code has an extra bit in it that needs to be masked out
76
- int lineCodeWt = int((rgbf.a * 255.0) + 0.5);
77
- // first * 0.5 is for fractional part of width, then have to add 1.0 for offset, then another 1.0 for actual width bias
78
- float lineRadius = (float(lineCodeWt & 0xf) * 0.5 + 2.0) * 0.5;
79
-
80
- // abs(fract(coord - 0.5) - 0.5) will produce 0.0 at the contour line, and 0.5 at the mid-point between contour lines
81
- // fwidth(coord) is sum of absolute diffs in coord in adjacent pixels
82
- float line = abs(fract(coord - 0.5) - 0.5) / fwidth(coord);
83
- // If line is 0 (like at contour line), contourAlpha = lineRadius, so will use draw in contour color
84
- // If line >= lineRadius, contourAlpha = 0, so won't show contour
85
- float contourAlpha = lineRadius - min(line, lineRadius);
86
-
87
- // figure out which direction line is going, to know which screen pattern offset to use
88
- float dx = dFdx(contourAlpha);
89
- float dy = dFdy(contourAlpha);
90
-
91
- const float patLength = 32.0;
92
- uint patterns[10] = uint[](0xffffffffu, 0x80808080u, 0xf8f8f8f8u, 0xffe0ffe0u, 0xfe10fe10u, 0xe0e0e0e0u, 0xf888f888u, 0xff18ff18u, 0xccccccccu, 0x00000001u);
93
-
94
- float offset = trunc((abs(dx) > abs(dy)) ? gl_FragCoord.y : gl_FragCoord.x);
95
- offset = mod(offset, patLength);
96
- uint msk = 1u << uint(offset);
97
- contourAlpha *= (patterns[(lineCodeWt / 16) & 0xf] & msk) > 0u ? 1.0 : 0.0;
98
- contourAlpha = min(contourAlpha, 1.0);
99
-
100
- bool isContourLine = contourAlpha >= 0.5;
101
- if (isContourLine)
102
- encodeContourLineInfo(contourNdxC, maj, intervals.r);
103
-
104
- if (rgbfp.a / 65536.0 < 0.5) { // showGeometry == 0
105
- if (!isContourLine)
106
- discard;
107
- return vec4(rgbf.rgb, 1.0);
108
- }
109
- // set contour opaque even if base color is transparent
110
- float alpha = contourAlpha >= 0.5 ? 1.0 : baseColor.a;
111
- return vec4(mix(baseColor.rgb, rgbf.rgb, contourAlpha), alpha);
55
+ const applyContours = `
56
+ int contourNdx = int(v_contourNdx + 0.5);
57
+ if (contourNdx > 14) // 15 => no contours
58
+ return baseColor;
59
+
60
+ const int maxDefs = ${ContourDisplay.maxContourGroups}; // max number of contour definitions allowed, have to change index arrays if this changes
61
+ int contourNdxC = clamp(contourNdx, 0, maxDefs - 1);
62
+
63
+ bool even = (contourNdxC & 1) == 0;
64
+ vec4 rgbfp = u_contourDefs[even ? contourNdxC * 3 / 2 : (contourNdxC - 1) * 3 / 2 + 2];
65
+ vec4 intervalsPair = u_contourDefs[(contourNdxC / 2) * 3 + 1];
66
+ // intervals.r => minor interval distance, intervals.g => major index count
67
+ vec2 intervals = even ? intervalsPair.rg : intervalsPair.ba;
68
+
69
+ float coord = v_height / intervals.r;
70
+ // determine if this is in the vicinity of a major contour line (1/2 an interval either way, which is one limit of drawing width)
71
+ bool maj = (fract((abs(coord) + 0.5) / intervals.g) < (1.0 / intervals.g));
72
+ vec4 rgbf = unpackAndNormalize2BytesVec4(rgbfp, maj);
73
+ // rgbf.a => (4-bit linecode / 4-bit weight) maj/min, where the 4-bit weight is a 3-bit weight value with one fraction bit and a 1.5 offset.
74
+ // This gives a weight range of 1.5 to 9 in 0.5 increments.
75
+ // NB: the showGeometry bit flag is stuck in at bit 16 of this, so the major line code has an extra bit in it that needs to be masked out
76
+ int lineCodeWt = int((rgbf.a * 255.0) + 0.5);
77
+ // first * 0.5 is for fractional part of width, then have to add 1.0 for offset, then another 1.0 for actual width bias
78
+ float lineRadius = (float(lineCodeWt & 0xf) * 0.5 + 2.0) * 0.5;
79
+
80
+ // abs(fract(coord - 0.5) - 0.5) will produce 0.0 at the contour line, and 0.5 at the mid-point between contour lines
81
+ // fwidth(coord) is sum of absolute diffs in coord in adjacent pixels
82
+ float line = abs(fract(coord - 0.5) - 0.5) / fwidth(coord);
83
+ // If line is 0 (like at contour line), contourAlpha = lineRadius, so will use draw in contour color
84
+ // If line >= lineRadius, contourAlpha = 0, so won't show contour
85
+ float contourAlpha = lineRadius - min(line, lineRadius);
86
+
87
+ // figure out which direction line is going, to know which screen pattern offset to use
88
+ float dx = dFdx(contourAlpha);
89
+ float dy = dFdy(contourAlpha);
90
+
91
+ const float patLength = 32.0;
92
+ uint patterns[10] = uint[](0xffffffffu, 0x80808080u, 0xf8f8f8f8u, 0xffe0ffe0u, 0xfe10fe10u, 0xe0e0e0e0u, 0xf888f888u, 0xff18ff18u, 0xccccccccu, 0x00000001u);
93
+
94
+ float offset = trunc((abs(dx) > abs(dy)) ? gl_FragCoord.y : gl_FragCoord.x);
95
+ offset = mod(offset, patLength);
96
+ uint msk = 1u << uint(offset);
97
+ contourAlpha *= (patterns[(lineCodeWt / 16) & 0xf] & msk) > 0u ? 1.0 : 0.0;
98
+ contourAlpha = min(contourAlpha, 1.0);
99
+
100
+ bool isContourLine = contourAlpha >= 0.5;
101
+ if (isContourLine)
102
+ encodeContourLineInfo(contourNdxC, maj, intervals.r);
103
+
104
+ if (rgbfp.a / 65536.0 < 0.5) { // showGeometry == 0
105
+ if (!isContourLine)
106
+ discard;
107
+ return vec4(rgbf.rgb, 1.0);
108
+ }
109
+ // set contour opaque even if base color is transparent
110
+ float alpha = contourAlpha >= 0.5 ? 1.0 : baseColor.a;
111
+ return vec4(mix(baseColor.rgb, rgbf.rgb, contourAlpha), alpha);
112
112
  `;
113
113
  /** @internal */
114
114
  export function addApplyContours(builder) {
115
115
  const modelPos = builder.vert.usesInstancedGeometry ? "(g_instancedRtcMatrix * rawPosition)" : "rawPosition";
116
- const computeWorldHeight = `
117
- float computeWorldHeight(vec4 rawPosition) {
118
- float height = (u_modelToWorldC * ${modelPos}).z;
119
- // TODO: apply ECEF correction to height
120
- return height;
121
- }
116
+ const computeWorldHeight = `
117
+ float computeWorldHeight(vec4 rawPosition) {
118
+ float height = (u_modelToWorldC * ${modelPos}).z;
119
+ // TODO: apply ECEF correction to height
120
+ return height;
121
+ }
122
122
  `;
123
123
  addFeatureIndex(builder.vert);
124
124
  builder.addFunctionComputedVarying("v_contourNdx", 2 /* VariableType.Float */, "computeContourNdx", computeContourNdx);
@@ -1 +1 @@
1
- {"version":3,"file":"Contours.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Contours.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 */\nimport { ContourDisplay } from \"@itwin/core-common\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport {\n FragmentShaderComponent, ProgramBuilder, VariableType,\n} from \"../ShaderBuilder\";\nimport { addFeatureIndex } from \"./FeatureSymbology\";\nimport { addInstancedRtcMatrix } from \"./Vertex\";\nimport { encodeDepthRgb } from \"./Decode\";\n\nconst computeContourNdx = `\n if (u_contourLUTWidth == 0u)\n return 15.0;\n uint lutIndex = uint(getFeatureIndex());\n bool odd = bool(lutIndex & 1u);\n lutIndex /= 2u;\n uint byteSel = lutIndex & 0x3u;\n lutIndex /= 4u;\n ivec2 coords = ivec2(lutIndex % u_contourLUTWidth, lutIndex / u_contourLUTWidth);\n uvec4 contourNdx4 = uvec4(texelFetch(u_contourLUT, coords, 0) * 255.0 + 0.5);\n uvec2 contourNdx2 = bool(byteSel & 2u) ? contourNdx4.ba : contourNdx4.rg;\n uint contourNdx = bool(byteSel & 1u) ? contourNdx2.g : contourNdx2.r;\n return float(odd ? contourNdx >> 4u : contourNdx & 0xFu);\n`;\n\nconst unpack2BytesVec4 = `\nvec4 unpack2BytesVec4(vec4 f, bool upper) {\n f = floor(f + 0.5);\n vec4 outUpper = floor(f / 256.0);\n vec4 outLower = floor(f - outUpper * 256.0);\n return upper ? outUpper : outLower;\n}\n`;\n\nconst unpackAndNormalize2BytesVec4 = `\nvec4 unpackAndNormalize2BytesVec4(vec4 f, bool upper) {\n return unpack2BytesVec4(f, upper) / 255.0;\n}\n`;\n\nconst encodeContourLineInfo = `\n void encodeContourLineInfo(int groupIndex, bool isMajor, float interval) {\n // ContourDisplay.maxContourGroups is currently 5. Must change this code if that changes.\n float groupIndexAndType = float(groupIndex + (isMajor ? 16 : 8));\n\n // Find nearest multiple of interval to pixel world height.\n float elevation = (v_height >= 0.0 ? floor((v_height + interval / 2.0) / interval) : ceil((v_height - interval / 2.0) / interval)) * interval;\n\n // Convert elevation to a fraction of the frustum's world Z extents\n elevation = clamp((elevation - u_worldFrustumZRange.x) / (u_worldFrustumZRange.y - u_worldFrustumZRange.x), 0.0, 1.0);\n\n // Encode elevation in RGB and the rest of the info in A\n g_contourLineInfo = vec4(groupIndexAndType * 0.03125, encodeDepthRgb(elevation));\n }\n`;\n\nconst applyContours = `\n int contourNdx = int(v_contourNdx + 0.5);\n if (contourNdx > 14) // 15 => no contours\n return baseColor;\n\n const int maxDefs = ${ContourDisplay.maxContourGroups}; // max number of contour definitions allowed, have to change index arrays if this changes\n int contourNdxC = clamp(contourNdx, 0, maxDefs - 1);\n\n bool even = (contourNdxC & 1) == 0;\n vec4 rgbfp = u_contourDefs[even ? contourNdxC * 3 / 2 : (contourNdxC - 1) * 3 / 2 + 2];\n vec4 intervalsPair = u_contourDefs[(contourNdxC / 2) * 3 + 1];\n // intervals.r => minor interval distance, intervals.g => major index count\n vec2 intervals = even ? intervalsPair.rg : intervalsPair.ba;\n\n float coord = v_height / intervals.r;\n // determine if this is in the vicinity of a major contour line (1/2 an interval either way, which is one limit of drawing width)\n bool maj = (fract((abs(coord) + 0.5) / intervals.g) < (1.0 / intervals.g));\n vec4 rgbf = unpackAndNormalize2BytesVec4(rgbfp, maj);\n // rgbf.a => (4-bit linecode / 4-bit weight) maj/min, where the 4-bit weight is a 3-bit weight value with one fraction bit and a 1.5 offset.\n // This gives a weight range of 1.5 to 9 in 0.5 increments.\n // NB: the showGeometry bit flag is stuck in at bit 16 of this, so the major line code has an extra bit in it that needs to be masked out\n int lineCodeWt = int((rgbf.a * 255.0) + 0.5);\n // first * 0.5 is for fractional part of width, then have to add 1.0 for offset, then another 1.0 for actual width bias\n float lineRadius = (float(lineCodeWt & 0xf) * 0.5 + 2.0) * 0.5;\n\n // abs(fract(coord - 0.5) - 0.5) will produce 0.0 at the contour line, and 0.5 at the mid-point between contour lines\n // fwidth(coord) is sum of absolute diffs in coord in adjacent pixels\n float line = abs(fract(coord - 0.5) - 0.5) / fwidth(coord);\n // If line is 0 (like at contour line), contourAlpha = lineRadius, so will use draw in contour color\n\t// If line >= lineRadius, contourAlpha = 0, so won't show contour\n float contourAlpha = lineRadius - min(line, lineRadius);\n\n // figure out which direction line is going, to know which screen pattern offset to use\n float dx = dFdx(contourAlpha);\n float dy = dFdy(contourAlpha);\n\n const float patLength = 32.0;\n uint patterns[10] = uint[](0xffffffffu, 0x80808080u, 0xf8f8f8f8u, 0xffe0ffe0u, 0xfe10fe10u, 0xe0e0e0e0u, 0xf888f888u, 0xff18ff18u, 0xccccccccu, 0x00000001u);\n\n float offset = trunc((abs(dx) > abs(dy)) ? gl_FragCoord.y : gl_FragCoord.x);\n offset = mod(offset, patLength);\n uint msk = 1u << uint(offset);\n contourAlpha *= (patterns[(lineCodeWt / 16) & 0xf] & msk) > 0u ? 1.0 : 0.0;\n contourAlpha = min(contourAlpha, 1.0);\n\n bool isContourLine = contourAlpha >= 0.5;\n if (isContourLine)\n encodeContourLineInfo(contourNdxC, maj, intervals.r);\n\n if (rgbfp.a / 65536.0 < 0.5) { // showGeometry == 0\n if (!isContourLine)\n discard;\n return vec4(rgbf.rgb, 1.0);\n }\n // set contour opaque even if base color is transparent\n float alpha = contourAlpha >= 0.5 ? 1.0 : baseColor.a;\n return vec4(mix(baseColor.rgb, rgbf.rgb, contourAlpha), alpha);\n`;\n\n/** @internal */\nexport function addApplyContours(builder: ProgramBuilder) {\n const modelPos = builder.vert.usesInstancedGeometry ? \"(g_instancedRtcMatrix * rawPosition)\" : \"rawPosition\";\n\n const computeWorldHeight = `\nfloat computeWorldHeight(vec4 rawPosition) {\n float height = (u_modelToWorldC * ${modelPos}).z;\n // TODO: apply ECEF correction to height\n return height;\n}\n`;\n\n addFeatureIndex(builder.vert);\n\n builder.addFunctionComputedVarying(\"v_contourNdx\", VariableType.Float, \"computeContourNdx\", computeContourNdx);\n builder.addFunctionComputedVaryingWithArgs(\"v_height\", VariableType.Float, \"computeWorldHeight(rawPosition)\", computeWorldHeight);\n\n if (builder.vert.usesInstancedGeometry)\n addInstancedRtcMatrix(builder.vert);\n\n builder.vert.addUniform(\"u_contourLUT\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_contourLUT\", (uniform, params) => {\n // set this uniform here so that it won't cause problems (e.g.: loopback) if it does not end up being set by bindContourLUT call\n uniform.setUniform1i(TextureUnit.Contours - TextureUnit.Zero);\n params.target.uniforms.batch.bindContourLUT(uniform);\n });\n });\n\n builder.vert.addUniform(\"u_contourLUTWidth\", VariableType.Uint, (prog) => {\n prog.addGraphicUniform(\"u_contourLUTWidth\", (uniform, params) => {\n params.target.uniforms.batch.bindContourLUTWidth(uniform);\n });\n });\n\n builder.vert.addUniform(\"u_modelToWorldC\", VariableType.Mat4, (prog) => {\n prog.addGraphicUniform(\"u_modelToWorldC\", (uniform, params) => {\n params.target.uniforms.branch.bindModelToWorldTransform(uniform, params.geometry, false);\n });\n });\n\n builder.frag.addUniform(\"u_worldFrustumZRange\", VariableType.Vec2, (prog) => {\n prog.addProgramUniform(\"u_worldFrustumZRange\", (uniform, params) => {\n uniform.setUniform2fv(params.target.uniforms.frustum.worldFrustumZRange);\n });\n });\n\n const contourDefsSize = 8;\n builder.frag.addUniformArray(\"u_contourDefs\", VariableType.Vec4, contourDefsSize, (prog) => {\n prog.addGraphicUniform(\"u_contourDefs\", (uniform, params) => {\n params.target.uniforms.contours.bindcontourDefs(uniform);\n });\n });\n\n builder.frag.addGlobal(\"g_contourLineInfo\", VariableType.Vec4, \"vec4(0.0)\");\n builder.frag.addFunction(encodeDepthRgb);\n builder.frag.addFunction(encodeContourLineInfo);\n \n builder.frag.addFunction(unpack2BytesVec4);\n builder.frag.addFunction(unpackAndNormalize2BytesVec4);\n builder.frag.set(FragmentShaderComponent.ApplyContours, applyContours);\n builder.frag.set(FragmentShaderComponent.ComputeContourLineInfo, \"return g_contourLineInfo;\");\n}\n"]}
1
+ {"version":3,"file":"Contours.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/Contours.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ import { createViewportQuadBuilder } from "./ViewportQuad";
12
12
  const computeColor = "return TEXTURE(u_color, v_texCoord);";
13
13
  // Transparent background color will not have premultiplied alpha - multiply it when copying.
14
14
  // Set all other pixels opaque.
15
- const computeColorNoAlpha = `
16
- vec4 color = TEXTURE(u_color, v_texCoord);
17
- if (color == u_bgColor)
18
- return vec4(color.rgb * color.a, color.a);
19
- else
20
- return vec4(color.rgb, 1.0);
15
+ const computeColorNoAlpha = `
16
+ vec4 color = TEXTURE(u_color, v_texCoord);
17
+ if (color == u_bgColor)
18
+ return vec4(color.rgb * color.a, color.a);
19
+ else
20
+ return vec4(color.rgb, 1.0);
21
21
  `;
22
22
  /** @internal */
23
23
  export function createCopyColorProgram(context, copyAlpha = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"CopyColor.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CopyColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,YAAY,GAAG,sCAAsC,CAAC;AAE5D,6FAA6F;AAC7F,+BAA+B;AAC/B,MAAM,mBAAmB,GAAG;;;;;;CAM3B,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CAAC,OAA+B,EAAE,YAAqB,IAAI;IAC/F,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnG,IAAI,CAAC,GAAG,kDAAyC,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,SAAS,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC1D,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAA8C,CAAC;YACnE,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,WAAW,6BAAqB,CAAC,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAE5D,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC","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 { SingleTexturedViewportQuadGeometry } from \"../CachedGeometry\";\nimport { TextureUnit } from \"../RenderFlags\";\nimport { FragmentShaderComponent, VariableType } from \"../ShaderBuilder\";\nimport { ShaderProgram } from \"../ShaderProgram\";\nimport { Texture2DHandle } from \"../Texture\";\nimport { assignFragColor } from \"./Fragment\";\nimport { createViewportQuadBuilder } from \"./ViewportQuad\";\n\nconst computeColor = \"return TEXTURE(u_color, v_texCoord);\";\n\n// Transparent background color will not have premultiplied alpha - multiply it when copying.\n// Set all other pixels opaque.\nconst computeColorNoAlpha = `\n vec4 color = TEXTURE(u_color, v_texCoord);\n if (color == u_bgColor)\n return vec4(color.rgb * color.a, color.a);\n else\n return vec4(color.rgb, 1.0);\n`;\n\n/** @internal */\nexport function createCopyColorProgram(context: WebGL2RenderingContext, copyAlpha: boolean = true): ShaderProgram {\n const builder = createViewportQuadBuilder(true);\n const frag = builder.frag;\n\n frag.set(FragmentShaderComponent.ComputeBaseColor, copyAlpha ? computeColor : computeColorNoAlpha);\n frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n frag.addUniform(\"u_color\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_color\", (uniform, params) => {\n const geom = params.geometry as SingleTexturedViewportQuadGeometry;\n Texture2DHandle.bindSampler(uniform, geom.texture, TextureUnit.Zero);\n });\n });\n\n if (!copyAlpha) {\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\n const flagString = (copyAlpha ? \"-CopyAlpha\" : \"-NoAlpha\");\n builder.vert.headerComment = `//!V! CopyColor${flagString}`;\n builder.frag.headerComment = `//!F! CopyColor${flagString}`;\n\n return builder.buildProgram(context);\n}\n"]}
1
+ {"version":3,"file":"CopyColor.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CopyColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,YAAY,GAAG,sCAAsC,CAAC;AAE5D,6FAA6F;AAC7F,+BAA+B;AAC/B,MAAM,mBAAmB,GAAG;;;;;;CAM3B,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CAAC,OAA+B,EAAE,YAAqB,IAAI;IAC/F,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnG,IAAI,CAAC,GAAG,kDAAyC,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,SAAS,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAC1D,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAA8C,CAAC;YACnE,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,WAAW,6BAAqB,CAAC,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAE5D,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -9,9 +9,9 @@ import { TextureUnit } from "../RenderFlags";
9
9
  import { Texture2DHandle } from "../Texture";
10
10
  import { createViewportQuadBuilder } from "./ViewportQuad";
11
11
  const computeBaseColor = "return vec4(1.0);";
12
- const assignFragData = `
13
- FragColor0 = TEXTURE(u_pickFeatureId, v_texCoord);
14
- FragColor1 = TEXTURE(u_pickDepthAndOrder, v_texCoord);
12
+ const assignFragData = `
13
+ FragColor0 = TEXTURE(u_pickFeatureId, v_texCoord);
14
+ FragColor1 = TEXTURE(u_pickDepthAndOrder, v_texCoord);
15
15
  `;
16
16
  /** @internal */
17
17
  export function createCopyPickBuffersProgram(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"CopyPickBuffers.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CopyPickBuffers.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;CAGtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,iBAAiB,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAClE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAmC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,qBAAqB,kCAA0B,CAAC,IAAI,EAAE,EAAE;QACtE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAmC,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,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","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 { CopyPickBufferGeometry } 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 FragColor0 = TEXTURE(u_pickFeatureId, v_texCoord);\n FragColor1 = TEXTURE(u_pickDepthAndOrder, v_texCoord);\n`;\n\n/** @internal */\nexport function createCopyPickBuffersProgram(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_pickFeatureId\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_pickFeatureId\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CopyPickBufferGeometry).featureId, TextureUnit.Zero);\n });\n }, VariablePrecision.High);\n\n frag.addUniform(\"u_pickDepthAndOrder\", VariableType.Sampler2D, (prog) => {\n prog.addGraphicUniform(\"u_pickDepthAndOrder\", (uniform, params) => {\n Texture2DHandle.bindSampler(uniform, (params.geometry as CopyPickBufferGeometry).depthAndOrder, TextureUnit.One);\n });\n }, VariablePrecision.High);\n\n frag.addDrawBuffersExtension(2);\n frag.set(FragmentShaderComponent.AssignFragData, assignFragData);\n\n builder.vert.headerComment = \"//!V! CopyPickBuffers\";\n builder.frag.headerComment = \"//!F! CopyPickBuffers\";\n\n return builder.buildProgram(context);\n}\n"]}
1
+ {"version":3,"file":"CopyPickBuffers.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/CopyPickBuffers.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG;;;CAGtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,4BAA4B,CAAC,OAA+B;IAC1E,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,CAAC,GAAG,mDAA2C,gBAAgB,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,CAAC,iBAAiB,kCAA0B,CAAC,IAAI,EAAE,EAAE;QAClE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAmC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,qBAAqB,kCAA0B,CAAC,IAAI,EAAE,EAAE;QACtE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,eAAe,CAAC,WAAW,CAAC,OAAO,EAAG,MAAM,CAAC,QAAmC,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC,iCAAyB,CAAC;IAE3B,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAChC,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"}