@itwin/core-frontend 5.0.0-dev.90 → 5.0.0-dev.93

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 (330) hide show
  1. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  2. package/lib/cjs/ContextRealityModelState.js +2 -0
  3. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  4. package/lib/cjs/ModelState.d.ts.map +1 -1
  5. package/lib/cjs/ModelState.js +4 -0
  6. package/lib/cjs/ModelState.js.map +1 -1
  7. package/lib/cjs/NoRenderApp.d.ts +1 -1
  8. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  9. package/lib/cjs/NoRenderApp.js +1 -1
  10. package/lib/cjs/NoRenderApp.js.map +1 -1
  11. package/lib/cjs/Viewport.d.ts +1 -0
  12. package/lib/cjs/Viewport.d.ts.map +1 -1
  13. package/lib/cjs/Viewport.js +4 -1
  14. package/lib/cjs/Viewport.js.map +1 -1
  15. package/lib/cjs/common/internal/render/MeshParams.d.ts +2 -0
  16. package/lib/cjs/common/internal/render/MeshParams.d.ts.map +1 -1
  17. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  18. package/lib/cjs/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
  19. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
  20. package/lib/cjs/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
  21. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
  22. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  23. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  24. package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts +54 -0
  25. package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
  26. package/lib/cjs/internal/render/webgl/MapLayerParams.js +198 -0
  27. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -0
  28. package/lib/cjs/internal/render/webgl/Mesh.js +1 -1
  29. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  30. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  31. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  32. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts +6 -35
  33. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  34. package/lib/cjs/internal/render/webgl/RealityMesh.js +41 -154
  35. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  36. package/lib/cjs/internal/render/webgl/RenderFlags.d.ts +7 -1
  37. package/lib/cjs/internal/render/webgl/RenderFlags.d.ts.map +1 -1
  38. package/lib/cjs/internal/render/webgl/RenderFlags.js +7 -0
  39. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  40. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts +12 -11
  41. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  42. package/lib/cjs/internal/render/webgl/ShaderBuilder.js +13 -8
  43. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  44. package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
  45. package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  46. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js +49 -3
  47. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  48. package/lib/cjs/internal/render/webgl/System.d.ts +2 -2
  49. package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
  50. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  51. package/lib/cjs/internal/render/webgl/Target.d.ts +1 -1
  52. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  53. package/lib/cjs/internal/render/webgl/Target.js +11 -2
  54. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  55. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
  56. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +1 -1
  57. package/lib/cjs/internal/render/webgl/glsl/Blur.js +1 -1
  58. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
  59. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
  60. package/lib/cjs/internal/render/webgl/glsl/Clipping.js +1 -1
  61. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +1 -1
  62. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +1 -1
  63. package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
  64. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +1 -1
  65. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
  66. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +5 -5
  67. package/lib/cjs/internal/render/webgl/glsl/EDL.js +4 -4
  68. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
  69. package/lib/cjs/internal/render/webgl/glsl/Edge.js +1 -1
  70. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
  71. package/lib/cjs/internal/render/webgl/glsl/Fragment.js +9 -9
  72. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  73. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
  74. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
  75. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +116 -0
  76. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
  77. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  78. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +2 -2
  79. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  80. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  81. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +6 -91
  82. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  83. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  84. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js +1 -1
  85. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +1 -1
  86. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
  87. package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts +1 -1
  88. package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
  89. package/lib/cjs/internal/render/webgl/glsl/Surface.js +73 -7
  90. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  91. package/lib/cjs/internal/render/webgl/glsl/Translucency.js +1 -1
  92. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +1 -1
  93. package/lib/cjs/internal/tile/B3dmReader.d.ts +2 -1
  94. package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
  95. package/lib/cjs/internal/tile/B3dmReader.js +5 -5
  96. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  97. package/lib/cjs/internal/tile/I3dmReader.d.ts +2 -1
  98. package/lib/cjs/internal/tile/I3dmReader.d.ts.map +1 -1
  99. package/lib/cjs/internal/tile/I3dmReader.js +4 -4
  100. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  101. package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
  102. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  103. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
  104. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  105. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js +1 -0
  106. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  107. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  108. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +14 -3
  109. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  110. package/lib/cjs/internal/tile/RealityModelTileTree.js +51 -11
  111. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  112. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  113. package/lib/cjs/internal/tile/RealityTileLoader.js +8 -2
  114. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  115. package/lib/cjs/render/RealityMeshParams.d.ts +3 -0
  116. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
  117. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  118. package/lib/cjs/render/RenderSystem.d.ts +4 -3
  119. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  120. package/lib/cjs/render/RenderSystem.js +2 -1
  121. package/lib/cjs/render/RenderSystem.js.map +1 -1
  122. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  123. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  124. package/lib/cjs/render/RenderTarget.js +1 -1
  125. package/lib/cjs/render/RenderTarget.js.map +1 -1
  126. package/lib/cjs/tile/GltfReader.d.ts +8 -2
  127. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  128. package/lib/cjs/tile/GltfReader.js +11 -2
  129. package/lib/cjs/tile/GltfReader.js.map +1 -1
  130. package/lib/cjs/tile/ImdlReader.d.ts +2 -1
  131. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  132. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  133. package/lib/cjs/tile/LayerTileTreeHandler.d.ts +47 -0
  134. package/lib/cjs/tile/LayerTileTreeHandler.d.ts.map +1 -0
  135. package/lib/cjs/tile/LayerTileTreeHandler.js +54 -0
  136. package/lib/cjs/tile/LayerTileTreeHandler.js.map +1 -0
  137. package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
  138. package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
  139. package/lib/cjs/tile/LayerTileTreeReferenceHandler.js +150 -0
  140. package/lib/cjs/tile/LayerTileTreeReferenceHandler.js.map +1 -0
  141. package/lib/cjs/tile/Tile.d.ts +2 -0
  142. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  143. package/lib/cjs/tile/Tile.js +7 -0
  144. package/lib/cjs/tile/Tile.js.map +1 -1
  145. package/lib/cjs/tile/TileTree.d.ts +3 -1
  146. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  147. package/lib/cjs/tile/TileTree.js +2 -0
  148. package/lib/cjs/tile/TileTree.js.map +1 -1
  149. package/lib/cjs/tile/internal.d.ts +2 -0
  150. package/lib/cjs/tile/internal.d.ts.map +1 -1
  151. package/lib/cjs/tile/internal.js +2 -0
  152. package/lib/cjs/tile/internal.js.map +1 -1
  153. package/lib/cjs/tile/map/MapTile.d.ts +8 -2
  154. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  155. package/lib/cjs/tile/map/MapTile.js +10 -16
  156. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  157. package/lib/cjs/tile/map/MapTileTree.d.ts +8 -36
  158. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  159. package/lib/cjs/tile/map/MapTileTree.js +47 -176
  160. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  161. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +9 -9
  162. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  163. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  164. package/lib/esm/ContextRealityModelState.js +2 -0
  165. package/lib/esm/ContextRealityModelState.js.map +1 -1
  166. package/lib/esm/ModelState.d.ts.map +1 -1
  167. package/lib/esm/ModelState.js +4 -0
  168. package/lib/esm/ModelState.js.map +1 -1
  169. package/lib/esm/NoRenderApp.d.ts +1 -1
  170. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  171. package/lib/esm/NoRenderApp.js +1 -1
  172. package/lib/esm/NoRenderApp.js.map +1 -1
  173. package/lib/esm/Viewport.d.ts +1 -0
  174. package/lib/esm/Viewport.d.ts.map +1 -1
  175. package/lib/esm/Viewport.js +4 -1
  176. package/lib/esm/Viewport.js.map +1 -1
  177. package/lib/esm/common/internal/render/MeshParams.d.ts +2 -0
  178. package/lib/esm/common/internal/render/MeshParams.d.ts.map +1 -1
  179. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  180. package/lib/esm/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
  181. package/lib/esm/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
  182. package/lib/esm/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
  183. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
  184. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  185. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  186. package/lib/esm/internal/render/webgl/MapLayerParams.d.ts +54 -0
  187. package/lib/esm/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
  188. package/lib/esm/internal/render/webgl/MapLayerParams.js +192 -0
  189. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -0
  190. package/lib/esm/internal/render/webgl/Mesh.js +1 -1
  191. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  192. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  193. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  194. package/lib/esm/internal/render/webgl/RealityMesh.d.ts +6 -35
  195. package/lib/esm/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  196. package/lib/esm/internal/render/webgl/RealityMesh.js +41 -153
  197. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  198. package/lib/esm/internal/render/webgl/RenderFlags.d.ts +7 -1
  199. package/lib/esm/internal/render/webgl/RenderFlags.d.ts.map +1 -1
  200. package/lib/esm/internal/render/webgl/RenderFlags.js +7 -0
  201. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  202. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts +12 -11
  203. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  204. package/lib/esm/internal/render/webgl/ShaderBuilder.js +13 -8
  205. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  206. package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
  207. package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  208. package/lib/esm/internal/render/webgl/SurfaceGeometry.js +50 -4
  209. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  210. package/lib/esm/internal/render/webgl/System.d.ts +2 -2
  211. package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
  212. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  213. package/lib/esm/internal/render/webgl/Target.d.ts +1 -1
  214. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  215. package/lib/esm/internal/render/webgl/Target.js +11 -2
  216. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  217. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
  218. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +1 -1
  219. package/lib/esm/internal/render/webgl/glsl/Blur.js +1 -1
  220. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
  221. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
  222. package/lib/esm/internal/render/webgl/glsl/Clipping.js +1 -1
  223. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +1 -1
  224. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +1 -1
  225. package/lib/esm/internal/render/webgl/glsl/Composite.js +1 -1
  226. package/lib/esm/internal/render/webgl/glsl/CopyColor.js +1 -1
  227. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
  228. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +5 -5
  229. package/lib/esm/internal/render/webgl/glsl/EDL.js +4 -4
  230. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
  231. package/lib/esm/internal/render/webgl/glsl/Edge.js +1 -1
  232. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
  233. package/lib/esm/internal/render/webgl/glsl/Fragment.js +9 -9
  234. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  235. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
  236. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
  237. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +111 -0
  238. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
  239. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  240. package/lib/esm/internal/render/webgl/glsl/PointCloud.js +2 -2
  241. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  242. package/lib/esm/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  243. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +5 -90
  244. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  245. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  246. package/lib/esm/internal/render/webgl/glsl/SkyBox.js +1 -1
  247. package/lib/esm/internal/render/webgl/glsl/SkySphere.js +1 -1
  248. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
  249. package/lib/esm/internal/render/webgl/glsl/Surface.d.ts +1 -1
  250. package/lib/esm/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
  251. package/lib/esm/internal/render/webgl/glsl/Surface.js +73 -7
  252. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  253. package/lib/esm/internal/render/webgl/glsl/Translucency.js +1 -1
  254. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +1 -1
  255. package/lib/esm/internal/tile/B3dmReader.d.ts +2 -1
  256. package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
  257. package/lib/esm/internal/tile/B3dmReader.js +5 -5
  258. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  259. package/lib/esm/internal/tile/I3dmReader.d.ts +2 -1
  260. package/lib/esm/internal/tile/I3dmReader.d.ts.map +1 -1
  261. package/lib/esm/internal/tile/I3dmReader.js +4 -4
  262. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  263. package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
  264. package/lib/esm/internal/tile/IModelTileTree.js +2 -2
  265. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  266. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
  267. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  268. package/lib/esm/internal/tile/ImdlGraphicsCreator.js +1 -0
  269. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  270. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  271. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +14 -3
  272. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  273. package/lib/esm/internal/tile/RealityModelTileTree.js +53 -13
  274. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  275. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  276. package/lib/esm/internal/tile/RealityTileLoader.js +8 -2
  277. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  278. package/lib/esm/render/RealityMeshParams.d.ts +3 -0
  279. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
  280. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  281. package/lib/esm/render/RenderSystem.d.ts +4 -3
  282. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  283. package/lib/esm/render/RenderSystem.js +2 -1
  284. package/lib/esm/render/RenderSystem.js.map +1 -1
  285. package/lib/esm/render/RenderTarget.d.ts +1 -1
  286. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  287. package/lib/esm/render/RenderTarget.js +1 -1
  288. package/lib/esm/render/RenderTarget.js.map +1 -1
  289. package/lib/esm/tile/GltfReader.d.ts +8 -2
  290. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  291. package/lib/esm/tile/GltfReader.js +11 -2
  292. package/lib/esm/tile/GltfReader.js.map +1 -1
  293. package/lib/esm/tile/ImdlReader.d.ts +2 -1
  294. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  295. package/lib/esm/tile/ImdlReader.js.map +1 -1
  296. package/lib/esm/tile/LayerTileTreeHandler.d.ts +47 -0
  297. package/lib/esm/tile/LayerTileTreeHandler.d.ts.map +1 -0
  298. package/lib/esm/tile/LayerTileTreeHandler.js +50 -0
  299. package/lib/esm/tile/LayerTileTreeHandler.js.map +1 -0
  300. package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
  301. package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
  302. package/lib/esm/tile/LayerTileTreeReferenceHandler.js +146 -0
  303. package/lib/esm/tile/LayerTileTreeReferenceHandler.js.map +1 -0
  304. package/lib/esm/tile/Tile.d.ts +2 -0
  305. package/lib/esm/tile/Tile.d.ts.map +1 -1
  306. package/lib/esm/tile/Tile.js +7 -0
  307. package/lib/esm/tile/Tile.js.map +1 -1
  308. package/lib/esm/tile/TileTree.d.ts +3 -1
  309. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  310. package/lib/esm/tile/TileTree.js +2 -0
  311. package/lib/esm/tile/TileTree.js.map +1 -1
  312. package/lib/esm/tile/internal.d.ts +2 -0
  313. package/lib/esm/tile/internal.d.ts.map +1 -1
  314. package/lib/esm/tile/internal.js +2 -0
  315. package/lib/esm/tile/internal.js.map +1 -1
  316. package/lib/esm/tile/map/MapTile.d.ts +8 -2
  317. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  318. package/lib/esm/tile/map/MapTile.js +9 -16
  319. package/lib/esm/tile/map/MapTile.js.map +1 -1
  320. package/lib/esm/tile/map/MapTileTree.d.ts +8 -36
  321. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  322. package/lib/esm/tile/map/MapTileTree.js +49 -178
  323. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  324. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +9 -9
  325. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  326. package/package.json +16 -16
  327. package/lib/cjs/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
  328. package/lib/cjs/internal/render/RealityMeshGraphicParams.js.map +0 -1
  329. package/lib/esm/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
  330. package/lib/esm/internal/render/RealityMeshGraphicParams.js.map +0 -1
