@itwin/core-frontend 4.0.0-dev.2 → 4.0.0-dev.4

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 (417) hide show
  1. package/lib/cjs/IModelApp.d.ts +1 -0
  2. package/lib/cjs/IModelApp.d.ts.map +1 -1
  3. package/lib/cjs/IModelApp.js +2 -4
  4. package/lib/cjs/IModelApp.js.map +1 -1
  5. package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
  6. package/lib/cjs/SubCategoriesCache.js +0 -1
  7. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  8. package/lib/cjs/render/RealityMeshParams.d.ts +4 -1
  9. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
  10. package/lib/cjs/render/RealityMeshParams.js +14 -4
  11. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  12. package/lib/cjs/render/RenderSystem.d.ts +5 -16
  13. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  14. package/lib/cjs/render/RenderSystem.js +0 -6
  15. package/lib/cjs/render/RenderSystem.js.map +1 -1
  16. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +3 -4
  17. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  18. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  19. package/lib/cjs/render/webgl/AttributeBuffers.d.ts +9 -79
  20. package/lib/cjs/render/webgl/AttributeBuffers.d.ts.map +1 -1
  21. package/lib/cjs/render/webgl/AttributeBuffers.js +19 -152
  22. package/lib/cjs/render/webgl/AttributeBuffers.js.map +1 -1
  23. package/lib/cjs/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  24. package/lib/cjs/render/webgl/BackgroundMapDrape.js +0 -3
  25. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  26. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  27. package/lib/cjs/render/webgl/BranchUniforms.js +0 -8
  28. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  29. package/lib/cjs/render/webgl/ClipStack.d.ts +0 -1
  30. package/lib/cjs/render/webgl/ClipStack.d.ts.map +1 -1
  31. package/lib/cjs/render/webgl/ClipStack.js +2 -6
  32. package/lib/cjs/render/webgl/ClipStack.js.map +1 -1
  33. package/lib/cjs/render/webgl/ClipVolume.d.ts.map +1 -1
  34. package/lib/cjs/render/webgl/ClipVolume.js +1 -5
  35. package/lib/cjs/render/webgl/ClipVolume.js.map +1 -1
  36. package/lib/cjs/render/webgl/ClippingProgram.d.ts +3 -2
  37. package/lib/cjs/render/webgl/ClippingProgram.d.ts.map +1 -1
  38. package/lib/cjs/render/webgl/ClippingProgram.js +10 -37
  39. package/lib/cjs/render/webgl/ClippingProgram.js.map +1 -1
  40. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -2
  41. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  42. package/lib/cjs/render/webgl/DrawCommand.js +1 -1
  43. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  44. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  45. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  46. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  47. package/lib/cjs/render/webgl/FloatRGBA.js +0 -4
  48. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  49. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  50. package/lib/cjs/render/webgl/GLTimer.d.ts.map +1 -1
  51. package/lib/cjs/render/webgl/GLTimer.js +2 -35
  52. package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
  53. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  54. package/lib/cjs/render/webgl/PlanarClassifier.js +13 -71
  55. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  56. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  57. package/lib/cjs/render/webgl/PointCloud.js +1 -3
  58. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  59. package/lib/cjs/render/webgl/RenderBuffer.d.ts +1 -1
  60. package/lib/cjs/render/webgl/RenderBuffer.d.ts.map +1 -1
  61. package/lib/cjs/render/webgl/RenderBuffer.js +2 -3
  62. package/lib/cjs/render/webgl/RenderBuffer.js.map +1 -1
  63. package/lib/cjs/render/webgl/RenderFlags.d.ts +1 -2
  64. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  65. package/lib/cjs/render/webgl/RenderFlags.js +4 -6
  66. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  67. package/lib/cjs/render/webgl/SceneCompositor.d.ts +0 -2
  68. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  69. package/lib/cjs/render/webgl/SceneCompositor.js +754 -1135
  70. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  71. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  72. package/lib/cjs/render/webgl/ScreenSpaceEffect.js.map +1 -1
  73. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +1 -2
  74. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  75. package/lib/cjs/render/webgl/ShaderBuilder.js +13 -48
  76. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  77. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -2
  78. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  79. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  80. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  81. package/lib/cjs/render/webgl/SolarShadowMap.js +6 -18
  82. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  83. package/lib/cjs/render/webgl/System.d.ts +11 -10
  84. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  85. package/lib/cjs/render/webgl/System.js +40 -122
  86. package/lib/cjs/render/webgl/System.js.map +1 -1
  87. package/lib/cjs/render/webgl/Technique.d.ts +4 -5
  88. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  89. package/lib/cjs/render/webgl/Technique.js +4 -28
  90. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  91. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  92. package/lib/cjs/render/webgl/Texture.js +14 -18
  93. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  94. package/lib/cjs/render/webgl/ThematicSensors.d.ts +4 -3
  95. package/lib/cjs/render/webgl/ThematicSensors.d.ts.map +1 -1
  96. package/lib/cjs/render/webgl/ThematicSensors.js +9 -50
  97. package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
  98. package/lib/cjs/render/webgl/ThematicUniforms.js +1 -1
  99. package/lib/cjs/render/webgl/ThematicUniforms.js.map +1 -1
  100. package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
  101. package/lib/cjs/render/webgl/UniformHandle.js +1 -4
  102. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  103. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts +1 -2
  104. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  105. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +1 -1
  106. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  107. package/lib/cjs/render/webgl/glsl/Animation.d.ts +1 -2
  108. package/lib/cjs/render/webgl/glsl/Animation.d.ts.map +1 -1
  109. package/lib/cjs/render/webgl/glsl/Animation.js +23 -26
  110. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  111. package/lib/cjs/render/webgl/glsl/Blur.d.ts +1 -2
  112. package/lib/cjs/render/webgl/glsl/Blur.d.ts.map +1 -1
  113. package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
  114. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.d.ts +1 -2
  115. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
  116. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -9
  117. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  118. package/lib/cjs/render/webgl/glsl/ClearTranslucent.d.ts +1 -2
  119. package/lib/cjs/render/webgl/glsl/ClearTranslucent.d.ts.map +1 -1
  120. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -10
  121. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  122. package/lib/cjs/render/webgl/glsl/Clipping.d.ts +1 -1
  123. package/lib/cjs/render/webgl/glsl/Clipping.d.ts.map +1 -1
  124. package/lib/cjs/render/webgl/glsl/Clipping.js +5 -36
  125. package/lib/cjs/render/webgl/glsl/Clipping.js.map +1 -1
  126. package/lib/cjs/render/webgl/glsl/Combine3Textures.d.ts +1 -2
  127. package/lib/cjs/render/webgl/glsl/Combine3Textures.d.ts.map +1 -1
  128. package/lib/cjs/render/webgl/glsl/Combine3Textures.js.map +1 -1
  129. package/lib/cjs/render/webgl/glsl/CombineTextures.d.ts +1 -2
  130. package/lib/cjs/render/webgl/glsl/CombineTextures.d.ts.map +1 -1
  131. package/lib/cjs/render/webgl/glsl/CombineTextures.js.map +1 -1
  132. package/lib/cjs/render/webgl/glsl/Common.d.ts.map +1 -1
  133. package/lib/cjs/render/webgl/glsl/Common.js +9 -55
  134. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  135. package/lib/cjs/render/webgl/glsl/Composite.d.ts +1 -2
  136. package/lib/cjs/render/webgl/glsl/Composite.d.ts.map +1 -1
  137. package/lib/cjs/render/webgl/glsl/Composite.js.map +1 -1
  138. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts +1 -2
  139. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  140. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  141. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.d.ts +1 -2
  142. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +12 -19
  144. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  145. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts +4 -7
  146. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  147. package/lib/cjs/render/webgl/glsl/CopyStencil.js +2 -39
  148. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  149. package/lib/cjs/render/webgl/glsl/EDL.d.ts +4 -5
  150. package/lib/cjs/render/webgl/glsl/EDL.d.ts.map +1 -1
  151. package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -1
  152. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.d.ts +1 -2
  153. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.d.ts.map +1 -1
  154. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  155. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  156. package/lib/cjs/render/webgl/glsl/Edge.js +2 -2
  157. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  158. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  159. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +3 -24
  160. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  161. package/lib/cjs/render/webgl/glsl/Fragment.d.ts +0 -7
  162. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  163. package/lib/cjs/render/webgl/glsl/Fragment.js +5 -40
  164. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  165. package/lib/cjs/render/webgl/glsl/Instancing.d.ts.map +1 -1
  166. package/lib/cjs/render/webgl/glsl/Instancing.js +1 -5
  167. package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
  168. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.d.ts.map +1 -1
  169. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +0 -2
  170. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  171. package/lib/cjs/render/webgl/glsl/PlanarGrid.d.ts +1 -2
  172. package/lib/cjs/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  173. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -12
  174. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  175. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  176. package/lib/cjs/render/webgl/glsl/RealityMesh.js +3 -8
  177. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  178. package/lib/cjs/render/webgl/glsl/SkyBox.d.ts +1 -2
  179. package/lib/cjs/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  180. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  181. package/lib/cjs/render/webgl/glsl/SkySphere.d.ts +1 -2
  182. package/lib/cjs/render/webgl/glsl/SkySphere.d.ts.map +1 -1
  183. package/lib/cjs/render/webgl/glsl/SkySphere.js.map +1 -1
  184. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +1 -1
  185. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  186. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  187. package/lib/cjs/render/webgl/glsl/Surface.js +33 -57
  188. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  189. package/lib/cjs/render/webgl/glsl/Thematic.d.ts.map +1 -1
  190. package/lib/cjs/render/webgl/glsl/Thematic.js +3 -36
  191. package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
  192. package/lib/cjs/render/webgl/glsl/Translucency.d.ts.map +1 -1
  193. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -12
  194. package/lib/cjs/render/webgl/glsl/Translucency.js.map +1 -1
  195. package/lib/cjs/render/webgl/glsl/Vertex.d.ts +1 -2
  196. package/lib/cjs/render/webgl/glsl/Vertex.d.ts.map +1 -1
  197. package/lib/cjs/render/webgl/glsl/Vertex.js +15 -78
  198. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  199. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -1
  200. package/lib/cjs/render/webgl/glsl/Wiremesh.js +2 -5
  201. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -1
  202. package/lib/cjs/tile/PrimaryTileTree.d.ts +0 -3
  203. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  204. package/lib/cjs/tile/PrimaryTileTree.js +6 -28
  205. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  206. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  207. package/lib/cjs/tile/TileAdmin.js +2 -2
  208. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  209. package/lib/esm/IModelApp.d.ts +1 -0
  210. package/lib/esm/IModelApp.d.ts.map +1 -1
  211. package/lib/esm/IModelApp.js +2 -4
  212. package/lib/esm/IModelApp.js.map +1 -1
  213. package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
  214. package/lib/esm/SubCategoriesCache.js +0 -1
  215. package/lib/esm/SubCategoriesCache.js.map +1 -1
  216. package/lib/esm/render/RealityMeshParams.d.ts +4 -1
  217. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
  218. package/lib/esm/render/RealityMeshParams.js +14 -4
  219. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  220. package/lib/esm/render/RenderSystem.d.ts +5 -16
  221. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  222. package/lib/esm/render/RenderSystem.js +0 -6
  223. package/lib/esm/render/RenderSystem.js.map +1 -1
  224. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +3 -4
  225. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  226. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  227. package/lib/esm/render/webgl/AttributeBuffers.d.ts +9 -79
  228. package/lib/esm/render/webgl/AttributeBuffers.d.ts.map +1 -1
  229. package/lib/esm/render/webgl/AttributeBuffers.js +16 -144
  230. package/lib/esm/render/webgl/AttributeBuffers.js.map +1 -1
  231. package/lib/esm/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  232. package/lib/esm/render/webgl/BackgroundMapDrape.js +0 -3
  233. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  234. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  235. package/lib/esm/render/webgl/BranchUniforms.js +0 -8
  236. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  237. package/lib/esm/render/webgl/ClipStack.d.ts +0 -1
  238. package/lib/esm/render/webgl/ClipStack.d.ts.map +1 -1
  239. package/lib/esm/render/webgl/ClipStack.js +2 -6
  240. package/lib/esm/render/webgl/ClipStack.js.map +1 -1
  241. package/lib/esm/render/webgl/ClipVolume.d.ts.map +1 -1
  242. package/lib/esm/render/webgl/ClipVolume.js +1 -5
  243. package/lib/esm/render/webgl/ClipVolume.js.map +1 -1
  244. package/lib/esm/render/webgl/ClippingProgram.d.ts +3 -2
  245. package/lib/esm/render/webgl/ClippingProgram.d.ts.map +1 -1
  246. package/lib/esm/render/webgl/ClippingProgram.js +10 -37
  247. package/lib/esm/render/webgl/ClippingProgram.js.map +1 -1
  248. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -2
  249. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  250. package/lib/esm/render/webgl/DrawCommand.js +1 -1
  251. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  252. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  253. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  254. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  255. package/lib/esm/render/webgl/FloatRGBA.js +0 -4
  256. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  257. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  258. package/lib/esm/render/webgl/GLTimer.d.ts.map +1 -1
  259. package/lib/esm/render/webgl/GLTimer.js +2 -35
  260. package/lib/esm/render/webgl/GLTimer.js.map +1 -1
  261. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  262. package/lib/esm/render/webgl/PlanarClassifier.js +13 -71
  263. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  264. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  265. package/lib/esm/render/webgl/PointCloud.js +1 -3
  266. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  267. package/lib/esm/render/webgl/RenderBuffer.d.ts +1 -1
  268. package/lib/esm/render/webgl/RenderBuffer.d.ts.map +1 -1
  269. package/lib/esm/render/webgl/RenderBuffer.js +2 -3
  270. package/lib/esm/render/webgl/RenderBuffer.js.map +1 -1
  271. package/lib/esm/render/webgl/RenderFlags.d.ts +1 -2
  272. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  273. package/lib/esm/render/webgl/RenderFlags.js +4 -6
  274. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  275. package/lib/esm/render/webgl/SceneCompositor.d.ts +0 -2
  276. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  277. package/lib/esm/render/webgl/SceneCompositor.js +756 -1137
  278. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  279. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  280. package/lib/esm/render/webgl/ScreenSpaceEffect.js.map +1 -1
  281. package/lib/esm/render/webgl/ShaderBuilder.d.ts +1 -2
  282. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  283. package/lib/esm/render/webgl/ShaderBuilder.js +13 -48
  284. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  285. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -2
  286. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  287. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  288. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  289. package/lib/esm/render/webgl/SolarShadowMap.js +6 -18
  290. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  291. package/lib/esm/render/webgl/System.d.ts +11 -10
  292. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  293. package/lib/esm/render/webgl/System.js +42 -124
  294. package/lib/esm/render/webgl/System.js.map +1 -1
  295. package/lib/esm/render/webgl/Technique.d.ts +4 -5
  296. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  297. package/lib/esm/render/webgl/Technique.js +5 -29
  298. package/lib/esm/render/webgl/Technique.js.map +1 -1
  299. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  300. package/lib/esm/render/webgl/Texture.js +14 -18
  301. package/lib/esm/render/webgl/Texture.js.map +1 -1
  302. package/lib/esm/render/webgl/ThematicSensors.d.ts +4 -3
  303. package/lib/esm/render/webgl/ThematicSensors.d.ts.map +1 -1
  304. package/lib/esm/render/webgl/ThematicSensors.js +9 -50
  305. package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
  306. package/lib/esm/render/webgl/ThematicUniforms.js +1 -1
  307. package/lib/esm/render/webgl/ThematicUniforms.js.map +1 -1
  308. package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
  309. package/lib/esm/render/webgl/UniformHandle.js +1 -4
  310. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  311. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts +1 -2
  312. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  313. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +1 -1
  314. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  315. package/lib/esm/render/webgl/glsl/Animation.d.ts +1 -2
  316. package/lib/esm/render/webgl/glsl/Animation.d.ts.map +1 -1
  317. package/lib/esm/render/webgl/glsl/Animation.js +23 -26
  318. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  319. package/lib/esm/render/webgl/glsl/Blur.d.ts +1 -2
  320. package/lib/esm/render/webgl/glsl/Blur.d.ts.map +1 -1
  321. package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
  322. package/lib/esm/render/webgl/glsl/ClearPickAndColor.d.ts +1 -2
  323. package/lib/esm/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
  324. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -9
  325. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  326. package/lib/esm/render/webgl/glsl/ClearTranslucent.d.ts +1 -2
  327. package/lib/esm/render/webgl/glsl/ClearTranslucent.d.ts.map +1 -1
  328. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -10
  329. package/lib/esm/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  330. package/lib/esm/render/webgl/glsl/Clipping.d.ts +1 -1
  331. package/lib/esm/render/webgl/glsl/Clipping.d.ts.map +1 -1
  332. package/lib/esm/render/webgl/glsl/Clipping.js +5 -36
  333. package/lib/esm/render/webgl/glsl/Clipping.js.map +1 -1
  334. package/lib/esm/render/webgl/glsl/Combine3Textures.d.ts +1 -2
  335. package/lib/esm/render/webgl/glsl/Combine3Textures.d.ts.map +1 -1
  336. package/lib/esm/render/webgl/glsl/Combine3Textures.js.map +1 -1
  337. package/lib/esm/render/webgl/glsl/CombineTextures.d.ts +1 -2
  338. package/lib/esm/render/webgl/glsl/CombineTextures.d.ts.map +1 -1
  339. package/lib/esm/render/webgl/glsl/CombineTextures.js.map +1 -1
  340. package/lib/esm/render/webgl/glsl/Common.d.ts.map +1 -1
  341. package/lib/esm/render/webgl/glsl/Common.js +9 -55
  342. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  343. package/lib/esm/render/webgl/glsl/Composite.d.ts +1 -2
  344. package/lib/esm/render/webgl/glsl/Composite.d.ts.map +1 -1
  345. package/lib/esm/render/webgl/glsl/Composite.js.map +1 -1
  346. package/lib/esm/render/webgl/glsl/CopyColor.d.ts +1 -2
  347. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  348. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  349. package/lib/esm/render/webgl/glsl/CopyPickBuffers.d.ts +1 -2
  350. package/lib/esm/render/webgl/glsl/CopyPickBuffers.d.ts.map +1 -1
  351. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +12 -19
  352. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  353. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts +4 -7
  354. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  355. package/lib/esm/render/webgl/glsl/CopyStencil.js +1 -37
  356. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  357. package/lib/esm/render/webgl/glsl/EDL.d.ts +4 -5
  358. package/lib/esm/render/webgl/glsl/EDL.d.ts.map +1 -1
  359. package/lib/esm/render/webgl/glsl/EDL.js.map +1 -1
  360. package/lib/esm/render/webgl/glsl/EVSMFromDepth.d.ts +1 -2
  361. package/lib/esm/render/webgl/glsl/EVSMFromDepth.d.ts.map +1 -1
  362. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  363. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  364. package/lib/esm/render/webgl/glsl/Edge.js +2 -2
  365. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  366. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  367. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +3 -24
  368. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  369. package/lib/esm/render/webgl/glsl/Fragment.d.ts +0 -7
  370. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  371. package/lib/esm/render/webgl/glsl/Fragment.js +4 -38
  372. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  373. package/lib/esm/render/webgl/glsl/Instancing.d.ts.map +1 -1
  374. package/lib/esm/render/webgl/glsl/Instancing.js +1 -5
  375. package/lib/esm/render/webgl/glsl/Instancing.js.map +1 -1
  376. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.d.ts.map +1 -1
  377. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +0 -2
  378. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  379. package/lib/esm/render/webgl/glsl/PlanarGrid.d.ts +1 -2
  380. package/lib/esm/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  381. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -12
  382. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  383. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  384. package/lib/esm/render/webgl/glsl/RealityMesh.js +3 -8
  385. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  386. package/lib/esm/render/webgl/glsl/SkyBox.d.ts +1 -2
  387. package/lib/esm/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  388. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  389. package/lib/esm/render/webgl/glsl/SkySphere.d.ts +1 -2
  390. package/lib/esm/render/webgl/glsl/SkySphere.d.ts.map +1 -1
  391. package/lib/esm/render/webgl/glsl/SkySphere.js.map +1 -1
  392. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +1 -1
  393. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  394. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  395. package/lib/esm/render/webgl/glsl/Surface.js +33 -57
  396. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  397. package/lib/esm/render/webgl/glsl/Thematic.d.ts.map +1 -1
  398. package/lib/esm/render/webgl/glsl/Thematic.js +3 -36
  399. package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
  400. package/lib/esm/render/webgl/glsl/Translucency.d.ts.map +1 -1
  401. package/lib/esm/render/webgl/glsl/Translucency.js +3 -13
  402. package/lib/esm/render/webgl/glsl/Translucency.js.map +1 -1
  403. package/lib/esm/render/webgl/glsl/Vertex.d.ts +1 -2
  404. package/lib/esm/render/webgl/glsl/Vertex.d.ts.map +1 -1
  405. package/lib/esm/render/webgl/glsl/Vertex.js +16 -79
  406. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  407. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -1
  408. package/lib/esm/render/webgl/glsl/Wiremesh.js +2 -5
  409. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -1
  410. package/lib/esm/tile/PrimaryTileTree.d.ts +0 -3
  411. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  412. package/lib/esm/tile/PrimaryTileTree.js +8 -30
  413. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  414. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  415. package/lib/esm/tile/TileAdmin.js +2 -2
  416. package/lib/esm/tile/TileAdmin.js.map +1 -1
  417. package/package.json +20 -20