@@ -219,7 +219,7 @@ function createAmbientOcclusionProgram(context) {
219
219
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, shouldUseDB ?
220
220
  computeAmbientOcclusionPrefixDB + computeAmbientOcclusion :
221
221
  computeAmbientOcclusionPrefixPB + computeAmbientOcclusion);
222
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
222
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
223
223
  frag.addUniform("u_pickDepthAndOrder", 8 /* VariableType.Sampler2D */, (prog) => {
224
224
  prog.addGraphicUniform("u_pickDepthAndOrder", (uniform, params) => {
225
225
  const geom = params.geometry;
@@ -456,6 +456,6 @@ function addAtmosphericScatteringEffect(builder, isSkyBox, perFragmentCompute) {
456
456
  });
457
457
  }, 3 /* VariablePrecision.High */);
458
458
  builder.frag.addFunction(applyHdr);
459
- builder.frag.set(22 /* FragmentShaderComponent.ApplyAtmosphericScattering */, applyAtmosphericScattering);
459
+ builder.frag.set(23 /* FragmentShaderComponent.ApplyAtmosphericScattering */, applyAtmosphericScattering);
460
460
  }
461
461
  //# sourceMappingURL=Atmosphere.js.map
@@ -68,7 +68,7 @@ function createBlurProgram(context, type) {
68
68
  else {
69
69
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeBlur);
70
70
  }