@@ -43,7 +43,7 @@ class Builder {
43
43
  this._shiftsPixels = undefined !== params.source.sampleSourcePixel;
44
44
  }
45
45
  get isWebGL2() {
46
- return System_1.System.instance.isWebGL2;
46
+ return true;
47
47
  }
48
48
  addUniform(params) {
49
49
  const name = params.name;
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenSpaceEffect.js","sourceRoot":"","sources":["../../../../src/render/webgl/ScreenSpaceEffect.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport {\r\n ScreenSpaceEffectBuilder, ScreenSpaceEffectBuilderParams, ScreenSpaceEffectContext, UniformArrayParams, UniformParams, UniformType, VaryingType,\r\n} from \"../ScreenSpaceEffectBuilder\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { ProgramBuilder, VariableType } from \"./ShaderBuilder\";\r\nimport { CompileStatus, ShaderProgram } from \"./ShaderProgram\";\r\nimport { RenderState } from \"./RenderState\";\r\nimport { SingleTexturedViewportQuadGeometry, ViewportQuadGeometry } from \"./CachedGeometry\";\r\nimport { FrameBuffer } from \"./FrameBuffer\";\r\nimport { getDrawParams } from \"./ScratchDrawParams\";\r\nimport { SingularTechnique } from \"./Technique\";\r\nimport { Target } from \"./Target\";\r\nimport { System } from \"./System\";\r\nimport { createScreenSpaceEffectProgramBuilder } from \"./glsl/ScreenSpaceEffect\";\r\n\r\ntype ShouldApply = (context: ScreenSpaceEffectContext) => boolean;\r\n\r\nfunction getUniformVariableType(type: UniformType): VariableType {\r\n switch (type) {\r\n case UniformType.Bool: return VariableType.Boolean;\r\n case UniformType.Int: return VariableType.Int;\r\n case UniformType.Float: return VariableType.Float;\r\n case UniformType.Vec2: return VariableType.Vec2;\r\n case UniformType.Vec3: return VariableType.Vec3;\r\n case UniformType.Vec4: return VariableType.Vec4;\r\n }\r\n}\r\n\r\nfunction getVaryingVariableType(type: VaryingType): VariableType {\r\n switch (type) {\r\n case VaryingType.Float: return VariableType.Float;\r\n case VaryingType.Vec2: return VariableType.Vec2;\r\n case VaryingType.Vec3: return VariableType.Vec3;\r\n case VaryingType.Vec4: return VariableType.Vec4;\r\n }\r\n}\r\n\r\nclass Builder {\r\n private readonly _name: string;\r\n private readonly _builder: ProgramBuilder;\r\n private readonly _shiftsPixels: boolean;\r\n public shouldApply?: ShouldApply;\r\n\r\n public constructor(params: ScreenSpaceEffectBuilderParams) {\r\n this._name = params.name;\r\n this._builder = createScreenSpaceEffectProgramBuilder(params);\r\n this._builder.setDebugDescription(`Screen-space: ${this._name}`);\r\n this._shiftsPixels = undefined !== params.source.sampleSourcePixel;\r\n }\r\n\r\n public get isWebGL2(): boolean {\r\n return System.instance.isWebGL2;\r\n }\r\n\r\n public addUniform(params: UniformParams): void {\r\n const name = params.name;\r\n const type = getUniformVariableType(params.type);\r\n const bind = params.bind;\r\n\r\n this._builder.addUniform(name, type, (prog: ShaderProgram) => {\r\n prog.addProgramUniform(name, (uniform, progParams) => {\r\n bind(uniform, progParams.target.screenSpaceEffectContext);\r\n });\r\n });\r\n }\r\n\r\n public addUniformArray(params: UniformArrayParams): void {\r\n const { name, bind, length } = { ...params };\r\n const type = getUniformVariableType(params.type);\r\n this._builder.addUniformArray(name, type, length, (prog) => {\r\n prog.addProgramUniform(name, (uniform, progParams) => {\r\n bind(uniform, progParams.target.screenSpaceEffectContext);\r\n });\r\n });\r\n }\r\n\r\n public addVarying(name: string, type: VaryingType): void {\r\n this._builder.addVarying(name, getVaryingVariableType(type));\r\n }\r\n\r\n public finish(): void {\r\n const program = this._builder.buildProgram(System.instance.context);\r\n\r\n // NB: compile() will throw with WebGL error log if compile/link fails.\r\n if (CompileStatus.Success !== program.compile())\r\n throw new Error(`Failed to produce shader program for screen-space effect \"${this._name}\"`);\r\n\r\n const technique = new SingularTechnique(program);\r\n const techniqueId = System.instance.techniques.addDynamicTechnique(technique, this._name);\r\n\r\n const effect = new ScreenSpaceEffect(techniqueId, this._name, this._shiftsPixels, this.shouldApply);\r\n System.instance.screenSpaceEffects.add(effect);\r\n }\r\n}\r\n\r\nclass ScreenSpaceEffect {\r\n public readonly techniqueId: TechniqueId;\r\n public readonly name: string;\r\n private readonly _shouldApply?: ShouldApply;\r\n private readonly _shiftsPixels: boolean;\r\n\r\n public constructor(techniqueId: TechniqueId, name: string, shiftsPixels: boolean, shouldApply?: ShouldApply) {\r\n this.techniqueId = techniqueId;\r\n this.name = name;\r\n this._shouldApply = shouldApply;\r\n this._shiftsPixels = shiftsPixels;\r\n }\r\n\r\n public shouldApply(target: Target): boolean {\r\n // Effects only apply during readPixels() if they move pixels around (we need to move pixels in the pick buffers correspondingly).\r\n if (target.isReadPixelsInProgress && !this._shiftsPixels)\r\n return false;\r\n\r\n return undefined === this._shouldApply || this._shouldApply(target.screenSpaceEffectContext);\r\n }\r\n}\r\n\r\nclass ScreenSpaceGeometry extends ViewportQuadGeometry {\r\n public setTechniqueId(id: TechniqueId) {\r\n this._techniqueId = id;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class ScreenSpaceEffects {\r\n private readonly _effects = new Map<string, ScreenSpaceEffect>();\r\n private readonly _effectGeometry: ScreenSpaceGeometry;\r\n private readonly _copyGeometry: SingleTexturedViewportQuadGeometry;\r\n private readonly _workingArray: ScreenSpaceEffect[] = [];\r\n\r\n public constructor() {\r\n // We will change the geometry's TechniqueId before applying each technique.\r\n const effectGeometry = ScreenSpaceGeometry.create(TechniqueId.Invalid);\r\n assert(effectGeometry instanceof ScreenSpaceGeometry);\r\n this._effectGeometry = effectGeometry;\r\n\r\n // NB: We'll replace the texture each time we draw.\r\n const copyGeometry = SingleTexturedViewportQuadGeometry.createGeometry(System.instance.lineCodeTexture!.getHandle()!, TechniqueId.CopyColor);\r\n assert(undefined !== copyGeometry);\r\n this._copyGeometry = copyGeometry;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this._effectGeometry);\r\n dispose(this._copyGeometry);\r\n }\r\n\r\n public add(effect: ScreenSpaceEffect): void {\r\n if (undefined !== this._effects.get(effect.name))\r\n throw new Error(`Screen-space effect \"${effect.name}\" is already registered.`);\r\n\r\n this._effects.set(effect.name, effect);\r\n }\r\n\r\n /** Return true if any effects should be applied to this Target. */\r\n public shouldApply(target: Target): boolean {\r\n return this.getApplicableEffects(target).length > 0;\r\n }\r\n\r\n private getApplicableEffects(target: Target): ScreenSpaceEffect[] {\r\n const effects = this._workingArray;\r\n effects.length = 0;\r\n\r\n const names = target.screenSpaceEffects;\r\n for (const name of names) {\r\n const effect = this._effects.get(name);\r\n if (effect && effect.shouldApply(target))\r\n effects.push(effect);\r\n }\r\n\r\n return effects;\r\n }\r\n\r\n /** Apply screen-space effects to the Target's rendered image. */\r\n public apply(target: Target): void {\r\n if (0 === this._effects.size)\r\n return;\r\n\r\n const effects = this.getApplicableEffects(target);\r\n if (0 === effects.length)\r\n return;\r\n\r\n if (target.isReadPixelsInProgress) {\r\n this.applyForReadPixels(effects, target);\r\n return;\r\n }\r\n\r\n const system = System.instance;\r\n system.applyRenderState(RenderState.defaults);\r\n\r\n const copyFbo = target.compositor.screenSpaceEffectFbo;\r\n for (const effect of effects) {\r\n // Copy the rendered image to texture as input to the effect shader.\r\n this._copyGeometry.texture = system.frameBufferStack.currentColorBuffer!.getHandle()!;\r\n system.frameBufferStack.execute(copyFbo, true, false, () => {\r\n const copyParams = getDrawParams(target, this._copyGeometry);\r\n system.techniques.draw(copyParams);\r\n });\r\n\r\n // Run the effect shader with a copy of the current image as input.\r\n this._effectGeometry.setTechniqueId(effect.techniqueId);\r\n const params = getDrawParams(target, this._effectGeometry);\r\n system.techniques.draw(params);\r\n }\r\n }\r\n\r\n private applyForReadPixels(effects: ScreenSpaceEffect[], target: Target): void {\r\n const system = System.instance;\r\n system.applyRenderState(RenderState.defaults);\r\n\r\n // ###TODO: We could use MRT if available here rather than two passes.\r\n const copyFbo = target.compositor.screenSpaceEffectFbo;\r\n for (const effect of effects) {\r\n this._effectGeometry.setTechniqueId(effect.techniqueId);\r\n for (let i = 0; i <= 1; i++) {\r\n // Copy the pick buffer as input to the effect shader.\r\n const buffer = 0 === i ? target.compositor.featureIds : target.compositor.depthAndOrder;\r\n this._copyGeometry.texture = buffer.getHandle()!;\r\n system.frameBufferStack.execute(copyFbo, true, false, () => {\r\n const copyParams = getDrawParams(target, this._copyGeometry);\r\n system.techniques.draw(copyParams);\r\n });\r\n\r\n // Run the effect shader with a copy of the current pick buffer to output to pick buffer.\r\n // ###TODO: Avoid frequent framebuffer allocation.\r\n const effectFbo = FrameBuffer.create([buffer]);\r\n assert(undefined !== effectFbo);\r\n system.frameBufferStack.execute(effectFbo, true, false, () => {\r\n const effectParams = getDrawParams(target, this._effectGeometry);\r\n system.techniques.draw(effectParams);\r\n });\r\n\r\n effectFbo.dispose();\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function createScreenSpaceEffectBuilder(params: ScreenSpaceEffectBuilderParams): ScreenSpaceEffectBuilder {\r\n return new Builder(params);\r\n}\r\n"]}
1
+ {"version":3,"file":"ScreenSpaceEffect.js","sourceRoot":"","sources":["../../../../src/render/webgl/ScreenSpaceEffect.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport {\r\n ScreenSpaceEffectBuilder, ScreenSpaceEffectBuilderParams, ScreenSpaceEffectContext, UniformArrayParams, UniformParams, UniformType, VaryingType,\r\n} from \"../ScreenSpaceEffectBuilder\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { ProgramBuilder, VariableType } from \"./ShaderBuilder\";\r\nimport { CompileStatus, ShaderProgram } from \"./ShaderProgram\";\r\nimport { RenderState } from \"./RenderState\";\r\nimport { SingleTexturedViewportQuadGeometry, ViewportQuadGeometry } from \"./CachedGeometry\";\r\nimport { FrameBuffer } from \"./FrameBuffer\";\r\nimport { getDrawParams } from \"./ScratchDrawParams\";\r\nimport { SingularTechnique } from \"./Technique\";\r\nimport { Target } from \"./Target\";\r\nimport { System } from \"./System\";\r\nimport { createScreenSpaceEffectProgramBuilder } from \"./glsl/ScreenSpaceEffect\";\r\n\r\ntype ShouldApply = (context: ScreenSpaceEffectContext) => boolean;\r\n\r\nfunction getUniformVariableType(type: UniformType): VariableType {\r\n switch (type) {\r\n case UniformType.Bool: return VariableType.Boolean;\r\n case UniformType.Int: return VariableType.Int;\r\n case UniformType.Float: return VariableType.Float;\r\n case UniformType.Vec2: return VariableType.Vec2;\r\n case UniformType.Vec3: return VariableType.Vec3;\r\n case UniformType.Vec4: return VariableType.Vec4;\r\n }\r\n}\r\n\r\nfunction getVaryingVariableType(type: VaryingType): VariableType {\r\n switch (type) {\r\n case VaryingType.Float: return VariableType.Float;\r\n case VaryingType.Vec2: return VariableType.Vec2;\r\n case VaryingType.Vec3: return VariableType.Vec3;\r\n case VaryingType.Vec4: return VariableType.Vec4;\r\n }\r\n}\r\n\r\nclass Builder {\r\n private readonly _name: string;\r\n private readonly _builder: ProgramBuilder;\r\n private readonly _shiftsPixels: boolean;\r\n public shouldApply?: ShouldApply;\r\n\r\n public constructor(params: ScreenSpaceEffectBuilderParams) {\r\n this._name = params.name;\r\n this._builder = createScreenSpaceEffectProgramBuilder(params);\r\n this._builder.setDebugDescription(`Screen-space: ${this._name}`);\r\n this._shiftsPixels = undefined !== params.source.sampleSourcePixel;\r\n }\r\n\r\n public get isWebGL2(): boolean {\r\n return true;\r\n }\r\n\r\n public addUniform(params: UniformParams): void {\r\n const name = params.name;\r\n const type = getUniformVariableType(params.type);\r\n const bind = params.bind;\r\n\r\n this._builder.addUniform(name, type, (prog: ShaderProgram) => {\r\n prog.addProgramUniform(name, (uniform, progParams) => {\r\n bind(uniform, progParams.target.screenSpaceEffectContext);\r\n });\r\n });\r\n }\r\n\r\n public addUniformArray(params: UniformArrayParams): void {\r\n const { name, bind, length } = { ...params };\r\n const type = getUniformVariableType(params.type);\r\n this._builder.addUniformArray(name, type, length, (prog) => {\r\n prog.addProgramUniform(name, (uniform, progParams) => {\r\n bind(uniform, progParams.target.screenSpaceEffectContext);\r\n });\r\n });\r\n }\r\n\r\n public addVarying(name: string, type: VaryingType): void {\r\n this._builder.addVarying(name, getVaryingVariableType(type));\r\n }\r\n\r\n public finish(): void {\r\n const program = this._builder.buildProgram(System.instance.context);\r\n\r\n // NB: compile() will throw with WebGL error log if compile/link fails.\r\n if (CompileStatus.Success !== program.compile())\r\n throw new Error(`Failed to produce shader program for screen-space effect \"${this._name}\"`);\r\n\r\n const technique = new SingularTechnique(program);\r\n const techniqueId = System.instance.techniques.addDynamicTechnique(technique, this._name);\r\n\r\n const effect = new ScreenSpaceEffect(techniqueId, this._name, this._shiftsPixels, this.shouldApply);\r\n System.instance.screenSpaceEffects.add(effect);\r\n }\r\n}\r\n\r\nclass ScreenSpaceEffect {\r\n public readonly techniqueId: TechniqueId;\r\n public readonly name: string;\r\n private readonly _shouldApply?: ShouldApply;\r\n private readonly _shiftsPixels: boolean;\r\n\r\n public constructor(techniqueId: TechniqueId, name: string, shiftsPixels: boolean, shouldApply?: ShouldApply) {\r\n this.techniqueId = techniqueId;\r\n this.name = name;\r\n this._shouldApply = shouldApply;\r\n this._shiftsPixels = shiftsPixels;\r\n }\r\n\r\n public shouldApply(target: Target): boolean {\r\n // Effects only apply during readPixels() if they move pixels around (we need to move pixels in the pick buffers correspondingly).\r\n if (target.isReadPixelsInProgress && !this._shiftsPixels)\r\n return false;\r\n\r\n return undefined === this._shouldApply || this._shouldApply(target.screenSpaceEffectContext);\r\n }\r\n}\r\n\r\nclass ScreenSpaceGeometry extends ViewportQuadGeometry {\r\n public setTechniqueId(id: TechniqueId) {\r\n this._techniqueId = id;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class ScreenSpaceEffects {\r\n private readonly _effects = new Map<string, ScreenSpaceEffect>();\r\n private readonly _effectGeometry: ScreenSpaceGeometry;\r\n private readonly _copyGeometry: SingleTexturedViewportQuadGeometry;\r\n private readonly _workingArray: ScreenSpaceEffect[] = [];\r\n\r\n public constructor() {\r\n // We will change the geometry's TechniqueId before applying each technique.\r\n const effectGeometry = ScreenSpaceGeometry.create(TechniqueId.Invalid);\r\n assert(effectGeometry instanceof ScreenSpaceGeometry);\r\n this._effectGeometry = effectGeometry;\r\n\r\n // NB: We'll replace the texture each time we draw.\r\n const copyGeometry = SingleTexturedViewportQuadGeometry.createGeometry(System.instance.lineCodeTexture!.getHandle()!, TechniqueId.CopyColor);\r\n assert(undefined !== copyGeometry);\r\n this._copyGeometry = copyGeometry;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this._effectGeometry);\r\n dispose(this._copyGeometry);\r\n }\r\n\r\n public add(effect: ScreenSpaceEffect): void {\r\n if (undefined !== this._effects.get(effect.name))\r\n throw new Error(`Screen-space effect \"${effect.name}\" is already registered.`);\r\n\r\n this._effects.set(effect.name, effect);\r\n }\r\n\r\n /** Return true if any effects should be applied to this Target. */\r\n public shouldApply(target: Target): boolean {\r\n return this.getApplicableEffects(target).length > 0;\r\n }\r\n\r\n private getApplicableEffects(target: Target): ScreenSpaceEffect[] {\r\n const effects = this._workingArray;\r\n effects.length = 0;\r\n\r\n const names = target.screenSpaceEffects;\r\n for (const name of names) {\r\n const effect = this._effects.get(name);\r\n if (effect && effect.shouldApply(target))\r\n effects.push(effect);\r\n }\r\n\r\n return effects;\r\n }\r\n\r\n /** Apply screen-space effects to the Target's rendered image. */\r\n public apply(target: Target): void {\r\n if (0 === this._effects.size)\r\n return;\r\n\r\n const effects = this.getApplicableEffects(target);\r\n if (0 === effects.length)\r\n return;\r\n\r\n if (target.isReadPixelsInProgress) {\r\n this.applyForReadPixels(effects, target);\r\n return;\r\n }\r\n\r\n const system = System.instance;\r\n system.applyRenderState(RenderState.defaults);\r\n\r\n const copyFbo = target.compositor.screenSpaceEffectFbo;\r\n for (const effect of effects) {\r\n // Copy the rendered image to texture as input to the effect shader.\r\n this._copyGeometry.texture = system.frameBufferStack.currentColorBuffer!.getHandle()!;\r\n system.frameBufferStack.execute(copyFbo, true, false, () => {\r\n const copyParams = getDrawParams(target, this._copyGeometry);\r\n system.techniques.draw(copyParams);\r\n });\r\n\r\n // Run the effect shader with a copy of the current image as input.\r\n this._effectGeometry.setTechniqueId(effect.techniqueId);\r\n const params = getDrawParams(target, this._effectGeometry);\r\n system.techniques.draw(params);\r\n }\r\n }\r\n\r\n private applyForReadPixels(effects: ScreenSpaceEffect[], target: Target): void {\r\n const system = System.instance;\r\n system.applyRenderState(RenderState.defaults);\r\n\r\n // ###TODO: We could use MRT if available here rather than two passes.\r\n const copyFbo = target.compositor.screenSpaceEffectFbo;\r\n for (const effect of effects) {\r\n this._effectGeometry.setTechniqueId(effect.techniqueId);\r\n for (let i = 0; i <= 1; i++) {\r\n // Copy the pick buffer as input to the effect shader.\r\n const buffer = 0 === i ? target.compositor.featureIds : target.compositor.depthAndOrder;\r\n this._copyGeometry.texture = buffer.getHandle()!;\r\n system.frameBufferStack.execute(copyFbo, true, false, () => {\r\n const copyParams = getDrawParams(target, this._copyGeometry);\r\n system.techniques.draw(copyParams);\r\n });\r\n\r\n // Run the effect shader with a copy of the current pick buffer to output to pick buffer.\r\n // ###TODO: Avoid frequent framebuffer allocation.\r\n const effectFbo = FrameBuffer.create([buffer]);\r\n assert(undefined !== effectFbo);\r\n system.frameBufferStack.execute(effectFbo, true, false, () => {\r\n const effectParams = getDrawParams(target, this._effectGeometry);\r\n system.techniques.draw(effectParams);\r\n });\r\n\r\n effectFbo.dispose();\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function createScreenSpaceEffectBuilder(params: ScreenSpaceEffectBuilderParams): ScreenSpaceEffectBuilder {\r\n return new Builder(params);\r\n}\r\n"]}
@@ -1,7 +1,6 @@
1
1
  /** @packageDocumentation
2
2
  * @module WebGL
3
3
  */