71
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
71
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
72
72
  (0, Viewport_1.addViewport)(frag);
73
73
  frag.addUniform("u_textureToBlur", 8 /* VariableType.Sampler2D */, (prog) => {
74
74
  prog.addGraphicUniform("u_textureToBlur", (uniform, params) => {
@@ -26,7 +26,7 @@ function createClearPickAndColorProgram(context) {
26
26
  });
27
27
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeBaseColor);
28
28
  frag.addDrawBuffersExtension(3);
29
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
29
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
30
30
  builder.vert.headerComment = "//!V! ClearPickAndColor";
31
31
  builder.frag.headerComment = "//!F! ClearPickAndColor";
32
32
  return builder.buildProgram(context);
@@ -20,7 +20,7 @@ function createClearTranslucentProgram(context) {
20
20
  const frag = builder.frag;
21
21
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeBaseColor);
22
22
  frag.addDrawBuffersExtension(2);
23
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
23
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
24
24
  builder.vert.headerComment = "//!V! ClearTranslucent";
25
25
  builder.frag.headerComment = "//!F! ClearTranslucent";
26
26
  return builder.buildProgram(context);
@@ -179,6 +179,6 @@ function addClipping(prog) {
179
179
  frag.set(10 /* FragmentShaderComponent.ApplyClipping */, applyClipPlanes);
180
180
  // modify translucent shaders
181
181
  if (frag.findFunction(Translucency_1.computeAlphaWeight))
182
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
182
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
183
183
  }
184
184
  //# sourceMappingURL=Clipping.js.map
@@ -40,7 +40,7 @@ function createCombine3TexturesProgram(context) {
40
40
  Texture_1.Texture2DHandle.bindSampler(uniform, params.geometry.texture2, RenderFlags_1.TextureUnit.Two);
41
41
  });
42
42
  }, 3 /* VariablePrecision.High */);
43
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
43
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
44
44
  builder.vert.headerComment = "//!V! Combine3Textures";
45
45
  builder.frag.headerComment = "//!F! Combine3Textures";
46
46
  return builder.buildProgram(context);
@@ -33,7 +33,7 @@ function createCombineTexturesProgram(context) {
33
33
  Texture_1.Texture2DHandle.bindSampler(uniform, params.geometry.texture1, RenderFlags_1.TextureUnit.One);
34
34
  });
35
35
  }, 3 /* VariablePrecision.High */);
36
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
36
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
37
37
  builder.vert.headerComment = "//!V! CombineTextures";
38
38
  builder.frag.headerComment = "//!F! CombineTextures";
39
39
  return builder.buildProgram(context);
@@ -116,7 +116,7 @@ function createCompositeProgram(flags, context) {
116
116
  const frag = builder.frag;
117
117
  frag.addFunction(wantOcclusion ? computeAmbientOcclusion : computeDefaultAmbientOcclusion);
118
118
  frag.addFunction(computeOpaqueColor);
119
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
119
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
120
120
  frag.addUniform("u_opaque", 8 /* VariableType.Sampler2D */, (prog) => {
121
121
  prog.addGraphicUniform("u_opaque", (uniform, params) => {
122
122
  Texture_1.Texture2DHandle.bindSampler(uniform, params.geometry.opaque, RenderFlags_1.TextureUnit.Zero);
@@ -27,7 +27,7 @@ function createCopyColorProgram(context, copyAlpha = true) {
27
27
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true);
28
28
  const frag = builder.frag;
29
29
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, copyAlpha ? computeColor : computeColorNoAlpha);
30
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
30
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
31
31
  frag.addUniform("u_color", 8 /* VariableType.Sampler2D */, (prog) => {
32
32
  prog.addGraphicUniform("u_color", (uniform, params) => {
33
33
  const geom = params.geometry;
@@ -32,7 +32,7 @@ function createCopyPickBuffersProgram(context) {
32
32
  });
33
33
  }, 3 /* VariablePrecision.High */);
34
34
  frag.addDrawBuffersExtension(2);
35
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragData);
35
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragData);
36
36
  builder.vert.headerComment = "//!V! CopyPickBuffers";
37
37
  builder.frag.headerComment = "//!F! CopyPickBuffers";
38
38
  return builder.buildProgram(context);
@@ -58,7 +58,7 @@ function createVolClassColorUsingStencilProgram(context) {
58
58
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(false);
59
59
  const frag = builder.frag;
60
60
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computehiliteColor);
61
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
61
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
62
62
  frag.addUniform("u_hilite_color", 5 /* VariableType.Vec4 */, (prog) => {
63
63
  prog.addGraphicUniform("u_hilite_color", (uniform, params) => {
64
64
  const useLighting = params.geometry.getFlashMode(params);
@@ -81,7 +81,7 @@ function createVolClassCopyZProgram(context) {
81
81
  builder.addInlineComputedVarying("v_texCoord", 3 /* VariableType.Vec2 */, computeTexCoord); // TODO: I think this is not necessary because it's already added from the create above
82
82
  const frag = builder.frag;
83
83
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeSetBlendColor);
84
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
84
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
85
85
  frag.addUniform("u_blend_color", 5 /* VariableType.Vec4 */, (prog) => {
86
86
  prog.addGraphicUniform("u_blend_color", (uniform, _params) => {
87
87
  scratchColor.set(0.0, 0.0, 0.0, 0.0);
@@ -94,7 +94,7 @@ function createVolClassCopyZProgram(context) {
94
94
  Texture_1.Texture2DHandle.bindSampler(uniform, geom.texture, RenderFlags_1.TextureUnit.Zero);
95
95
  });
96
96
  });
97
- frag.set(19 /* FragmentShaderComponent.FinalizeDepth */, depthFromTexture);
97
+ frag.set(20 /* FragmentShaderComponent.FinalizeDepth */, depthFromTexture);
98
98
  builder.vert.headerComment = "//!V! VolClassCopyZ";
99
99
  builder.frag.headerComment = "//!F! VolClassCopyZ";
100
100
  return builder.buildProgram(context);
@@ -107,7 +107,7 @@ function createVolClassSetBlendProgram(context) {
107
107
  addBoundaryTypeConstants(frag);
108
108
  frag.set(0 /* FragmentShaderComponent.CheckForEarlyDiscard */, checkDiscardBackgroundByZ);
109
109
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeSetBlendColor);
110
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
110
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
111
111
  frag.addUniform("u_boundaryType", 1 /* VariableType.Int */, (prog) => {
112
112
  prog.addGraphicUniform("u_boundaryType", (uniform, params) => {
113
113
  const geom = params.geometry;
@@ -150,7 +150,7 @@ function createVolClassBlendProgram(context) {
150
150
  builder.addInlineComputedVarying("v_texCoord", 3 /* VariableType.Vec2 */, computeTexCoord);
151
151
  const frag = builder.frag;
152
152
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeBlendTextureColor);
153
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
153
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
154
154
  frag.addUniform("u_blendTexture", 8 /* VariableType.Sampler2D */, (prog) => {
155
155
  prog.addGraphicUniform("u_blendTexture", (uniform, params) => {
156
156
  const geom = params.geometry;
@@ -51,7 +51,7 @@ function createEDLCalcBasicProgram(context) {
51
51
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true);
52
52
  const frag = builder.frag;
53
53
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, calcBasicEDL);
54
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
54
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
55
55
  frag.addUniform("u_texInfo", 4 /* VariableType.Vec3 */, (prog) => {
56
56
  prog.addGraphicUniform("u_texInfo", (uniform, params) => {
57
57
  const geom = params.geometry;
@@ -117,7 +117,7 @@ function createEDLCalcFullProgram(context) {
117
117
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true);
118
118
  const frag = builder.frag;
119
119
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, calcFullEDL);
120
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
120
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
121
121
  frag.addUniform("u_texInfo", 4 /* VariableType.Vec3 */, (prog) => {
122
122
  prog.addGraphicUniform("u_texInfo", (uniform, params) => {
123
123
  const geom = params.geometry;
@@ -188,7 +188,7 @@ function createEDLFilterProgram(context) {
188
188
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true);
189
189
  const frag = builder.frag;
190
190
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, filterEDL);
191
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
191
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
192
192
  frag.addUniform("u_texInfo", 4 /* VariableType.Vec3 */, (prog) => {
193
193
  prog.addGraphicUniform("u_texInfo", (uniform, params) => {
194
194
  const geom = params.geometry;
@@ -227,7 +227,7 @@ function createEDLMixProgram(context) {
227
227
  const builder = (0, ViewportQuad_1.createViewportQuadBuilder)(true);
228
228
  const frag = builder.frag;
229
229
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, mixEDL);
230
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
230
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
231
231
  frag.addUniform("u_colorTexture1", 8 /* VariableType.Sampler2D */, (prog) => {
232
232
  prog.addGraphicUniform("u_colorTexture1", (uniform, params) => {
233
233
  const geom = params.geometry;
@@ -66,7 +66,7 @@ function createEVSMProgram(context) {
66
66
  (0, SolarShadowMapping_1.addEvsmExponent)(frag);
67
67
  frag.addFunction(SolarShadowMapping_1.warpDepth);
68
68
  frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeEVSM);
69
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
69
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
70
70
  builder.vert.headerComment = "//!V! EVSMFromDepth";
71
71
  builder.frag.headerComment = "//!F! EVSMFromDepth";
72
72
  return builder.buildProgram(context);
@@ -241,7 +241,7 @@ function createBase(type, instanced, isAnimated, positionType) {
241
241
  (0, FeatureSymbology_1.addRenderOrder)(vert);
242
242
  (0, FeatureSymbology_1.addRenderOrderConstants)(vert);
243
243
  builder.addInlineComputedVarying("v_renderOrder", 2 /* VariableType.Float */, computeIndexedRenderOrder);
244
- builder.frag.set(21 /* FragmentShaderComponent.OverrideRenderOrder */, "return v_renderOrder;");
244
+ builder.frag.set(22 /* FragmentShaderComponent.OverrideRenderOrder */, "return v_renderOrder;");
245
245
  }
246
246
  else {
247
247
  vert.addInitializer(decodeEndPointAndQuadIndices);
@@ -314,7 +314,7 @@ function addHiliter(builder, wantWeight = false) {
314
314
  addEmphasisFlags(builder.frag);
315
315
  (0, Common_1.addExtractNthBit)(builder.frag);
316
316
  builder.frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeHiliteColor);
317
- builder.frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
317
+ builder.frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
318
318
  }
319
319
  function addSamplers(frag, testFeatureId) {
320
320
  if (testFeatureId) {
@@ -680,7 +680,7 @@ function addUniformHiliter(builder) {
680
680
  addEmphasisFlags(builder.frag);
681
681
  (0, Common_1.addExtractNthBit)(builder.frag);
682
682
  builder.frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeHiliteColor);
683
- builder.frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
683
+ builder.frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
684
684
  }
685
685
  /** For a uniform feature table, the feature ID output to pick buffers is equal to the batch ID.
686
686
  * The following symbology overrides are supported:
@@ -76,7 +76,7 @@ function addPickBufferOutputs(frag) {
76
76
  frag.addFunction(Decode_1.encodeDepthRgb);
77
77
  frag.addFunction(exports.computeLinearDepth);
78
78
  const prelude = new ShaderBuilder_1.SourceBuilder();
79
- const overrideOrder = frag.get(21 /* FragmentShaderComponent.OverrideRenderOrder */);
79
+ const overrideOrder = frag.get(22 /* FragmentShaderComponent.OverrideRenderOrder */);
80
80
  if (overrideOrder) {
81
81
  frag.addFunction("float overrideRenderOrder(float currentOrder)", overrideOrder);
82
82
  prelude.addline(" float renderOrder = overrideRenderOrder(u_renderOrder);");
@@ -85,43 +85,43 @@ function addPickBufferOutputs(frag) {
85
85
  prelude.addline(" float renderOrder = u_renderOrder;");
86
86
  }
87
87
  prelude.add(computePickBufferOutputs);
88
- const overrideColor = frag.get(20 /* FragmentShaderComponent.OverrideColor */);
88
+ const overrideColor = frag.get(21 /* FragmentShaderComponent.OverrideColor */);
89
89
  if (undefined !== overrideColor) {
90
90
  frag.addFunction("vec4 overrideColor(vec4 currentColor)", overrideColor);
91
91
  prelude.addline(" output0 = overrideColor(output0);");
92
92
  }
93
- const overrideFeatureId = frag.get(18 /* FragmentShaderComponent.OverrideFeatureId */);
93
+ const overrideFeatureId = frag.get(19 /* FragmentShaderComponent.OverrideFeatureId */);
94
94
  if (undefined !== overrideFeatureId) {
95
95
  frag.addFunction("vec4 overrideFeatureId(vec4 currentId)", overrideFeatureId);
96
96
  prelude.addline(reassignFeatureId);
97
97
  }
98
98
  (0, RenderPass_1.addRenderPass)(frag);
99
99
  frag.addDrawBuffersExtension(3);
100
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, prelude.source + assignPickBufferOutputsMRT);
100
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, prelude.source + assignPickBufferOutputsMRT);
101
101
  }
102
102
  /** @internal */
103
103
  function addAltPickBufferOutputs(frag) {
104
104
  const prelude = new ShaderBuilder_1.SourceBuilder();
105
105
  prelude.add(computeAltPickBufferOutputs);
106
- const overrideColor = frag.get(20 /* FragmentShaderComponent.OverrideColor */);
106
+ const overrideColor = frag.get(21 /* FragmentShaderComponent.OverrideColor */);
107
107
  if (undefined !== overrideColor) {
108
108
  frag.addFunction("vec4 overrideColor(vec4 currentColor)", overrideColor);
109
109
  prelude.addline(" output0 = overrideColor(output0);");
110
110
  }
111
111
  (0, RenderPass_1.addRenderPass)(frag);
112
112
  frag.addDrawBuffersExtension(3);
113
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, prelude.source + assignPickBufferOutputsMRT);
113
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, prelude.source + assignPickBufferOutputsMRT);
114
114
  }
115
115
  /** @internal */
116
116
  function addFragColorWithPreMultipliedAlpha(frag) {
117
117
  (0, RenderPass_1.addRenderPass)(frag);
118
- const overrideColor = frag.get(20 /* FragmentShaderComponent.OverrideColor */);
118
+ const overrideColor = frag.get(21 /* FragmentShaderComponent.OverrideColor */);
119
119
  if (undefined === overrideColor) {
120
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, assignFragColorWithPreMultipliedAlpha);
120
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, assignFragColorWithPreMultipliedAlpha);
121
121
  }
122
122
  else {
123
123
  frag.addFunction("vec4 overrideColor(vec4 currentColor)", overrideColor);
124
- frag.set(17 /* FragmentShaderComponent.AssignFragData */, overrideAndAssignFragColorWithPreMultipliedAlpha);
124
+ frag.set(18 /* FragmentShaderComponent.AssignFragData */, overrideAndAssignFragColorWithPreMultipliedAlpha);
125
125
  }
126
126
  }
127
127
  /** @internal */
@@ -25,6 +25,6 @@ function addLogDepth(builder) {
25
25
  uniform.setUniform2fv(params.target.uniforms.frustum.logZ);
26
26
  });
27
27
  });
28
- frag.set(19 /* FragmentShaderComponent.FinalizeDepth */, finalizeDepth);
28
+ frag.set(20 /* FragmentShaderComponent.FinalizeDepth */, finalizeDepth);
29
29
  }
30
30
  //# sourceMappingURL=LogarithmicDepthBuffer.js.map
@@ -0,0 +1,12 @@
1
+ /** @packageDocumentation
2
+ * @module WebGL
3
+ */
4
+ import { FragmentShaderBuilder } from "../ShaderBuilder";
5
+ export declare const testInside = "\nbool testInside(float x0, float y0, float x1, float y1, float x, float y) {\n vec2 perp = vec2(y0 - y1, x1 - x0), test = vec2(x - x0, y - y0);\n float dot = (test.x * perp.x + test.y * perp.y) / sqrt(perp.x * perp.x + perp.y * perp.y);\n return dot >= -0.001;\n}\n";
6
+ export declare const applyTexture: (isRealityTile: boolean) => string;
7
+ export declare const overrideFeatureId = "return (classifierId == vec4(0)) ? (addUInt32s(feature_id * 255.0, vec4(featureIncrement, 0.0, 0.0, 0.0)) / 255.0) : classifierId;";
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare function addApplySurfaceDraping(frag: FragmentShaderBuilder): void;
12
+ //# sourceMappingURL=MaplayerDraping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaplayerDraping.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/MaplayerDraping.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAyC,MAAM,kBAAkB,CAAC;AAIhG,eAAO,MAAM,UAAU,kRAMtB,CAAC;AAEF,eAAO,MAAM,YAAY,kBAAmB,OAAO,WAoElD,CAAC;AAEF,eAAO,MAAM,iBAAiB,uIAAuI,CAAC;AAwBtK;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,QAQjE"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.overrideFeatureId = exports.applyTexture = exports.testInside = void 0;
4
+ exports.addApplySurfaceDraping = addApplySurfaceDraping;
5
+ const System_1 = require("../System");
6
+ const Common_1 = require("./Common");
7
+ exports.testInside = `
8
+ bool testInside(float x0, float y0, float x1, float y1, float x, float y) {
9
+ vec2 perp = vec2(y0 - y1, x1 - x0), test = vec2(x - x0, y - y0);
10
+ float dot = (test.x * perp.x + test.y * perp.y) / sqrt(perp.x * perp.x + perp.y * perp.y);
11
+ return dot >= -0.001;
12
+ }
13
+ `;
14
+ const applyTexture = (isRealityTile) => `
15
+ bool applyTexture(inout vec4 col, sampler2D sampler, mat4 params, mat4 matrix) {
16
+ vec2 uv;
17
+ float layerAlpha;
18
+ bool isProjected = params[0][0] != 0.0;
19
+ float imageCount = params[0][1];
20
+ vec2 classPos;
21
+
22
+ if (isProjected) {
23
+ vec4 eye4 = vec4(v_eyeSpace, 1.0);
24
+ vec4 classPos4 = matrix * eye4;
25
+ classPos = classPos4.xy / classPos4.w;
26
+
27
+ if (!testInside(params[2].x, params[2].y, params[2].z, params[2].w, classPos.x, classPos.y)
28
+ ${isRealityTile ? "||" : "&&"}
29
+ !testInside(params[2].z, params[2].w, params[3].x, params[3].y, classPos.x, classPos.y)
30
+ ${isRealityTile ? "||" : "&&"}
31
+ !testInside(params[3].x, params[3].y, params[3].z, params[3].w, classPos.x, classPos.y)
32
+ ${isRealityTile ? "||" : "&&"}
33
+ !testInside(params[3].z, params[3].w, params[2].x, params[2].y, classPos.x, classPos.y))
34
+ return false;
35
+
36
+ uv.x = classPos.x;
37
+ uv.y = classPos.y / imageCount;
38
+ layerAlpha = params[0][2];
39
+
40
+ if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0)
41
+ return false;
42
+
43
+ } else {
44
+ vec4 texTransform = matrix[0].xyzw;
45
+ vec4 texClip = matrix[1].xyzw;
46
+ layerAlpha = matrix[2].x;
47
+ uv = vec2(texTransform[0] + texTransform[2] * v_texCoord.x, texTransform[1] + texTransform[3] * v_texCoord.y);
48
+
49
+ if (uv.x < texClip[0] || uv.x > texClip[2] || uv.y < texClip[1] || uv.y > texClip[3])
50
+ return false;
51
+
52
+ uv.y = 1.0 - uv.y;
53
+ }
54
+
55
+ vec4 texCol = TEXTURE(sampler, uv);
56
+ float alpha = layerAlpha * texCol.a;
57
+
58
+ if (alpha > 0.05) {
59
+ vec3 texRgb = isProjected ? (texCol.rgb / texCol.a) : texCol.rgb; // If projected, undo premultiplication
60
+ // Texture color is premultiplied earlier by alpha only if projected (from classification).
61
+
62
+ col.rgb = (1.0 - alpha) * col.rgb + alpha * texRgb;
63
+
64
+ if (isProjected) {
65
+ vec4 featureTexel = TEXTURE(sampler, vec2(uv.x, (1.0 + classPos.y) / imageCount));
66
+ classifierId = addUInt32s(params[1], featureTexel * 255.0) / 255.0;
67
+ } else {
68
+ featureIncrement = matrix[2].y;
69
+ classifierId = vec4(0);
70
+ }
71
+
72
+ if (alpha > col.a)
73
+ col.a = alpha;
74
+
75
+ return true;
76
+ }
77
+
78
+ // If texture color is transparent but base color is not, return true (don't discard)
79
+ // Else return false (discard) if both the texture and base color are transparent
80
+ return (col.a > 0.05);
81
+ }
82
+ `;
83
+ exports.applyTexture = applyTexture;
84
+ exports.overrideFeatureId = `return (classifierId == vec4(0)) ? (addUInt32s(feature_id * 255.0, vec4(featureIncrement, 0.0, 0.0, 0.0)) / 255.0) : classifierId;`;
85
+ function applyDraping() {
86
+ const applyTextureStrings = [];
87
+ for (let i = 0; i < System_1.System.instance.maxRealityImageryLayers; i++)
88
+ applyTextureStrings.push(`if (applyTexture(col, s_texture${i}, u_texParams${i}, u_texMatrix${i})) doDiscard = false; `);
89
+ return `
90
+ if (!u_texturesPresent) {
91
+ vec4 col = baseColor;
92
+ return col;
93
+ }
94
+
95
+ bool doDiscard = baseColor.a < 0.05;
96
+ vec4 col = baseColor;
97
+ ${applyTextureStrings.join("\n ")}
98
+ if (doDiscard)
99
+ discard;
100
+
101
+ return col;
102
+ `;
103
+ }
104
+ /**
105
+ * @internal
106
+ */
107
+ function addApplySurfaceDraping(frag) {
108
+ frag.addGlobal("featureIncrement", 2 /* VariableType.Float */, "0.0");
109
+ frag.addGlobal("classifierId", 5 /* VariableType.Vec4 */);
110
+ frag.addFunction(Common_1.addUInt32s);
111
+ frag.addFunction(exports.testInside);
112
+ frag.addFunction((0, exports.applyTexture)(false));
113
+ frag.set(14 /* FragmentShaderComponent.ApplyDraping */, applyDraping());
114
+ frag.set(19 /* FragmentShaderComponent.OverrideFeatureId */, exports.overrideFeatureId);
115
+ }
116
+ //# sourceMappingURL=MaplayerDraping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaplayerDraping.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/MaplayerDraping.ts"],"names":[],"mappings":";;;AAoHA,wDAQC;AApHD,sCAAmC;AACnC,qCAAsC;AAEzB,QAAA,UAAU,GAAG;;;;;;CAMzB,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,aAAsB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;UAc9C,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;UAE3B,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;UAE3B,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDpC,CAAC;AApEW,QAAA,YAAY,gBAoEvB;AAEW,QAAA,iBAAiB,GAAG,oIAAoI,CAAC;AAEtK,SAAS,YAAY;IACnB,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,EAAE;QAC9D,mBAAmB,CAAC,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IAE1H,OAAO;;;;;;;;IAQL,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;GAKjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,IAA2B;IAChE,IAAI,CAAC,SAAS,CAAC,kBAAkB,8BAAsB,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,CAAC,cAAc,4BAAoB,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,mBAAU,CAAC,CAAC;IAC7B,IAAI,CAAC,WAAW,CAAC,kBAAU,CAAC,CAAC;IAC7B,IAAI,CAAC,WAAW,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,gDAAuC,YAAY,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,qDAA4C,yBAAiB,CAAC,CAAC;AACzE,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 */\nimport { FragmentShaderBuilder, FragmentShaderComponent, VariableType } from \"../ShaderBuilder\";\nimport { System } from \"../System\";\nimport { addUInt32s } from \"./Common\";\n\nexport const testInside = `\nbool testInside(float x0, float y0, float x1, float y1, float x, float y) {\n vec2 perp = vec2(y0 - y1, x1 - x0), test = vec2(x - x0, y - y0);\n float dot = (test.x * perp.x + test.y * perp.y) / sqrt(perp.x * perp.x + perp.y * perp.y);\n return dot >= -0.001;\n}\n`;\n\nexport const applyTexture = (isRealityTile: boolean) => `\nbool applyTexture(inout vec4 col, sampler2D sampler, mat4 params, mat4 matrix) {\n vec2 uv;\n float layerAlpha;\n bool isProjected = params[0][0] != 0.0;\n float imageCount = params[0][1];\n vec2 classPos;\n\n if (isProjected) {\n vec4 eye4 = vec4(v_eyeSpace, 1.0);\n vec4 classPos4 = matrix * eye4;\n classPos = classPos4.xy / classPos4.w;\n\n if (!testInside(params[2].x, params[2].y, params[2].z, params[2].w, classPos.x, classPos.y)\n ${isRealityTile ? \"||\" : \"&&\"}\n !testInside(params[2].z, params[2].w, params[3].x, params[3].y, classPos.x, classPos.y)\n ${isRealityTile ? \"||\" : \"&&\"}\n !testInside(params[3].x, params[3].y, params[3].z, params[3].w, classPos.x, classPos.y)\n ${isRealityTile ? \"||\" : \"&&\"}\n !testInside(params[3].z, params[3].w, params[2].x, params[2].y, classPos.x, classPos.y))\n return false;\n\n uv.x = classPos.x;\n uv.y = classPos.y / imageCount;\n layerAlpha = params[0][2];\n\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0)\n return false;\n\n } else {\n vec4 texTransform = matrix[0].xyzw;\n vec4 texClip = matrix[1].xyzw;\n layerAlpha = matrix[2].x;\n uv = vec2(texTransform[0] + texTransform[2] * v_texCoord.x, texTransform[1] + texTransform[3] * v_texCoord.y);\n\n if (uv.x < texClip[0] || uv.x > texClip[2] || uv.y < texClip[1] || uv.y > texClip[3])\n return false;\n\n uv.y = 1.0 - uv.y;\n }\n\n vec4 texCol = TEXTURE(sampler, uv);\n float alpha = layerAlpha * texCol.a;\n\n if (alpha > 0.05) {\n vec3 texRgb = isProjected ? (texCol.rgb / texCol.a) : texCol.rgb; // If projected, undo premultiplication\n // Texture color is premultiplied earlier by alpha only if projected (from classification).\n\n col.rgb = (1.0 - alpha) * col.rgb + alpha * texRgb;\n\n if (isProjected) {\n vec4 featureTexel = TEXTURE(sampler, vec2(uv.x, (1.0 + classPos.y) / imageCount));\n classifierId = addUInt32s(params[1], featureTexel * 255.0) / 255.0;\n } else {\n featureIncrement = matrix[2].y;\n classifierId = vec4(0);\n }\n\n if (alpha > col.a)\n col.a = alpha;\n\n return true;\n }\n\n // If texture color is transparent but base color is not, return true (don't discard)\n // Else return false (discard) if both the texture and base color are transparent\n return (col.a > 0.05);\n}\n`;\n\nexport const overrideFeatureId = `return (classifierId == vec4(0)) ? (addUInt32s(feature_id * 255.0, vec4(featureIncrement, 0.0, 0.0, 0.0)) / 255.0) : classifierId;`;\n\nfunction applyDraping(){\n const applyTextureStrings = [];\n\n for (let i = 0; i < System.instance.maxRealityImageryLayers; i++)\n applyTextureStrings.push(`if (applyTexture(col, s_texture${i}, u_texParams${i}, u_texMatrix${i})) doDiscard = false; `);\n\n return `\n if (!u_texturesPresent) {\n vec4 col = baseColor;\n return col;\n }\n\n bool doDiscard = baseColor.a < 0.05;\n vec4 col = baseColor;\n ${applyTextureStrings.join(\"\\n \")}\n if (doDiscard)\n discard;\n\n return col;\n `;\n}\n\n/**\n * @internal\n */\nexport function addApplySurfaceDraping(frag: FragmentShaderBuilder) {\n frag.addGlobal(\"featureIncrement\", VariableType.Float, \"0.0\");\n frag.addGlobal(\"classifierId\", VariableType.Vec4);\n frag.addFunction(addUInt32s);\n frag.addFunction(testInside);\n frag.addFunction(applyTexture(false));\n frag.set(FragmentShaderComponent.ApplyDraping, applyDraping());\n frag.set(FragmentShaderComponent.OverrideFeatureId, overrideFeatureId);\n}"]}
@@ -297,7 +297,7 @@ function addFeaturePlanarClassifier(builder) {
297
297
  uniform.setUniform4fv(scratchBatchBaseComponents);
298
298
  });
299
299
  });
300
- frag.set(18 /* FragmentShaderComponent.OverrideFeatureId */, overrideFeatureId);
300
+ frag.set(19 /* FragmentShaderComponent.OverrideFeatureId */, overrideFeatureId);
301
301
  frag.addFunction(Common_1.addUInt32s);
302
302
  }
303
303
  /** @internal */
@@ -386,8 +386,8 @@ function addOverrideClassifierColor(builder, isThematic) {
386
386
  const haveOverrides = undefined !== builder.frag.find("v_feature_emphasis");
387
387
  builder.frag.addFunction(haveOverrides ? encodeNonLocatableWithFeatures : encodeNonLocatable);
388
388
  if (isThematic === 0 /* IsThematic.No */)
389
- builder.frag.set(20 /* FragmentShaderComponent.OverrideColor */, haveOverrides ? overrideClassifierWithFeatures : overrideClassifierForClip);
389
+ builder.frag.set(21 /* FragmentShaderComponent.OverrideColor */, haveOverrides ? overrideClassifierWithFeatures : overrideClassifierForClip);
390
390
  else
391
- builder.frag.set(20 /* FragmentShaderComponent.OverrideColor */, haveOverrides ? overrideClassifierWithFeaturesForThematic : overrideClassifierForClipForThematic);
391
+ builder.frag.set(21 /* FragmentShaderComponent.OverrideColor */, haveOverrides ? overrideClassifierWithFeaturesForThematic : overrideClassifierForClipForThematic);
392
392
  }
393
393
  //# sourceMappingURL=PlanarClassification.js.map
@@ -93,7 +93,7 @@ function createPointCloudBuilder(classified, featureMode, thematic) {
93
93
  }
94
94
  if (1 /* IsThematic.Yes */ === thematic) {
95
95
  (0, Thematic_1.addThematicDisplay)(builder, true);
96
- (0, Surface_1.addTexture)(builder, 0 /* IsAnimated.No */, 1 /* IsThematic.Yes */, true, false);
96
+ (0, Surface_1.addTexture)(builder, 0 /* IsAnimated.No */, 1 /* IsThematic.Yes */, true, false, false);
97
97
  }
98
98
  return builder;
99
99
  }
@@ -102,7 +102,7 @@ function createPointCloudHiliter(classified) {
102
102
  const builder = createBuilder();
103
103
  if (classified) {
104
104
  (0, PlanarClassification_1.addHilitePlanarClassifier)(builder, false);
105
- builder.frag.set(17 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
105
+ builder.frag.set(18 /* FragmentShaderComponent.AssignFragData */, Fragment_1.assignFragColor);
106
106
  }
107
107
  else {
108
108
  (0, FeatureSymbology_1.addUniformHiliter)(builder);
@@ -1 +1 @@
1
- {"version":3,"file":"PointCloud.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/PointCloud.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { AttributeMap } from \"../AttributeMap\";\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { FeatureMode, IsAnimated, IsClassified, IsThematic } from \"../TechniqueFlags\";\nimport { TechniqueId } from \"../TechniqueId\";\nimport { addUniformHiliter } from \"./FeatureSymbology\";\nimport { addColorPlanarClassifier, addFeaturePlanarClassifier, addHilitePlanarClassifier } from \"./PlanarClassification\";\nimport { addModelViewProjectionMatrix } from \"./Vertex\";\nimport { addViewportTransformation } from \"./Viewport\";\nimport { addThematicDisplay } from \"./Thematic\";\nimport { addTexture } from \"./Surface\";\nimport { assignFragColor } from \"./Fragment\";\n\n// Revert components if color format is BGR instead of RGB.\nconst computeColor = `\n return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);\n`;\n\nconst computeBaseColor = \"return v_color;\";\n\n// Round the point unless drawing square points.\nconst roundPointDiscard = `\n if (u_pointCloudSettings.w == 1.0)\n return false;\n\n vec2 pointXY = (2.0 * gl_PointCoord - 1.0);\n return dot(pointXY, pointXY) > 1.0;\n`;\n\nconst checkForClassifiedDiscard = \"return baseColor.a == 0.0;\";\n\nconst computePosition = `\n gl_PointSize = 1.0;\n vec4 pos = MAT_MVP * rawPos;\n if (u_pointCloudSettings.x > 0.0) {\n // Size is specified in pixels.\n gl_PointSize = u_pointCloudSettings.x;\n return pos;\n }\n\n // Point size is in meters (voxel size).\n if (pos.w <= 0.0) {\n // Cannot perform perspective divide below.\n return pos;\n }\n\n // Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.\n mat4 toView = u_viewportTransformation * MAT_MVP;\n float scale = length(toView[0].xyz);\n gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);\n return pos;\n`;\n\nfunction createBuilder(): ProgramBuilder {\n const builder = new ProgramBuilder(AttributeMap.findAttributeMap(TechniqueId.PointCloud, false));\n const vert = builder.vert;\n addViewportTransformation(vert);\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\n addModelViewProjectionMatrix(vert);\n\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundPointDiscard);\n\n // Uniforms based on the PointCloudDisplaySettings.\n builder.addUniform(\"u_pointCloudSettings\", VariableType.Vec4, (prog) => {\n prog.addGraphicUniform(\"u_pointCloudSettings\", (uniform, params) => {\n params.target.uniforms.realityModel.pointCloud.bind(uniform);\n });\n });\n\n // Uniforms based on the PointCloudGeometry.\n builder.vert.addUniform(\"u_pointCloud\", VariableType.Vec2, (prog) => {\n prog.addGraphicUniform(\"u_pointCloud\", (uniform, params) => {\n assert(params.geometry.asPointCloud !== undefined);\n scratchPointCloud[0] = params.geometry.asPointCloud.voxelSize;\n scratchPointCloud[1] = params.geometry.asPointCloud.colorIsBgr ? 1 : 0;\n uniform.setUniform2fv(scratchPointCloud);\n });\n });\n\n return builder;\n}\n\nconst scratchPointCloud = new Float32Array([0, 0]);\n\n/** @internal */\nexport function createPointCloudBuilder(classified: IsClassified, featureMode: FeatureMode, thematic: IsThematic): ProgramBuilder {\n const builder = createBuilder();\n\n builder.addVarying(\"v_color\", VariableType.Vec4);\n builder.vert.set(VertexShaderComponent.ComputeBaseColor, computeColor);\n\n builder.frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n if (classified) {\n addColorPlanarClassifier(builder, false, thematic);\n builder.frag.set(FragmentShaderComponent.CheckForDiscard, checkForClassifiedDiscard);\n\n if (FeatureMode.None !== featureMode)\n addFeaturePlanarClassifier(builder);\n }\n\n if (IsThematic.Yes === thematic) {\n addThematicDisplay(builder, true);\n addTexture(builder, IsAnimated.No, IsThematic.Yes, true, false);\n }\n\n return builder;\n}\n\n/** @internal */\nexport function createPointCloudHiliter(classified: IsClassified): ProgramBuilder {\n const builder = createBuilder();\n if (classified) {\n addHilitePlanarClassifier(builder, false);\n builder.frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n } else {\n addUniformHiliter(builder);\n }\n\n return builder;\n}\n"]}
1
+ {"version":3,"file":"PointCloud.js","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/PointCloud.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { AttributeMap } from \"../AttributeMap\";\nimport { FragmentShaderComponent, ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\nimport { FeatureMode, IsAnimated, IsClassified, IsThematic } from \"../TechniqueFlags\";\nimport { TechniqueId } from \"../TechniqueId\";\nimport { addUniformHiliter } from \"./FeatureSymbology\";\nimport { addColorPlanarClassifier, addFeaturePlanarClassifier, addHilitePlanarClassifier } from \"./PlanarClassification\";\nimport { addModelViewProjectionMatrix } from \"./Vertex\";\nimport { addViewportTransformation } from \"./Viewport\";\nimport { addThematicDisplay } from \"./Thematic\";\nimport { addTexture } from \"./Surface\";\nimport { assignFragColor } from \"./Fragment\";\n\n// Revert components if color format is BGR instead of RGB.\nconst computeColor = `\n return u_pointCloud.y == 1.0 ? vec4(a_color.b, a_color.g, a_color.r, 1.0) : vec4(a_color, 1.0);\n`;\n\nconst computeBaseColor = \"return v_color;\";\n\n// Round the point unless drawing square points.\nconst roundPointDiscard = `\n if (u_pointCloudSettings.w == 1.0)\n return false;\n\n vec2 pointXY = (2.0 * gl_PointCoord - 1.0);\n return dot(pointXY, pointXY) > 1.0;\n`;\n\nconst checkForClassifiedDiscard = \"return baseColor.a == 0.0;\";\n\nconst computePosition = `\n gl_PointSize = 1.0;\n vec4 pos = MAT_MVP * rawPos;\n if (u_pointCloudSettings.x > 0.0) {\n // Size is specified in pixels.\n gl_PointSize = u_pointCloudSettings.x;\n return pos;\n }\n\n // Point size is in meters (voxel size).\n if (pos.w <= 0.0) {\n // Cannot perform perspective divide below.\n return pos;\n }\n\n // Convert voxel size in meters into pixel size, then compute pixel size, taking perspective into account.\n mat4 toView = u_viewportTransformation * MAT_MVP;\n float scale = length(toView[0].xyz);\n gl_PointSize = -u_pointCloudSettings.x * clamp(u_pointCloud.x * scale / pos.w, u_pointCloudSettings.y, u_pointCloudSettings.z);\n return pos;\n`;\n\nfunction createBuilder(): ProgramBuilder {\n const builder = new ProgramBuilder(AttributeMap.findAttributeMap(TechniqueId.PointCloud, false));\n const vert = builder.vert;\n addViewportTransformation(vert);\n vert.set(VertexShaderComponent.ComputePosition, computePosition);\n addModelViewProjectionMatrix(vert);\n\n builder.frag.set(FragmentShaderComponent.CheckForEarlyDiscard, roundPointDiscard);\n\n // Uniforms based on the PointCloudDisplaySettings.\n builder.addUniform(\"u_pointCloudSettings\", VariableType.Vec4, (prog) => {\n prog.addGraphicUniform(\"u_pointCloudSettings\", (uniform, params) => {\n params.target.uniforms.realityModel.pointCloud.bind(uniform);\n });\n });\n\n // Uniforms based on the PointCloudGeometry.\n builder.vert.addUniform(\"u_pointCloud\", VariableType.Vec2, (prog) => {\n prog.addGraphicUniform(\"u_pointCloud\", (uniform, params) => {\n assert(params.geometry.asPointCloud !== undefined);\n scratchPointCloud[0] = params.geometry.asPointCloud.voxelSize;\n scratchPointCloud[1] = params.geometry.asPointCloud.colorIsBgr ? 1 : 0;\n uniform.setUniform2fv(scratchPointCloud);\n });\n });\n\n return builder;\n}\n\nconst scratchPointCloud = new Float32Array([0, 0]);\n\n/** @internal */\nexport function createPointCloudBuilder(classified: IsClassified, featureMode: FeatureMode, thematic: IsThematic): ProgramBuilder {\n const builder = createBuilder();\n\n builder.addVarying(\"v_color\", VariableType.Vec4);\n builder.vert.set(VertexShaderComponent.ComputeBaseColor, computeColor);\n\n builder.frag.set(FragmentShaderComponent.ComputeBaseColor, computeBaseColor);\n if (classified) {\n addColorPlanarClassifier(builder, false, thematic);\n builder.frag.set(FragmentShaderComponent.CheckForDiscard, checkForClassifiedDiscard);\n\n if (FeatureMode.None !== featureMode)\n addFeaturePlanarClassifier(builder);\n }\n\n if (IsThematic.Yes === thematic) {\n addThematicDisplay(builder, true);\n addTexture(builder, IsAnimated.No, IsThematic.Yes, true, false, false);\n }\n\n return builder;\n}\n\n/** @internal */\nexport function createPointCloudHiliter(classified: IsClassified): ProgramBuilder {\n const builder = createBuilder();\n if (classified) {\n addHilitePlanarClassifier(builder, false);\n builder.frag.set(FragmentShaderComponent.AssignFragData, assignFragColor);\n } else {\n addUniformHiliter(builder);\n }\n\n return builder;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RealityMesh.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/RealityMesh.ts"],"names":[],"mappings":"AAIA;;GAEG;AAQH,OAAO,EAA2B,cAAc,EAAE,aAAa,EAAuC,MAAM,kBAAkB,CAAC;AAE/H,OAAO,EAAyC,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuB1F,eAAO,MAAM,cAAc,uEAE1B,CAAC;AAmNF,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,QAMtD;AAYD,gBAAgB;AAChB,wBAAgB,kCAAkC,IAAI,cAAc,CAInE;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,IAAI,cAAc,CAIzD;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAyE9E"}
1
+ {"version":3,"file":"RealityMesh.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/render/webgl/glsl/RealityMesh.ts"],"names":[],"mappings":"AAIA;;GAEG;AAQH,OAAO,EAA2B,cAAc,EAAE,aAAa,EAAuC,MAAM,kBAAkB,CAAC;AAE/H,OAAO,EAAyC,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAwB1F,eAAO,MAAM,cAAc,uEAE1B,CAAC;AA0HF,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,QAMtD;AAYD,gBAAgB;AAChB,wBAAgB,kCAAkC,IAAI,cAAc,CAInE;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,IAAI,cAAc,CAIzD;AAED,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAyE9E"}