4
- import { WebGLContext } from "@itwin/webgl-compatibility";
5
4
  import { AttributeDetails } from "./AttributeMap";
6
5
  import { ShaderProgram } from "./ShaderProgram";
7
6
  import { PositionType } from "./TechniqueFlags";
@@ -270,7 +269,7 @@ export declare class ProgramBuilder {
270
269
  addFunctionComputedVarying(name: string, type: VariableType, funcName: string, funcBody: string): void;
271
270
  addFunctionComputedVaryingWithArgs(name: string, type: VariableType, funcCall: string, funcDef: string): void;
272
271
  /** Assembles the vertex and fragment shader code and returns a ready-to-compile shader program */
273
- buildProgram(gl: WebGLContext): ShaderProgram;
272
+ buildProgram(gl: WebGL2RenderingContext): ShaderProgram;
274
273
  setDebugDescription(description: string): void;
275
274
  /** Returns a deep copy of this program builder. */
276
275
  clone(): ProgramBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/ShaderBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShaderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/ShaderBuilder.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ const Instancing_1 = require("./glsl/Instancing");
13
13
  const PlanarClassification_1 = require("./glsl/PlanarClassification");
14
14
  const Vertex_1 = require("./glsl/Vertex");
15
15
  const ShaderProgram_1 = require("./ShaderProgram");
16
- const System_1 = require("./System");
17
16
  /** @internal */
18
17
  var Convert;
19
18
  (function (Convert) {
@@ -39,12 +38,7 @@ var Convert;
39
38
  function scopeToString(scope, isVertexShader) {
40
39
  switch (scope) {
41
40
  case 0 /* Global */: return "";
42
- case 1 /* Varying */: {
43
- if (System_1.System.instance.capabilities.isWebGL2)
44
- return (isVertexShader ? "out" : "in");
45
- else
46
- return "varying";
47
- }
41
+ case 1 /* Varying */: return (isVertexShader ? "out" : "in");
48
42
  case 2 /* Uniform */: return "uniform";
49
43
  default:
50
44
  (0, core_bentley_1.assert)(false);
@@ -158,10 +152,7 @@ class ShaderVariables {
158
152
  this.addGlobal(name, type, value, true);
159
153
  }
160
154
  addBitFlagConstant(name, value) {
161
- if (System_1.System.instance.capabilities.isWebGL2)
162
- this.addGlobal(name, 10 /* Uint */, `${(2 ** value).toFixed(0)}u`, true);
163
- else
164
- this.addGlobal(name, 2 /* Float */, (1.0 / (2 ** (value + 1))).toExponential(7), true);
155
+ this.addGlobal(name, 10 /* Uint */, `${(2 ** value).toFixed(0)}u`, true);
165
156
  }
166
157
  /** Constructs the lines of glsl code declaring the variables of a certain scope. */
167
158
  buildScopeDeclarations(isVertexShader, scope, constants) {
@@ -393,18 +384,10 @@ class ShaderBuilder extends ShaderVariables {
393
384
  this._initializers = new Array();
394
385
  this._components.length = maxComponents;
395
386
  this._flags = flags;
396
- if (System_1.System.instance.capabilities.isWebGL2) {
397
- this._version = "#version 300 es";
398
- this.addDefine("TEXTURE", "texture");
399
- this.addDefine("TEXTURE_CUBE", "texture");
400
- this.addDefine("TEXTURE_PROJ", "textureProj");
401
- }
402
- else {
403
- this._version = "#version 100";
404
- this.addDefine("TEXTURE", "texture2D");
405
- this.addDefine("TEXTURE_CUBE", "textureCube");
406
- this.addDefine("TEXTURE_PROJ", "texture2DProj");
407
- }
387
+ this._version = "#version 300 es";
388
+ this.addDefine("TEXTURE", "texture");
389
+ this.addDefine("TEXTURE_CUBE", "texture");
390
+ this.addDefine("TEXTURE_PROJ", "textureProj");
408
391
  }
409
392
  get usesInstancedGeometry() {
410
393
  return !!this._flags.instanced;
@@ -494,17 +477,13 @@ class ShaderBuilder extends ShaderVariables {
494
477
  src.newline();
495
478
  // Attribute declarations
496
479
  if (attrMap !== undefined) {
497
- const webGL2 = System_1.System.instance.capabilities.isWebGL2;
498
480
  attrMap.forEach((attr, key) => {
499
- if (webGL2)
500
- src.addline(`in ${Convert.typeToString(attr.type)} ${key};`);
501
- else
502
- src.addline(`attribute ${Convert.typeToString(attr.type)} ${key};`);
481
+ src.addline(`in ${Convert.typeToString(attr.type)} ${key};`);
503
482
  });
504
483
  }
505
484
  // Variable declarations
506
485
  src.add(this.buildDeclarations(isVertexShader));
507
- // Layouts (WebGL2 only)
486
+ // Layouts
508
487
  for (const layout of this._fragOutputs)
509
488
  src.addline(layout);
510
489
  // Functions
@@ -661,26 +640,15 @@ class FragmentShaderBuilder extends ShaderBuilder {
661
640
  constructor(flags = {}) {
662
641
  super(22 /* COUNT */, flags);
663
642
  this.requiresEarlyZWorkaround = false;
664
- if (System_1.System.instance.capabilities.isWebGL2)
665
- this.addFragOutput("FragColor", -1);
666
- else
667
- this.addDefine("FragColor", "gl_FragColor");
643
+ this.addFragOutput("FragColor", -1);
668
644
  }
669
645
  get(id) { return this.getComponent(id); }
670
646
  set(id, component) { this.addComponent(id, component); }
671
647
  unset(id) { this.removeComponent(id); }
672
648
  addDrawBuffersExtension(n) {
673
- if (System_1.System.instance.capabilities.isWebGL2) {
674
- this.clearFragOutput();
675
- for (let i = 0; i < n; i++)
676
- this.addFragOutput(`FragColor${i}`, i);
677
- }
678
- else {
679
- (0, core_bentley_1.assert)(System_1.System.instance.capabilities.supportsDrawBuffers, "WEBGL_draw_buffers unsupported");
680
- this.addExtension("GL_EXT_draw_buffers");
681
- for (let i = 0; i < n; i++)
682
- this.addDefine(`FragColor${i}`, `gl_FragData[${i}]`);
683
- }
649
+ this.clearFragOutput();
650
+ for (let i = 0; i < n; i++)
651
+ this.addFragOutput(`FragColor${i}`, i);
684
652
  }
685
653
  buildSource() {
686
654
  const applyLighting = this.get(8 /* ApplyLighting */);
@@ -715,10 +683,7 @@ class FragmentShaderBuilder extends ShaderBuilder {
715
683
  if (undefined !== finalizeDepth) {
716
684
  prelude.addFunction("float finalizeDepth()", finalizeDepth);
717
685
  main.addline(" float finalDepth = finalizeDepth();");
718
- if (System_1.System.instance.capabilities.isWebGL2)
719
- main.addline(" gl_FragDepth = finalDepth;");
720
- else
721
- main.addline(" gl_FragDepthEXT = finalDepth;");
686
+ main.addline(" gl_FragDepth = finalDepth;");
722
687
  }
723
688
  let clipIndent = "";
724
689
  const applyClipping = this.get(10 /* ApplyClipping */);