@itwin/core-frontend 4.1.0-dev.35 → 4.1.0-dev.40

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 (851) hide show
  1. package/lib/cjs/AccuDraw.js.map +1 -1
  2. package/lib/cjs/AccuSnap.js.map +1 -1
  3. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  5. package/lib/cjs/AuxCoordSys.js.map +1 -1
  6. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  7. package/lib/cjs/BingLocation.js.map +1 -1
  8. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  9. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  10. package/lib/cjs/CategorySelectorState.js.map +1 -1
  11. package/lib/cjs/ChangeFlags.js.map +1 -1
  12. package/lib/cjs/CheckpointConnection.js.map +1 -1
  13. package/lib/cjs/CoordSystem.js.map +1 -1
  14. package/lib/cjs/DecorationsCache.js.map +1 -1
  15. package/lib/cjs/DevTools.js.map +1 -1
  16. package/lib/cjs/DisplayStyleState.js.map +1 -1
  17. package/lib/cjs/DrawingViewState.js +5 -5
  18. package/lib/cjs/DrawingViewState.js.map +1 -1
  19. package/lib/cjs/ElementLocateManager.js.map +1 -1
  20. package/lib/cjs/EmphasizeElements.js.map +1 -1
  21. package/lib/cjs/EntityState.js.map +1 -1
  22. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  23. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  24. package/lib/cjs/FlashSettings.js.map +1 -1
  25. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  26. package/lib/cjs/Frustum2d.js.map +1 -1
  27. package/lib/cjs/FrustumAnimator.js.map +1 -1
  28. package/lib/cjs/FuzzySearch.js.map +1 -1
  29. package/lib/cjs/GeoServices.js.map +1 -1
  30. package/lib/cjs/GlobeAnimator.js.map +1 -1
  31. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  32. package/lib/cjs/HitDetail.js.map +1 -1
  33. package/lib/cjs/IModelApp.js.map +1 -1
  34. package/lib/cjs/IModelConnection.js +23 -23
  35. package/lib/cjs/IModelConnection.js.map +1 -1
  36. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  37. package/lib/cjs/IModeljs-css.js +133 -133
  38. package/lib/cjs/IModeljs-css.js.map +1 -1
  39. package/lib/cjs/IpcApp.js.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  42. package/lib/cjs/MarginPercent.js.map +1 -1
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/ModelSelectorState.js.map +1 -1
  45. package/lib/cjs/NativeApp.js.map +1 -1
  46. package/lib/cjs/NativeAppLogger.js.map +1 -1
  47. package/lib/cjs/NoRenderApp.js.map +1 -1
  48. package/lib/cjs/NotificationManager.js.map +1 -1
  49. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  50. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  51. package/lib/cjs/RealityDataSource.js.map +1 -1
  52. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  54. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  55. package/lib/cjs/SelectionSet.js.map +1 -1
  56. package/lib/cjs/SheetViewState.js.map +1 -1
  57. package/lib/cjs/SpatialViewState.js.map +1 -1
  58. package/lib/cjs/Sprites.js.map +1 -1
  59. package/lib/cjs/StandardView.js.map +1 -1
  60. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  61. package/lib/cjs/TentativePoint.js.map +1 -1
  62. package/lib/cjs/Tiles.js.map +1 -1
  63. package/lib/cjs/UserPreferences.js.map +1 -1
  64. package/lib/cjs/ViewAnimation.js.map +1 -1
  65. package/lib/cjs/ViewContext.js.map +1 -1
  66. package/lib/cjs/ViewCreator2d.js.map +1 -1
  67. package/lib/cjs/ViewCreator3d.js.map +1 -1
  68. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  69. package/lib/cjs/ViewManager.js.map +1 -1
  70. package/lib/cjs/ViewPose.js.map +1 -1
  71. package/lib/cjs/ViewState.js.map +1 -1
  72. package/lib/cjs/ViewStatus.js.map +1 -1
  73. package/lib/cjs/ViewingSpace.js.map +1 -1
  74. package/lib/cjs/Viewport.js.map +1 -1
  75. package/lib/cjs/ViewportSync.js.map +1 -1
  76. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  77. package/lib/cjs/common/ImageUtil.js.map +1 -1
  78. package/lib/cjs/common/ViewRect.js.map +1 -1
  79. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  80. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  81. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  82. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  83. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  84. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  85. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  86. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  87. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -1
  88. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  89. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  90. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -1
  91. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -1
  92. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -1
  93. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -1
  94. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -1
  95. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -1
  96. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -1
  97. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -1
  98. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -1
  99. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -1
  100. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -1
  101. package/lib/cjs/core-frontend.js.map +1 -1
  102. package/lib/cjs/extension/Extension.js.map +1 -1
  103. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  104. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  105. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  106. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  107. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  108. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  109. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  110. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  111. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  112. package/lib/cjs/public/scripts/checkbrowser.js +24 -24
  113. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  114. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  115. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  116. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  117. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  118. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  119. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  120. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  121. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  122. package/lib/cjs/render/Decorations.js.map +1 -1
  123. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  124. package/lib/cjs/render/FrameStats.js.map +1 -1
  125. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  126. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  127. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  128. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  129. package/lib/cjs/render/MockRender.js.map +1 -1
  130. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  131. package/lib/cjs/render/Pixel.js.map +1 -1
  132. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -1
  133. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  134. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  135. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  136. package/lib/cjs/render/RenderMemory.js.map +1 -1
  137. package/lib/cjs/render/RenderPlan.js.map +1 -1
  138. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  139. package/lib/cjs/render/RenderSystem.js.map +1 -1
  140. package/lib/cjs/render/RenderTarget.js.map +1 -1
  141. package/lib/cjs/render/Scene.js.map +1 -1
  142. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  143. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  144. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  145. package/lib/cjs/render/primitives/ColorMap.js.map +1 -1
  146. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  147. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  148. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  149. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  150. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  151. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  152. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  153. package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
  154. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -1
  155. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  156. package/lib/cjs/render/primitives/geometry/GeometryList.js.map +1 -1
  157. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  158. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  159. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  160. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  161. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  162. package/lib/cjs/render/webgl/AtmosphereUniforms.js.map +1 -1
  163. package/lib/cjs/render/webgl/AttributeBuffers.js.map +1 -1
  164. package/lib/cjs/render/webgl/AttributeMap.js.map +1 -1
  165. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  166. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  167. package/lib/cjs/render/webgl/BatchUniforms.js.map +1 -1
  168. package/lib/cjs/render/webgl/BranchStack.js.map +1 -1
  169. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  170. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  171. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  172. package/lib/cjs/render/webgl/ClipStack.js.map +1 -1
  173. package/lib/cjs/render/webgl/ClipVolume.js.map +1 -1
  174. package/lib/cjs/render/webgl/ClippingProgram.js.map +1 -1
  175. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  176. package/lib/cjs/render/webgl/Diagnostics.js.map +1 -1
  177. package/lib/cjs/render/webgl/Disposable.js.map +1 -1
  178. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  179. package/lib/cjs/render/webgl/EDL.js.map +1 -1
  180. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  181. package/lib/cjs/render/webgl/EdgeSettings.js.map +1 -1
  182. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  183. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  184. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  185. package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
  186. package/lib/cjs/render/webgl/GL.js.map +1 -1
  187. package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
  188. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  189. package/lib/cjs/render/webgl/HiliteUniforms.js.map +1 -1
  190. package/lib/cjs/render/webgl/IModelFrameLifecycle.js.map +1 -1
  191. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  192. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  193. package/lib/cjs/render/webgl/Layer.js.map +1 -1
  194. package/lib/cjs/render/webgl/LayerCommands.js.map +1 -1
  195. package/lib/cjs/render/webgl/LightingUniforms.js.map +1 -1
  196. package/lib/cjs/render/webgl/LineCode.js.map +1 -1
  197. package/lib/cjs/render/webgl/Material.js.map +1 -1
  198. package/lib/cjs/render/webgl/Matrix.js.map +1 -1
  199. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  200. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  201. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -1
  202. package/lib/cjs/render/webgl/PerformanceMetrics.js.map +1 -1
  203. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  204. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  205. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  206. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  207. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  208. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  209. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  210. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  211. package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
  212. package/lib/cjs/render/webgl/RenderBuffer.js.map +1 -1
  213. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  214. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  215. package/lib/cjs/render/webgl/RenderState.js.map +1 -1
  216. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  217. package/lib/cjs/render/webgl/ScratchDrawParams.js.map +1 -1
  218. package/lib/cjs/render/webgl/ScreenSpaceEffect.js.map +1 -1
  219. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  220. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  221. package/lib/cjs/render/webgl/ShadowUniforms.js.map +1 -1
  222. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  223. package/lib/cjs/render/webgl/StyleUniforms.js.map +1 -1
  224. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  225. package/lib/cjs/render/webgl/Sync.js.map +1 -1
  226. package/lib/cjs/render/webgl/System.js.map +1 -1
  227. package/lib/cjs/render/webgl/Target.js.map +1 -1
  228. package/lib/cjs/render/webgl/TargetGraphics.js.map +1 -1
  229. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  230. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  231. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  232. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  233. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  234. package/lib/cjs/render/webgl/TextureDrape.js.map +1 -1
  235. package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
  236. package/lib/cjs/render/webgl/ThematicUniforms.js.map +1 -1
  237. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  238. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  239. package/lib/cjs/render/webgl/ViewRectUniforms.js.map +1 -1
  240. package/lib/cjs/render/webgl/VisibleTileFeatures.js.map +1 -1
  241. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +154 -154
  242. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  243. package/lib/cjs/render/webgl/glsl/Animation.js +83 -83
  244. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  245. package/lib/cjs/render/webgl/glsl/Atmosphere.js +266 -266
  246. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  247. package/lib/cjs/render/webgl/glsl/Blur.js +37 -37
  248. package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
  249. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +4 -4
  250. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  251. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +3 -3
  252. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  253. package/lib/cjs/render/webgl/glsl/Clipping.js +60 -60
  254. package/lib/cjs/render/webgl/glsl/Clipping.js.map +1 -1
  255. package/lib/cjs/render/webgl/glsl/Color.js +12 -12
  256. package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
  257. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +7 -7
  258. package/lib/cjs/render/webgl/glsl/Combine3Textures.js.map +1 -1
  259. package/lib/cjs/render/webgl/glsl/CombineTextures.js +5 -5
  260. package/lib/cjs/render/webgl/glsl/CombineTextures.js.map +1 -1
  261. package/lib/cjs/render/webgl/glsl/Common.js +16 -16
  262. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  263. package/lib/cjs/render/webgl/glsl/Composite.js +71 -71
  264. package/lib/cjs/render/webgl/glsl/Composite.js.map +1 -1
  265. package/lib/cjs/render/webgl/glsl/CopyColor.js +6 -6
  266. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  267. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +3 -3
  268. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  269. package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -4
  270. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  271. package/lib/cjs/render/webgl/glsl/Decode.js +65 -65
  272. package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
  273. package/lib/cjs/render/webgl/glsl/EDL.js +103 -103
  274. package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -1
  275. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +25 -25
  276. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  277. package/lib/cjs/render/webgl/glsl/Edge.js +146 -146
  278. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  279. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +232 -232
  280. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  281. package/lib/cjs/render/webgl/glsl/Fragment.js +41 -41
  282. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  283. package/lib/cjs/render/webgl/glsl/Instancing.js +21 -21
  284. package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
  285. package/lib/cjs/render/webgl/glsl/Lighting.js +92 -92
  286. package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
  287. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  288. package/lib/cjs/render/webgl/glsl/LookupTable.js +19 -19
  289. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  290. package/lib/cjs/render/webgl/glsl/Monochrome.js +13 -13
  291. package/lib/cjs/render/webgl/glsl/Monochrome.js.map +1 -1
  292. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +188 -188
  293. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  294. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +22 -22
  295. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  296. package/lib/cjs/render/webgl/glsl/PointCloud.js +28 -28
  297. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  298. package/lib/cjs/render/webgl/glsl/PointString.js +9 -9
  299. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  300. package/lib/cjs/render/webgl/glsl/Polyline.js +213 -213
  301. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  302. package/lib/cjs/render/webgl/glsl/RealityMesh.js +83 -83
  303. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  304. package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
  305. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  306. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  307. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  308. package/lib/cjs/render/webgl/glsl/SkySphere.js +49 -49
  309. package/lib/cjs/render/webgl/glsl/SkySphere.js.map +1 -1
  310. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +51 -51
  311. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  312. package/lib/cjs/render/webgl/glsl/Surface.js +239 -239
  313. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  314. package/lib/cjs/render/webgl/glsl/Thematic.js +134 -134
  315. package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
  316. package/lib/cjs/render/webgl/glsl/Translucency.js +19 -19
  317. package/lib/cjs/render/webgl/glsl/Translucency.js.map +1 -1
  318. package/lib/cjs/render/webgl/glsl/Vertex.js +73 -73
  319. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  320. package/lib/cjs/render/webgl/glsl/Viewport.js +38 -38
  321. package/lib/cjs/render/webgl/glsl/Viewport.js.map +1 -1
  322. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  323. package/lib/cjs/render/webgl/glsl/Wiremesh.js +10 -10
  324. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -1
  325. package/lib/cjs/render-primitives.js.map +1 -1
  326. package/lib/cjs/request/Request.js.map +1 -1
  327. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  328. package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
  329. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -1
  330. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  331. package/lib/cjs/tile/ContextShareProvider.js.map +1 -1
  332. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  333. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  334. package/lib/cjs/tile/GltfReader.js.map +1 -1
  335. package/lib/cjs/tile/GraphicsCollector.js.map +1 -1
  336. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  337. package/lib/cjs/tile/IModelTile.js.map +1 -1
  338. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  339. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  340. package/lib/cjs/tile/ImdlDecoder.js.map +1 -1
  341. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
  342. package/lib/cjs/tile/ImdlParser.js.map +1 -1
  343. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  344. package/lib/cjs/tile/LRUTileList.js.map +1 -1
  345. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  346. package/lib/cjs/tile/PntsReader.js.map +1 -1
  347. package/lib/cjs/tile/RealityTile.js.map +1 -1
  348. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  349. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  350. package/lib/cjs/tile/RealityTileTree.js +1 -1
  351. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  352. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  353. package/lib/cjs/tile/Tile.js.map +1 -1
  354. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  355. package/lib/cjs/tile/TileContent.js.map +1 -1
  356. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  357. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  358. package/lib/cjs/tile/TileParams.js.map +1 -1
  359. package/lib/cjs/tile/TileRequest.js.map +1 -1
  360. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  361. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  362. package/lib/cjs/tile/TileStorage.js.map +1 -1
  363. package/lib/cjs/tile/TileTree.js.map +1 -1
  364. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  365. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  366. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  367. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  368. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  369. package/lib/cjs/tile/TileUser.js.map +1 -1
  370. package/lib/cjs/tile/TileUserSet.js.map +1 -1
  371. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  372. package/lib/cjs/tile/ViewFlagOverrides.js.map +1 -1
  373. package/lib/cjs/tile/internal.js.map +1 -1
  374. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  375. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  376. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  377. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  378. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  379. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  380. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  381. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  382. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  383. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  384. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  385. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  386. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  387. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  388. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  389. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  390. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  391. package/lib/cjs/tile/map/MapLayerImageryProvider.js +2 -2
  392. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  393. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  394. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  395. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  396. package/lib/cjs/tile/map/MapTileAvailability.js.map +1 -1
  397. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  398. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  399. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  400. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  401. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  402. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  403. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  404. package/lib/cjs/tile/map/WmsUtilities.js.map +1 -1
  405. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  406. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  407. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  408. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  409. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  410. package/lib/cjs/tools/EventController.js.map +1 -1
  411. package/lib/cjs/tools/IdleTool.js.map +1 -1
  412. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  413. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  414. package/lib/cjs/tools/SelectTool.js.map +1 -1
  415. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  416. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  417. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  418. package/lib/cjs/tools/ViewTool.js.map +1 -1
  419. package/lib/cjs/webgl.js.map +1 -1
  420. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  421. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -40
  422. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  423. package/lib/esm/AccuDraw.js.map +1 -1
  424. package/lib/esm/AccuSnap.js.map +1 -1
  425. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  426. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  427. package/lib/esm/AuxCoordSys.js.map +1 -1
  428. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  429. package/lib/esm/BingLocation.js.map +1 -1
  430. package/lib/esm/BriefcaseConnection.js.map +1 -1
  431. package/lib/esm/BriefcaseTxns.js.map +1 -1
  432. package/lib/esm/CategorySelectorState.js.map +1 -1
  433. package/lib/esm/ChangeFlags.js.map +1 -1
  434. package/lib/esm/CheckpointConnection.js.map +1 -1
  435. package/lib/esm/CoordSystem.js.map +1 -1
  436. package/lib/esm/DecorationsCache.js.map +1 -1
  437. package/lib/esm/DevTools.js.map +1 -1
  438. package/lib/esm/DisplayStyleState.js.map +1 -1
  439. package/lib/esm/DrawingViewState.js +5 -5
  440. package/lib/esm/DrawingViewState.js.map +1 -1
  441. package/lib/esm/ElementLocateManager.js.map +1 -1
  442. package/lib/esm/EmphasizeElements.js.map +1 -1
  443. package/lib/esm/EntityState.js.map +1 -1
  444. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  445. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  446. package/lib/esm/FlashSettings.js.map +1 -1
  447. package/lib/esm/FrontendHubAccess.js.map +1 -1
  448. package/lib/esm/Frustum2d.js.map +1 -1
  449. package/lib/esm/FrustumAnimator.js.map +1 -1
  450. package/lib/esm/FuzzySearch.js.map +1 -1
  451. package/lib/esm/GeoServices.js.map +1 -1
  452. package/lib/esm/GlobeAnimator.js.map +1 -1
  453. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  454. package/lib/esm/HitDetail.js.map +1 -1
  455. package/lib/esm/IModelApp.js.map +1 -1
  456. package/lib/esm/IModelConnection.js +23 -23
  457. package/lib/esm/IModelConnection.js.map +1 -1
  458. package/lib/esm/IModelRoutingContext.js.map +1 -1
  459. package/lib/esm/IModeljs-css.js +133 -133
  460. package/lib/esm/IModeljs-css.js.map +1 -1
  461. package/lib/esm/IpcApp.js.map +1 -1
  462. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  463. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  464. package/lib/esm/MarginPercent.js.map +1 -1
  465. package/lib/esm/Marker.js.map +1 -1
  466. package/lib/esm/ModelSelectorState.js.map +1 -1
  467. package/lib/esm/NativeApp.js.map +1 -1
  468. package/lib/esm/NativeAppLogger.js.map +1 -1
  469. package/lib/esm/NoRenderApp.js.map +1 -1
  470. package/lib/esm/NotificationManager.js.map +1 -1
  471. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  472. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  473. package/lib/esm/RealityDataSource.js.map +1 -1
  474. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  475. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  476. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  477. package/lib/esm/SelectionSet.js.map +1 -1
  478. package/lib/esm/SheetViewState.js.map +1 -1
  479. package/lib/esm/SpatialViewState.js.map +1 -1
  480. package/lib/esm/Sprites.js.map +1 -1
  481. package/lib/esm/StandardView.js.map +1 -1
  482. package/lib/esm/SubCategoriesCache.js.map +1 -1
  483. package/lib/esm/TentativePoint.js.map +1 -1
  484. package/lib/esm/Tiles.js.map +1 -1
  485. package/lib/esm/UserPreferences.js.map +1 -1
  486. package/lib/esm/ViewAnimation.js.map +1 -1
  487. package/lib/esm/ViewContext.js.map +1 -1
  488. package/lib/esm/ViewCreator2d.js.map +1 -1
  489. package/lib/esm/ViewCreator3d.js.map +1 -1
  490. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  491. package/lib/esm/ViewManager.js.map +1 -1
  492. package/lib/esm/ViewPose.js.map +1 -1
  493. package/lib/esm/ViewState.js.map +1 -1
  494. package/lib/esm/ViewStatus.js.map +1 -1
  495. package/lib/esm/ViewingSpace.js.map +1 -1
  496. package/lib/esm/Viewport.js.map +1 -1
  497. package/lib/esm/ViewportSync.js.map +1 -1
  498. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  499. package/lib/esm/common/ImageUtil.js.map +1 -1
  500. package/lib/esm/common/ViewRect.js.map +1 -1
  501. package/lib/esm/common/WorkerProxy.js.map +1 -1
  502. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  503. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  504. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  505. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  506. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  507. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  508. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  509. package/lib/esm/common/render/AnimationNodeId.js.map +1 -1
  510. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  511. package/lib/esm/common/render/TextureParams.js.map +1 -1
  512. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -1
  513. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -1
  514. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -1
  515. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -1
  516. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -1
  517. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -1
  518. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -1
  519. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -1
  520. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -1
  521. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -1
  522. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -1
  523. package/lib/esm/core-frontend.js.map +1 -1
  524. package/lib/esm/extension/Extension.js.map +1 -1
  525. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  526. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  527. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  528. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  529. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  530. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  531. package/lib/esm/properties/AngleDescription.js.map +1 -1
  532. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  533. package/lib/esm/properties/LengthDescription.js.map +1 -1
  534. package/lib/esm/public/scripts/checkbrowser.js +24 -24
  535. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  536. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  537. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  538. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  539. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  540. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  541. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  542. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  543. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  544. package/lib/esm/render/Decorations.js.map +1 -1
  545. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  546. package/lib/esm/render/FrameStats.js.map +1 -1
  547. package/lib/esm/render/GraphicBranch.js.map +1 -1
  548. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  549. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  550. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  551. package/lib/esm/render/MockRender.js.map +1 -1
  552. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  553. package/lib/esm/render/Pixel.js.map +1 -1
  554. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -1
  555. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  556. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  557. package/lib/esm/render/RenderGraphic.js.map +1 -1
  558. package/lib/esm/render/RenderMemory.js.map +1 -1
  559. package/lib/esm/render/RenderPlan.js.map +1 -1
  560. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  561. package/lib/esm/render/RenderSystem.js.map +1 -1
  562. package/lib/esm/render/RenderTarget.js.map +1 -1
  563. package/lib/esm/render/Scene.js.map +1 -1
  564. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  565. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
  566. package/lib/esm/render/VisibleFeature.js.map +1 -1
  567. package/lib/esm/render/primitives/ColorMap.js.map +1 -1
  568. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  569. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  570. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  571. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  572. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  573. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  574. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  575. package/lib/esm/render/primitives/VertexKey.js.map +1 -1
  576. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -1
  577. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  578. package/lib/esm/render/primitives/geometry/GeometryList.js.map +1 -1
  579. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  580. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  581. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  582. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  583. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  584. package/lib/esm/render/webgl/AtmosphereUniforms.js.map +1 -1
  585. package/lib/esm/render/webgl/AttributeBuffers.js.map +1 -1
  586. package/lib/esm/render/webgl/AttributeMap.js.map +1 -1
  587. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  588. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  589. package/lib/esm/render/webgl/BatchUniforms.js.map +1 -1
  590. package/lib/esm/render/webgl/BranchStack.js.map +1 -1
  591. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  592. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  593. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  594. package/lib/esm/render/webgl/ClipStack.js.map +1 -1
  595. package/lib/esm/render/webgl/ClipVolume.js.map +1 -1
  596. package/lib/esm/render/webgl/ClippingProgram.js.map +1 -1
  597. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  598. package/lib/esm/render/webgl/Diagnostics.js.map +1 -1
  599. package/lib/esm/render/webgl/Disposable.js.map +1 -1
  600. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  601. package/lib/esm/render/webgl/EDL.js.map +1 -1
  602. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  603. package/lib/esm/render/webgl/EdgeSettings.js.map +1 -1
  604. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  605. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  606. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  607. package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
  608. package/lib/esm/render/webgl/GL.js.map +1 -1
  609. package/lib/esm/render/webgl/GLTimer.js.map +1 -1
  610. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  611. package/lib/esm/render/webgl/HiliteUniforms.js.map +1 -1
  612. package/lib/esm/render/webgl/IModelFrameLifecycle.js.map +1 -1
  613. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  614. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  615. package/lib/esm/render/webgl/Layer.js.map +1 -1
  616. package/lib/esm/render/webgl/LayerCommands.js.map +1 -1
  617. package/lib/esm/render/webgl/LightingUniforms.js.map +1 -1
  618. package/lib/esm/render/webgl/LineCode.js.map +1 -1
  619. package/lib/esm/render/webgl/Material.js.map +1 -1
  620. package/lib/esm/render/webgl/Matrix.js.map +1 -1
  621. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  622. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  623. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -1
  624. package/lib/esm/render/webgl/PerformanceMetrics.js.map +1 -1
  625. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  626. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  627. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  628. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  629. package/lib/esm/render/webgl/PointString.js.map +1 -1
  630. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  631. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  632. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  633. package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
  634. package/lib/esm/render/webgl/RenderBuffer.js.map +1 -1
  635. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  636. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  637. package/lib/esm/render/webgl/RenderState.js.map +1 -1
  638. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  639. package/lib/esm/render/webgl/ScratchDrawParams.js.map +1 -1
  640. package/lib/esm/render/webgl/ScreenSpaceEffect.js.map +1 -1
  641. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  642. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  643. package/lib/esm/render/webgl/ShadowUniforms.js.map +1 -1
  644. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  645. package/lib/esm/render/webgl/StyleUniforms.js.map +1 -1
  646. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  647. package/lib/esm/render/webgl/Sync.js.map +1 -1
  648. package/lib/esm/render/webgl/System.js.map +1 -1
  649. package/lib/esm/render/webgl/Target.js.map +1 -1
  650. package/lib/esm/render/webgl/TargetGraphics.js.map +1 -1
  651. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  652. package/lib/esm/render/webgl/Technique.js.map +1 -1
  653. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  654. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  655. package/lib/esm/render/webgl/Texture.js.map +1 -1
  656. package/lib/esm/render/webgl/TextureDrape.js.map +1 -1
  657. package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
  658. package/lib/esm/render/webgl/ThematicUniforms.js.map +1 -1
  659. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  660. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  661. package/lib/esm/render/webgl/ViewRectUniforms.js.map +1 -1
  662. package/lib/esm/render/webgl/VisibleTileFeatures.js.map +1 -1
  663. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +154 -154
  664. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  665. package/lib/esm/render/webgl/glsl/Animation.js +83 -83
  666. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  667. package/lib/esm/render/webgl/glsl/Atmosphere.js +266 -266
  668. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  669. package/lib/esm/render/webgl/glsl/Blur.js +37 -37
  670. package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
  671. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +4 -4
  672. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  673. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +3 -3
  674. package/lib/esm/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  675. package/lib/esm/render/webgl/glsl/Clipping.js +60 -60
  676. package/lib/esm/render/webgl/glsl/Clipping.js.map +1 -1
  677. package/lib/esm/render/webgl/glsl/Color.js +12 -12
  678. package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
  679. package/lib/esm/render/webgl/glsl/Combine3Textures.js +7 -7
  680. package/lib/esm/render/webgl/glsl/Combine3Textures.js.map +1 -1
  681. package/lib/esm/render/webgl/glsl/CombineTextures.js +5 -5
  682. package/lib/esm/render/webgl/glsl/CombineTextures.js.map +1 -1
  683. package/lib/esm/render/webgl/glsl/Common.js +16 -16
  684. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  685. package/lib/esm/render/webgl/glsl/Composite.js +71 -71
  686. package/lib/esm/render/webgl/glsl/Composite.js.map +1 -1
  687. package/lib/esm/render/webgl/glsl/CopyColor.js +6 -6
  688. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  689. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +3 -3
  690. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  691. package/lib/esm/render/webgl/glsl/CopyStencil.js +4 -4
  692. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  693. package/lib/esm/render/webgl/glsl/Decode.js +65 -65
  694. package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
  695. package/lib/esm/render/webgl/glsl/EDL.js +103 -103
  696. package/lib/esm/render/webgl/glsl/EDL.js.map +1 -1
  697. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +25 -25
  698. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  699. package/lib/esm/render/webgl/glsl/Edge.js +146 -146
  700. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  701. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +232 -232
  702. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  703. package/lib/esm/render/webgl/glsl/Fragment.js +41 -41
  704. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  705. package/lib/esm/render/webgl/glsl/Instancing.js +21 -21
  706. package/lib/esm/render/webgl/glsl/Instancing.js.map +1 -1
  707. package/lib/esm/render/webgl/glsl/Lighting.js +92 -92
  708. package/lib/esm/render/webgl/glsl/Lighting.js.map +1 -1
  709. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  710. package/lib/esm/render/webgl/glsl/LookupTable.js +19 -19
  711. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  712. package/lib/esm/render/webgl/glsl/Monochrome.js +13 -13
  713. package/lib/esm/render/webgl/glsl/Monochrome.js.map +1 -1
  714. package/lib/esm/render/webgl/glsl/PlanarClassification.js +188 -188
  715. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  716. package/lib/esm/render/webgl/glsl/PlanarGrid.js +22 -22
  717. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  718. package/lib/esm/render/webgl/glsl/PointCloud.js +28 -28
  719. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  720. package/lib/esm/render/webgl/glsl/PointString.js +9 -9
  721. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  722. package/lib/esm/render/webgl/glsl/Polyline.js +213 -213
  723. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  724. package/lib/esm/render/webgl/glsl/RealityMesh.js +83 -83
  725. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  726. package/lib/esm/render/webgl/glsl/RenderPass.js.map +1 -1
  727. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  728. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  729. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  730. package/lib/esm/render/webgl/glsl/SkySphere.js +49 -49
  731. package/lib/esm/render/webgl/glsl/SkySphere.js.map +1 -1
  732. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +51 -51
  733. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  734. package/lib/esm/render/webgl/glsl/Surface.js +239 -239
  735. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  736. package/lib/esm/render/webgl/glsl/Thematic.js +134 -134
  737. package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
  738. package/lib/esm/render/webgl/glsl/Translucency.js +19 -19
  739. package/lib/esm/render/webgl/glsl/Translucency.js.map +1 -1
  740. package/lib/esm/render/webgl/glsl/Vertex.js +73 -73
  741. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  742. package/lib/esm/render/webgl/glsl/Viewport.js +38 -38
  743. package/lib/esm/render/webgl/glsl/Viewport.js.map +1 -1
  744. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  745. package/lib/esm/render/webgl/glsl/Wiremesh.js +10 -10
  746. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -1
  747. package/lib/esm/render-primitives.js.map +1 -1
  748. package/lib/esm/request/Request.js.map +1 -1
  749. package/lib/esm/tile/B3dmReader.js.map +1 -1
  750. package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
  751. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -1
  752. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  753. package/lib/esm/tile/ContextShareProvider.js.map +1 -1
  754. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  755. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  756. package/lib/esm/tile/GltfReader.js.map +1 -1
  757. package/lib/esm/tile/GraphicsCollector.js.map +1 -1
  758. package/lib/esm/tile/I3dmReader.js.map +1 -1
  759. package/lib/esm/tile/IModelTile.js.map +1 -1
  760. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  761. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  762. package/lib/esm/tile/ImdlDecoder.js.map +1 -1
  763. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
  764. package/lib/esm/tile/ImdlParser.js.map +1 -1
  765. package/lib/esm/tile/ImdlReader.js.map +1 -1
  766. package/lib/esm/tile/LRUTileList.js.map +1 -1
  767. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  768. package/lib/esm/tile/PntsReader.js.map +1 -1
  769. package/lib/esm/tile/RealityTile.js.map +1 -1
  770. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  771. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  772. package/lib/esm/tile/RealityTileTree.js +1 -1
  773. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  774. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  775. package/lib/esm/tile/Tile.js.map +1 -1
  776. package/lib/esm/tile/TileAdmin.js.map +1 -1
  777. package/lib/esm/tile/TileContent.js.map +1 -1
  778. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  779. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  780. package/lib/esm/tile/TileParams.js.map +1 -1
  781. package/lib/esm/tile/TileRequest.js.map +1 -1
  782. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  783. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  784. package/lib/esm/tile/TileStorage.js.map +1 -1
  785. package/lib/esm/tile/TileTree.js.map +1 -1
  786. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  787. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  788. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  789. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  790. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  791. package/lib/esm/tile/TileUser.js.map +1 -1
  792. package/lib/esm/tile/TileUserSet.js.map +1 -1
  793. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  794. package/lib/esm/tile/ViewFlagOverrides.js.map +1 -1
  795. package/lib/esm/tile/internal.js.map +1 -1
  796. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  797. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  798. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  799. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  800. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  801. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  802. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  803. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  804. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  805. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  806. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  807. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  808. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  809. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  810. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  811. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  812. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  813. package/lib/esm/tile/map/MapLayerImageryProvider.js +2 -2
  814. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  815. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  816. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  817. package/lib/esm/tile/map/MapTile.js.map +1 -1
  818. package/lib/esm/tile/map/MapTileAvailability.js.map +1 -1
  819. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  820. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  821. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  822. package/lib/esm/tile/map/QuadId.js.map +1 -1
  823. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  824. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  825. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  826. package/lib/esm/tile/map/WmsUtilities.js.map +1 -1
  827. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  828. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  829. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  830. package/lib/esm/tools/EditManipulator.js.map +1 -1
  831. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  832. package/lib/esm/tools/EventController.js.map +1 -1
  833. package/lib/esm/tools/IdleTool.js.map +1 -1
  834. package/lib/esm/tools/MeasureTool.js.map +1 -1
  835. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  836. package/lib/esm/tools/SelectTool.js.map +1 -1
  837. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  838. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  839. package/lib/esm/tools/ToolSettings.js.map +1 -1
  840. package/lib/esm/tools/ViewTool.js.map +1 -1
  841. package/lib/esm/webgl.js.map +1 -1
  842. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  843. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -40
  844. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  845. package/lib/public/assets/MapLayerSources.json +25 -25
  846. package/lib/public/images/cesium-ion.svg +92 -92
  847. package/lib/public/images/imodeljs-icon.svg +2 -2
  848. package/lib/public/locales/en/CoreTools.json +477 -477
  849. package/lib/public/locales/en/iModelJs.json +170 -170
  850. package/lib/public/scripts/checkbrowser.js +24 -24
  851. package/package.json +23 -22
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFlags.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.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/* eslint-disable no-restricted-syntax */\r\n\r\n/** Ordered list of render passes which produce a rendered frame.\r\n * [[RenderCommands]] organizes its [[DrawCommands]] into a list indexed by RenderPass.\r\n * @see [[Pass]] for the type from which the RenderPass for a [[Primitive]] is derived.\r\n * @internal\r\n */\r\nexport const enum RenderPass {\r\n None = 0xff,\r\n Background = 0,\r\n OpaqueLayers, // XY planar models render without depth-testing in order based on priority\r\n OpaqueLinear, // Linear geometry that is opaque and needs to be written to the pick data buffers\r\n OpaquePlanar, // Planar surface geometry that is opaque and needs to be written to the pick data buffers\r\n PointClouds,\r\n OpaqueGeneral, // All other opaque geometry (including point clouds and reality meshes) which are not written to the pick data buffers\r\n Classification, // Stencil volumes for normal processing of reality data classification.\r\n TranslucentLayers, // like Layers but drawn without depth write, blending with opaque\r\n Translucent,\r\n HiddenEdge,\r\n Hilite,\r\n OverlayLayers, // Like Layers, but drawn atop all other geometry\r\n WorldOverlay, // Decorations\r\n ViewOverlay, // Decorations\r\n SkyBox,\r\n BackgroundMap,\r\n HiliteClassification, // Secondary hilite pass for stencil volumes to process hilited classifiers for reality data\r\n ClassificationByIndex, // Stencil volumes for processing classification one classifier at a time (used for generating pick data Ids and flashing a single classifier).\r\n HilitePlanarClassification,\r\n PlanarClassification,\r\n VolumeClassifiedRealityData,\r\n COUNT,\r\n}\r\n\r\n/** Describes the [[RenderPass]]es in which a [[Primitive]] wants to be rendered.\r\n * Generally, each Pass corresponds to a single RenderPass. However a couple of passes specify that the primitive should be rendered\r\n * twice, in two different render passes.\r\n * [[RenderCommands.addPrimitive]] may ignore the requested Pass. For example, edges typically draw in RenderPass.OpaqueLinear, but\r\n * may also draw in RenderPass.HiddenEdge; and translucent geometry may sometimes be rendered in an opaque render pass instead.\r\n * @see [[CachedGeometry.getPass]].\r\n * @internal\r\n */\r\nexport type Pass =\r\n \"skybox\" | // SkyBox\r\n \"opaque\" | // OpaqueGeneral\r\n \"opaque-linear\" | // OpaqueLinear\r\n \"opaque-planar\" | // OpaquePlanar\r\n \"translucent\" | // Translucent\r\n \"point-clouds\" | // PointClouds\r\n \"view-overlay\" | // ViewOverlay\r\n \"classification\" | // Classification\r\n \"none\" | // None\r\n // The following apply to textured meshes when the texture image contains a mix of opaque and transparent pixels.\r\n // The mesh requests to be rendered in both opaque and transparent passes, with each pass discarding pixels that don't match that pass.\r\n // (i.e., discard transparent pixels during opaque pass and vice-versa).\r\n \"opaque-translucent\" | // OpaqueGeneral and Translucent\r\n \"opaque-planar-translucent\"; // OpaquePlanar and Translucent\r\n\r\n/** [[Pass]]es that map to two [[RenderPass]]es.\r\n * @internal\r\n */\r\nexport type DoublePass = \"opaque-translucent\" | \"opaque-planar-translucent\";\r\n\r\n/** [[Pass]]es that map to a single [[RenderPass]].\r\n * @internal */\r\nexport type SinglePass = Exclude<Pass, DoublePass>;\r\n\r\n/** Describes the type of geometry rendered by a ShaderProgram.\r\n * @internal\r\n */\r\nexport const enum GeometryType {\r\n IndexedTriangles,\r\n IndexedPoints,\r\n ArrayedPoints,\r\n}\r\n\r\n/** @internal */\r\nexport namespace Pass { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /** Return the RenderPass corresponding to the specified Pass. */\r\n export function toRenderPass(pass: SinglePass): RenderPass {\r\n switch (pass) {\r\n case \"skybox\": return RenderPass.SkyBox;\r\n case \"opaque\": return RenderPass.OpaqueGeneral;\r\n case \"opaque-linear\": return RenderPass.OpaqueLinear;\r\n case \"opaque-planar\": return RenderPass.OpaquePlanar;\r\n case \"translucent\": return RenderPass.Translucent;\r\n case \"point-clouds\": return RenderPass.PointClouds;\r\n case \"view-overlay\": return RenderPass.ViewOverlay;\r\n case \"classification\": return RenderPass.Classification;\r\n case \"none\": return RenderPass.None;\r\n }\r\n }\r\n\r\n /** Return true if the specified Pass renders during RenderPass.Translucent.\r\n * @note It is possible for both [[rendersTranslucent]] and [[rendersOpaque]] to return true (or false) for a given Pass.\r\n */\r\n export function rendersTranslucent(pass: Pass): boolean {\r\n switch (pass) {\r\n case \"translucent\":\r\n case \"opaque-translucent\":\r\n case \"opaque-planar-translucent\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /** Return true if the specified Pass renders during one of the opaque RenderPasses.\r\n * @note It is possible for both [[rendersTranslucent]] and [[rendersOpaque]] to return true for a given Pass.\r\n */\r\n export function rendersOpaque(pass: Pass): boolean {\r\n switch (pass) {\r\n case \"opaque-translucent\":\r\n case \"opaque-planar-translucent\":\r\n case \"opaque\":\r\n case \"opaque-planar\":\r\n case \"opaque-linear\":\r\n case \"point-clouds\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /** Return true if the specified Pass renders both during RenderPass.Translucent and one of the opaque RenderPasses. */\r\n export function rendersOpaqueAndTranslucent(pass: Pass): pass is DoublePass {\r\n return \"opaque-translucent\" === pass || \"opaque-planar-translucent\" === pass;\r\n }\r\n\r\n export function toOpaquePass(pass: DoublePass): RenderPass {\r\n return \"opaque-translucent\" === pass ? RenderPass.OpaqueGeneral : RenderPass.OpaquePlanar;\r\n }\r\n}\r\n\r\n/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.\r\n * WebGL 2 guarantees a minimum of 16 vertex texture units.\r\n * @internal\r\n */\r\nexport enum TextureUnit {\r\n // For shaders which know exactly which textures will be used\r\n Zero = WebGLRenderingContext.TEXTURE0,\r\n One = WebGLRenderingContext.TEXTURE1,\r\n Two = WebGLRenderingContext.TEXTURE2,\r\n Three = WebGLRenderingContext.TEXTURE3,\r\n Four = WebGLRenderingContext.TEXTURE4,\r\n Five = WebGLRenderingContext.TEXTURE5,\r\n Six = WebGLRenderingContext.TEXTURE6,\r\n Seven = WebGLRenderingContext.TEXTURE7,\r\n\r\n ClipVolume = Zero,\r\n FeatureSymbology = One,\r\n SurfaceTexture = Two,\r\n LineCode = Two,\r\n\r\n PickFeatureId = Three,\r\n PickDepthAndOrder = Four,\r\n\r\n VertexLUT = Five,\r\n\r\n // Texture unit 6 is overloaded. Therefore classification, hilite classification, and aux channel are all mutually exclusive.\r\n AuxChannelLUT = Six,\r\n PlanarClassification = Six,\r\n PlanarClassificationHilite = Six,\r\n\r\n // Texture unit 7 is overloaded. Therefore receiving shadows and thematic display are mutually exclusive.\r\n ShadowMap = Seven,\r\n ThematicSensors = Seven,\r\n\r\n // Textures used for up to 6 background or overlay map layers.\r\n RealityMesh0 = Two,\r\n RealityMesh1 = VertexLUT, // Reality meshes do not use VertexLUT.\r\n RealityMesh2 = ShadowMap, // Shadow map when picking -- PickDepthAndOrder otherwise....\r\n RealityMesh3 = WebGLRenderingContext.TEXTURE8,\r\n RealityMesh4 = WebGLRenderingContext.TEXTURE9,\r\n RealityMesh5 = WebGLRenderingContext.TEXTURE10,\r\n\r\n RealityMeshThematicGradient = WebGLRenderingContext.TEXTURE11,\r\n\r\n // Lookup table for indexed edges.\r\n EdgeLUT = WebGLRenderingContext.TEXTURE12,\r\n\r\n // Normal map texture.\r\n NormalMap = WebGLRenderingContext.TEXTURE13,\r\n}\r\n\r\n/**\r\n * Defines the order in which primitives are rendered within a GLESList. This is chiefly\r\n * used to sort primitives which originate from the same element. e.g., the blanking fill\r\n * associated with a text field must always render behind the text; the edges of a surface\r\n * must render in front of the surface; etc.\r\n * An exception to the 'same element' rule is provided for planar surfaces and edges thereof\r\n * sketched onto non-planar surfaces. When the depth test is ambiguous the planar geometry\r\n * is always on top of the non-planar surface. This addresses z-fighting when shapes are\r\n * sketched onto surfaces, e.g. as part of push-pull modeling workflows.\r\n * @internal\r\n */\r\nexport const enum RenderOrder {\r\n None = 0,\r\n Background = 1, // i.e., background map drawn without depth\r\n BlankingRegion = 2,\r\n UnlitSurface = 3, // Distinction only made for whether or not to apply ambient occlusion.\r\n LitSurface = 4,\r\n Linear = 5,\r\n Edge = 6,\r\n Silhouette = 7,\r\n\r\n PlanarBit = 8,\r\n\r\n PlanarUnlitSurface = UnlitSurface | PlanarBit,\r\n PlanarLitSurface = LitSurface | PlanarBit,\r\n PlanarLinear = Linear | PlanarBit,\r\n PlanarEdge = Edge | PlanarBit,\r\n PlanarSilhouette = Silhouette | PlanarBit,\r\n}\r\n\r\n/** @internal */\r\nexport function isPlanar(order: RenderOrder): boolean {\r\n return order >= RenderOrder.PlanarBit;\r\n}\r\n\r\n/** Flags indicating operations to be performed by the post-process composite step.\r\n * @internal\r\n */\r\nexport const enum CompositeFlags {\r\n None = 0,\r\n Translucent = 1 << 0,\r\n Hilite = 1 << 1,\r\n AmbientOcclusion = 1 << 2,\r\n}\r\n\r\n/** Location in boolean array of SurfaceFlags above.\r\n * @internal\r\n */\r\nexport const enum SurfaceBitIndex {\r\n HasTexture,\r\n ApplyLighting,\r\n HasNormals,\r\n IgnoreMaterial,\r\n TransparencyThreshold,\r\n BackgroundFill,\r\n HasColorAndNormal,\r\n OverrideRgb,\r\n HasNormalMap,\r\n HasMaterialAtlas,\r\n UseConstantLodTextureMapping,\r\n UseConstantLodNormalMapMapping,\r\n Count,\r\n}\r\n\r\n/** Describes attributes of a MeshGeometry object. Used to conditionally execute portion of shader programs.\r\n * @internal\r\n */\r\nexport const enum SurfaceFlags {\r\n None = 0,\r\n HasTexture = 1 << SurfaceBitIndex.HasTexture,\r\n ApplyLighting = 1 << SurfaceBitIndex.ApplyLighting,\r\n HasNormals = 1 << SurfaceBitIndex.HasNormals,\r\n\r\n // NB: In u_surfaceFlags provided to shader, indicates material color/specular/alpha should be ignored. Has no effect on texture.\r\n // If a given feature has the 'ignore material' override set, v_surfaceFlags will be modified to turn on IgnoreMaterial and turn off HasTexture.\r\n IgnoreMaterial = 1 << SurfaceBitIndex.IgnoreMaterial,\r\n\r\n // In HiddenLine and SolidFill modes, a transparency threshold is supplied; surfaces that are more transparent than the threshold are not rendered.\r\n TransparencyThreshold = 1 << SurfaceBitIndex.TransparencyThreshold,\r\n\r\n // For HiddenLine mode\r\n BackgroundFill = 1 << SurfaceBitIndex.BackgroundFill,\r\n\r\n // For textured meshes, the color index in the vertex LUT is unused - we place the normal there instead.\r\n // For untextured lit meshes, the normal is placed after the feature ID.\r\n HasColorAndNormal = 1 << SurfaceBitIndex.HasColorAndNormal,\r\n // For textured meshes, use rgb from v_color instead of from texture.\r\n OverrideRgb = 1 << SurfaceBitIndex.OverrideRgb,\r\n // For geometry with fixed normals (terrain meshes) we must avoid front facing normal reversal or skirts will be incorrectly lit.\r\n HasNormalMap = 1 << SurfaceBitIndex.HasNormalMap,\r\n HasMaterialAtlas = 1 << SurfaceBitIndex.HasMaterialAtlas,\r\n}\r\n\r\n/** 16-bit flags indicating what aspects of a feature's symbology are overridden.\r\n * @internal\r\n */\r\nexport const enum OvrFlags {\r\n None = 0,\r\n Visibility = 1 << 0,\r\n Rgb = 1 << 1,\r\n Alpha = 1 << 2,\r\n IgnoreMaterial = 1 << 3, // ignore material color, specular properties, and texture.\r\n Flashed = 1 << 4,\r\n NonLocatable = 1 << 5, // do not draw during pick - allows geometry beneath to be picked.\r\n LineCode = 1 << 6,\r\n Weight = 1 << 7,\r\n Hilited = 1 << 8,\r\n Emphasized = 1 << 9, // rendered with \"emphasis\" hilite settings (silhouette etc).\r\n ViewIndependentTransparency = 1 << 10,\r\n\r\n Rgba = Rgb | Alpha,\r\n}\r\n\r\n/** 8-bit flags indicating emphasis effects applied to a feature.\r\n * @internal\r\n */\r\nexport const enum EmphasisFlags {\r\n None = 0,\r\n Hilite = 1,\r\n Emphasized = 2,\r\n Flashed = 4,\r\n NonLocatable = 8,\r\n}\r\n\r\n/** @internal */\r\nexport const enum IsTranslucent { No, Yes, Maybe }\r\n"]}
1
+ {"version":3,"file":"RenderFlags.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.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/* eslint-disable no-restricted-syntax */\n\n/** Ordered list of render passes which produce a rendered frame.\n * [[RenderCommands]] organizes its [[DrawCommands]] into a list indexed by RenderPass.\n * @see [[Pass]] for the type from which the RenderPass for a [[Primitive]] is derived.\n * @internal\n */\nexport const enum RenderPass {\n None = 0xff,\n Background = 0,\n OpaqueLayers, // XY planar models render without depth-testing in order based on priority\n OpaqueLinear, // Linear geometry that is opaque and needs to be written to the pick data buffers\n OpaquePlanar, // Planar surface geometry that is opaque and needs to be written to the pick data buffers\n PointClouds,\n OpaqueGeneral, // All other opaque geometry (including point clouds and reality meshes) which are not written to the pick data buffers\n Classification, // Stencil volumes for normal processing of reality data classification.\n TranslucentLayers, // like Layers but drawn without depth write, blending with opaque\n Translucent,\n HiddenEdge,\n Hilite,\n OverlayLayers, // Like Layers, but drawn atop all other geometry\n WorldOverlay, // Decorations\n ViewOverlay, // Decorations\n SkyBox,\n BackgroundMap,\n HiliteClassification, // Secondary hilite pass for stencil volumes to process hilited classifiers for reality data\n ClassificationByIndex, // Stencil volumes for processing classification one classifier at a time (used for generating pick data Ids and flashing a single classifier).\n HilitePlanarClassification,\n PlanarClassification,\n VolumeClassifiedRealityData,\n COUNT,\n}\n\n/** Describes the [[RenderPass]]es in which a [[Primitive]] wants to be rendered.\n * Generally, each Pass corresponds to a single RenderPass. However a couple of passes specify that the primitive should be rendered\n * twice, in two different render passes.\n * [[RenderCommands.addPrimitive]] may ignore the requested Pass. For example, edges typically draw in RenderPass.OpaqueLinear, but\n * may also draw in RenderPass.HiddenEdge; and translucent geometry may sometimes be rendered in an opaque render pass instead.\n * @see [[CachedGeometry.getPass]].\n * @internal\n */\nexport type Pass =\n \"skybox\" | // SkyBox\n \"opaque\" | // OpaqueGeneral\n \"opaque-linear\" | // OpaqueLinear\n \"opaque-planar\" | // OpaquePlanar\n \"translucent\" | // Translucent\n \"point-clouds\" | // PointClouds\n \"view-overlay\" | // ViewOverlay\n \"classification\" | // Classification\n \"none\" | // None\n // The following apply to textured meshes when the texture image contains a mix of opaque and transparent pixels.\n // The mesh requests to be rendered in both opaque and transparent passes, with each pass discarding pixels that don't match that pass.\n // (i.e., discard transparent pixels during opaque pass and vice-versa).\n \"opaque-translucent\" | // OpaqueGeneral and Translucent\n \"opaque-planar-translucent\"; // OpaquePlanar and Translucent\n\n/** [[Pass]]es that map to two [[RenderPass]]es.\n * @internal\n */\nexport type DoublePass = \"opaque-translucent\" | \"opaque-planar-translucent\";\n\n/** [[Pass]]es that map to a single [[RenderPass]].\n * @internal */\nexport type SinglePass = Exclude<Pass, DoublePass>;\n\n/** Describes the type of geometry rendered by a ShaderProgram.\n * @internal\n */\nexport const enum GeometryType {\n IndexedTriangles,\n IndexedPoints,\n ArrayedPoints,\n}\n\n/** @internal */\nexport namespace Pass { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Return the RenderPass corresponding to the specified Pass. */\n export function toRenderPass(pass: SinglePass): RenderPass {\n switch (pass) {\n case \"skybox\": return RenderPass.SkyBox;\n case \"opaque\": return RenderPass.OpaqueGeneral;\n case \"opaque-linear\": return RenderPass.OpaqueLinear;\n case \"opaque-planar\": return RenderPass.OpaquePlanar;\n case \"translucent\": return RenderPass.Translucent;\n case \"point-clouds\": return RenderPass.PointClouds;\n case \"view-overlay\": return RenderPass.ViewOverlay;\n case \"classification\": return RenderPass.Classification;\n case \"none\": return RenderPass.None;\n }\n }\n\n /** Return true if the specified Pass renders during RenderPass.Translucent.\n * @note It is possible for both [[rendersTranslucent]] and [[rendersOpaque]] to return true (or false) for a given Pass.\n */\n export function rendersTranslucent(pass: Pass): boolean {\n switch (pass) {\n case \"translucent\":\n case \"opaque-translucent\":\n case \"opaque-planar-translucent\":\n return true;\n default:\n return false;\n }\n }\n\n /** Return true if the specified Pass renders during one of the opaque RenderPasses.\n * @note It is possible for both [[rendersTranslucent]] and [[rendersOpaque]] to return true for a given Pass.\n */\n export function rendersOpaque(pass: Pass): boolean {\n switch (pass) {\n case \"opaque-translucent\":\n case \"opaque-planar-translucent\":\n case \"opaque\":\n case \"opaque-planar\":\n case \"opaque-linear\":\n case \"point-clouds\":\n return true;\n default:\n return false;\n }\n }\n\n /** Return true if the specified Pass renders both during RenderPass.Translucent and one of the opaque RenderPasses. */\n export function rendersOpaqueAndTranslucent(pass: Pass): pass is DoublePass {\n return \"opaque-translucent\" === pass || \"opaque-planar-translucent\" === pass;\n }\n\n export function toOpaquePass(pass: DoublePass): RenderPass {\n return \"opaque-translucent\" === pass ? RenderPass.OpaqueGeneral : RenderPass.OpaquePlanar;\n }\n}\n\n/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.\n * WebGL 2 guarantees a minimum of 16 vertex texture units.\n * @internal\n */\nexport enum TextureUnit {\n // For shaders which know exactly which textures will be used\n Zero = WebGLRenderingContext.TEXTURE0,\n One = WebGLRenderingContext.TEXTURE1,\n Two = WebGLRenderingContext.TEXTURE2,\n Three = WebGLRenderingContext.TEXTURE3,\n Four = WebGLRenderingContext.TEXTURE4,\n Five = WebGLRenderingContext.TEXTURE5,\n Six = WebGLRenderingContext.TEXTURE6,\n Seven = WebGLRenderingContext.TEXTURE7,\n\n ClipVolume = Zero,\n FeatureSymbology = One,\n SurfaceTexture = Two,\n LineCode = Two,\n\n PickFeatureId = Three,\n PickDepthAndOrder = Four,\n\n VertexLUT = Five,\n\n // Texture unit 6 is overloaded. Therefore classification, hilite classification, and aux channel are all mutually exclusive.\n AuxChannelLUT = Six,\n PlanarClassification = Six,\n PlanarClassificationHilite = Six,\n\n // Texture unit 7 is overloaded. Therefore receiving shadows and thematic display are mutually exclusive.\n ShadowMap = Seven,\n ThematicSensors = Seven,\n\n // Textures used for up to 6 background or overlay map layers.\n RealityMesh0 = Two,\n RealityMesh1 = VertexLUT, // Reality meshes do not use VertexLUT.\n RealityMesh2 = ShadowMap, // Shadow map when picking -- PickDepthAndOrder otherwise....\n RealityMesh3 = WebGLRenderingContext.TEXTURE8,\n RealityMesh4 = WebGLRenderingContext.TEXTURE9,\n RealityMesh5 = WebGLRenderingContext.TEXTURE10,\n\n RealityMeshThematicGradient = WebGLRenderingContext.TEXTURE11,\n\n // Lookup table for indexed edges.\n EdgeLUT = WebGLRenderingContext.TEXTURE12,\n\n // Normal map texture.\n NormalMap = WebGLRenderingContext.TEXTURE13,\n}\n\n/**\n * Defines the order in which primitives are rendered within a GLESList. This is chiefly\n * used to sort primitives which originate from the same element. e.g., the blanking fill\n * associated with a text field must always render behind the text; the edges of a surface\n * must render in front of the surface; etc.\n * An exception to the 'same element' rule is provided for planar surfaces and edges thereof\n * sketched onto non-planar surfaces. When the depth test is ambiguous the planar geometry\n * is always on top of the non-planar surface. This addresses z-fighting when shapes are\n * sketched onto surfaces, e.g. as part of push-pull modeling workflows.\n * @internal\n */\nexport const enum RenderOrder {\n None = 0,\n Background = 1, // i.e., background map drawn without depth\n BlankingRegion = 2,\n UnlitSurface = 3, // Distinction only made for whether or not to apply ambient occlusion.\n LitSurface = 4,\n Linear = 5,\n Edge = 6,\n Silhouette = 7,\n\n PlanarBit = 8,\n\n PlanarUnlitSurface = UnlitSurface | PlanarBit,\n PlanarLitSurface = LitSurface | PlanarBit,\n PlanarLinear = Linear | PlanarBit,\n PlanarEdge = Edge | PlanarBit,\n PlanarSilhouette = Silhouette | PlanarBit,\n}\n\n/** @internal */\nexport function isPlanar(order: RenderOrder): boolean {\n return order >= RenderOrder.PlanarBit;\n}\n\n/** Flags indicating operations to be performed by the post-process composite step.\n * @internal\n */\nexport const enum CompositeFlags {\n None = 0,\n Translucent = 1 << 0,\n Hilite = 1 << 1,\n AmbientOcclusion = 1 << 2,\n}\n\n/** Location in boolean array of SurfaceFlags above.\n * @internal\n */\nexport const enum SurfaceBitIndex {\n HasTexture,\n ApplyLighting,\n HasNormals,\n IgnoreMaterial,\n TransparencyThreshold,\n BackgroundFill,\n HasColorAndNormal,\n OverrideRgb,\n HasNormalMap,\n HasMaterialAtlas,\n UseConstantLodTextureMapping,\n UseConstantLodNormalMapMapping,\n Count,\n}\n\n/** Describes attributes of a MeshGeometry object. Used to conditionally execute portion of shader programs.\n * @internal\n */\nexport const enum SurfaceFlags {\n None = 0,\n HasTexture = 1 << SurfaceBitIndex.HasTexture,\n ApplyLighting = 1 << SurfaceBitIndex.ApplyLighting,\n HasNormals = 1 << SurfaceBitIndex.HasNormals,\n\n // NB: In u_surfaceFlags provided to shader, indicates material color/specular/alpha should be ignored. Has no effect on texture.\n // If a given feature has the 'ignore material' override set, v_surfaceFlags will be modified to turn on IgnoreMaterial and turn off HasTexture.\n IgnoreMaterial = 1 << SurfaceBitIndex.IgnoreMaterial,\n\n // In HiddenLine and SolidFill modes, a transparency threshold is supplied; surfaces that are more transparent than the threshold are not rendered.\n TransparencyThreshold = 1 << SurfaceBitIndex.TransparencyThreshold,\n\n // For HiddenLine mode\n BackgroundFill = 1 << SurfaceBitIndex.BackgroundFill,\n\n // For textured meshes, the color index in the vertex LUT is unused - we place the normal there instead.\n // For untextured lit meshes, the normal is placed after the feature ID.\n HasColorAndNormal = 1 << SurfaceBitIndex.HasColorAndNormal,\n // For textured meshes, use rgb from v_color instead of from texture.\n OverrideRgb = 1 << SurfaceBitIndex.OverrideRgb,\n // For geometry with fixed normals (terrain meshes) we must avoid front facing normal reversal or skirts will be incorrectly lit.\n HasNormalMap = 1 << SurfaceBitIndex.HasNormalMap,\n HasMaterialAtlas = 1 << SurfaceBitIndex.HasMaterialAtlas,\n}\n\n/** 16-bit flags indicating what aspects of a feature's symbology are overridden.\n * @internal\n */\nexport const enum OvrFlags {\n None = 0,\n Visibility = 1 << 0,\n Rgb = 1 << 1,\n Alpha = 1 << 2,\n IgnoreMaterial = 1 << 3, // ignore material color, specular properties, and texture.\n Flashed = 1 << 4,\n NonLocatable = 1 << 5, // do not draw during pick - allows geometry beneath to be picked.\n LineCode = 1 << 6,\n Weight = 1 << 7,\n Hilited = 1 << 8,\n Emphasized = 1 << 9, // rendered with \"emphasis\" hilite settings (silhouette etc).\n ViewIndependentTransparency = 1 << 10,\n\n Rgba = Rgb | Alpha,\n}\n\n/** 8-bit flags indicating emphasis effects applied to a feature.\n * @internal\n */\nexport const enum EmphasisFlags {\n None = 0,\n Hilite = 1,\n Emphasized = 2,\n Flashed = 4,\n NonLocatable = 8,\n}\n\n/** @internal */\nexport const enum IsTranslucent { No, Yes, Maybe }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderState.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderState.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 { GL } from \"./GL\";\r\nimport { System } from \"./System\";\r\n\r\n/** @internal */\r\nexport class RenderStateFlags {\r\n public cull: boolean = false;\r\n public depthTest: boolean = false;\r\n public blend: boolean = false;\r\n public stencilTest: boolean = false;\r\n public depthMask: boolean = true;\r\n public colorWrite: boolean = true;\r\n\r\n public constructor(src?: RenderStateFlags) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public copyFrom(src: RenderStateFlags): void {\r\n this.cull = src.cull;\r\n this.depthTest = src.depthTest;\r\n this.blend = src.blend;\r\n this.stencilTest = src.stencilTest;\r\n this.depthMask = src.depthMask;\r\n this.colorWrite = src.colorWrite;\r\n }\r\n\r\n public clone(result?: RenderStateFlags): RenderStateFlags {\r\n if (!result) {\r\n return new RenderStateFlags(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public equals(rhs: RenderStateFlags): boolean {\r\n return this.cull === rhs.cull\r\n && this.depthTest === rhs.depthTest\r\n && this.blend === rhs.blend\r\n && this.stencilTest === rhs.stencilTest\r\n && this.depthMask === rhs.depthMask\r\n && this.colorWrite === rhs.colorWrite;\r\n }\r\n\r\n public apply(previousFlags: RenderStateFlags): void {\r\n RenderStateFlags.enableOrDisable(this.cull, GL.Capability.CullFace, previousFlags.cull);\r\n RenderStateFlags.enableOrDisable(this.depthTest, GL.Capability.DepthTest, previousFlags.depthTest);\r\n RenderStateFlags.enableOrDisable(this.blend, GL.Capability.Blend, previousFlags.blend);\r\n RenderStateFlags.enableOrDisable(this.stencilTest, GL.Capability.StencilTest, previousFlags.stencilTest);\r\n\r\n if (previousFlags.depthMask !== this.depthMask) {\r\n System.instance.context.depthMask(this.depthMask);\r\n }\r\n\r\n if (previousFlags.colorWrite !== this.colorWrite) {\r\n System.instance.context.colorMask(this.colorWrite, this.colorWrite, this.colorWrite, this.colorWrite);\r\n }\r\n }\r\n\r\n public static enableOrDisable(currentFlag: boolean, value: number, previousFlag: boolean) {\r\n if (currentFlag !== previousFlag) {\r\n const gl = System.instance.context;\r\n if (currentFlag) {\r\n gl.enable(value);\r\n } else {\r\n gl.disable(value);\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class RenderStateBlend {\r\n public color: [number, number, number, number] = [0.0, 0.0, 0.0, 0.0];\r\n public equationRgb: GL.BlendEquation = GL.BlendEquation.Default;\r\n public equationAlpha: GL.BlendEquation = GL.BlendEquation.Default;\r\n public functionSourceRgb: GL.BlendFactor = GL.BlendFactor.DefaultSrc;\r\n public functionSourceAlpha: GL.BlendFactor = GL.BlendFactor.DefaultSrc;\r\n public functionDestRgb: GL.BlendFactor = GL.BlendFactor.DefaultDst;\r\n public functionDestAlpha: GL.BlendFactor = GL.BlendFactor.DefaultDst;\r\n\r\n public constructor(src?: RenderStateBlend) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public apply(previousBlend?: RenderStateBlend): void {\r\n const gl = System.instance.context;\r\n\r\n if (previousBlend === undefined || !this.equalColors(previousBlend)) {\r\n gl.blendColor(this.color[0], this.color[1], this.color[2], this.color[3]);\r\n }\r\n if (previousBlend === undefined || previousBlend.equationRgb !== this.equationRgb || previousBlend.equationAlpha !== this.equationAlpha) {\r\n gl.blendEquationSeparate(this.equationRgb, this.equationAlpha);\r\n }\r\n if (previousBlend === undefined || previousBlend.functionSourceRgb !== this.functionSourceRgb || previousBlend.functionSourceAlpha !== this.functionSourceAlpha\r\n || previousBlend.functionDestRgb !== this.functionDestRgb || previousBlend.functionDestAlpha !== this.functionDestAlpha) {\r\n gl.blendFuncSeparate(this.functionSourceRgb, this.functionDestRgb, this.functionSourceAlpha, this.functionDestAlpha);\r\n }\r\n }\r\n\r\n public copyFrom(src: RenderStateBlend): void {\r\n this.setColor(src.color);\r\n this.equationRgb = src.equationRgb;\r\n this.equationAlpha = src.equationAlpha;\r\n this.functionSourceRgb = src.functionSourceRgb;\r\n this.functionSourceAlpha = src.functionSourceAlpha;\r\n this.functionDestRgb = src.functionDestRgb;\r\n this.functionDestAlpha = src.functionDestAlpha;\r\n }\r\n\r\n public clone(result?: RenderStateBlend): RenderStateBlend {\r\n if (!result) {\r\n return new RenderStateBlend(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public equals(rhs: RenderStateBlend): boolean {\r\n return this.equalColors(rhs)\r\n && this.equationRgb === rhs.equationRgb\r\n && this.equationAlpha === rhs.equationAlpha\r\n && this.functionSourceRgb === rhs.functionSourceRgb\r\n && this.functionSourceAlpha === rhs.functionSourceAlpha\r\n && this.functionDestRgb === rhs.functionDestRgb\r\n && this.functionDestAlpha === rhs.functionDestAlpha;\r\n }\r\n\r\n public equalColors(rhs: RenderStateBlend): boolean {\r\n return this.color[0] === rhs.color[0] &&\r\n this.color[1] === rhs.color[1] &&\r\n this.color[2] === rhs.color[2] &&\r\n this.color[3] === rhs.color[3];\r\n }\r\n\r\n public setColor(color: [number, number, number, number]) {\r\n this.color[0] = color[0];\r\n this.color[1] = color[1];\r\n this.color[2] = color[2];\r\n this.color[3] = color[3];\r\n }\r\n\r\n public setBlendFunc(src: GL.BlendFactor, dst: GL.BlendFactor): void {\r\n this.setBlendFuncSeparate(src, src, dst, dst);\r\n }\r\n\r\n public setBlendFuncSeparate(srcRgb: GL.BlendFactor, srcAlpha: GL.BlendFactor, dstRgb: GL.BlendFactor, dstAlpha: GL.BlendFactor): void {\r\n this.functionSourceRgb = srcRgb;\r\n this.functionSourceAlpha = srcAlpha;\r\n this.functionDestRgb = dstRgb;\r\n this.functionDestAlpha = dstAlpha;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class RenderStateStencilOperation {\r\n public fail: GL.StencilOperation = GL.StencilOperation.Default;\r\n public zFail: GL.StencilOperation = GL.StencilOperation.Default;\r\n public zPass: GL.StencilOperation = GL.StencilOperation.Default;\r\n\r\n public constructor(src?: RenderStateStencilOperation) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public copyFrom(src: RenderStateStencilOperation): void {\r\n this.fail = src.fail;\r\n this.zFail = src.zFail;\r\n this.zPass = src.zPass;\r\n }\r\n\r\n public clone(result?: RenderStateStencilOperation): RenderStateStencilOperation {\r\n if (!result) {\r\n return new RenderStateStencilOperation(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public equals(rhs: RenderStateStencilOperation): boolean {\r\n return this.fail === rhs.fail\r\n && this.zFail === rhs.zFail\r\n && this.zPass === rhs.zPass;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class RenderStateStencilFunction {\r\n public function: GL.StencilFunction = GL.StencilFunction.Default;\r\n public ref: number = 0;\r\n public mask: number = 0xFFFFFFFF;\r\n\r\n public constructor(src?: RenderStateStencilFunction) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public copyFrom(src: RenderStateStencilFunction): void {\r\n this.function = src.function;\r\n this.ref = src.ref;\r\n this.mask = src.mask;\r\n }\r\n\r\n public clone(result?: RenderStateStencilFunction): RenderStateStencilFunction {\r\n if (!result) {\r\n return new RenderStateStencilFunction(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public equals(rhs: RenderStateStencilFunction): boolean {\r\n return this.function === rhs.function\r\n && this.ref === rhs.ref\r\n && this.mask === rhs.mask;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class RenderStateStencil {\r\n public frontFunction: RenderStateStencilFunction = new RenderStateStencilFunction();\r\n public backFunction: RenderStateStencilFunction = new RenderStateStencilFunction();\r\n public frontOperation: RenderStateStencilOperation = new RenderStateStencilOperation();\r\n public backOperation: RenderStateStencilOperation = new RenderStateStencilOperation();\r\n\r\n public constructor(src?: RenderStateStencil) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public apply(previousStencil?: RenderStateStencil): void {\r\n const gl = System.instance.context;\r\n if (previousStencil === undefined || !previousStencil.frontFunction.equals(this.frontFunction)) {\r\n gl.stencilFuncSeparate(GL.CullFace.Front, this.frontFunction.function, this.frontFunction.ref, this.frontFunction.mask);\r\n }\r\n if (previousStencil === undefined || !previousStencil.backFunction.equals(this.backFunction)) {\r\n gl.stencilFuncSeparate(GL.CullFace.Back, this.backFunction.function, this.backFunction.ref, this.backFunction.mask);\r\n }\r\n if (previousStencil === undefined || !previousStencil.frontOperation.equals(this.frontOperation)) {\r\n gl.stencilOpSeparate(GL.CullFace.Front, this.frontOperation.fail, this.frontOperation.zFail, this.frontOperation.zPass);\r\n }\r\n if (previousStencil === undefined || !previousStencil.backOperation.equals(this.backOperation)) {\r\n gl.stencilOpSeparate(GL.CullFace.Back, this.backOperation.fail, this.backOperation.zFail, this.backOperation.zPass);\r\n }\r\n }\r\n\r\n public copyFrom(src: RenderStateStencil): void {\r\n this.frontFunction.copyFrom(src.frontFunction);\r\n this.backFunction.copyFrom(src.backFunction);\r\n this.frontOperation.copyFrom(src.frontOperation);\r\n this.backOperation.copyFrom(src.backOperation);\r\n }\r\n\r\n public clone(result?: RenderStateStencil): RenderStateStencil {\r\n if (!result) {\r\n return new RenderStateStencil(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public equals(rhs: RenderStateStencil): boolean {\r\n return this.frontFunction.equals(rhs.frontFunction)\r\n && this.backFunction.equals(rhs.backFunction)\r\n && this.frontOperation.equals(rhs.frontOperation)\r\n && this.backOperation.equals(rhs.backOperation);\r\n }\r\n}\r\n\r\n/** Encapsulates the state of an OpenGL context.\r\n * to modify the context for a rendering operation, do *not* directly call\r\n * functions like glDepthMask(), glBlendFunc(), etc - otherwise such calls may adversely\r\n * affect subsequent rendering operations.\r\n * Instead, set up a RenderState as desired and invoke System.instance.applyRenderState()\r\n * The context tracks the most-recently applied RenderState, allowing it to minimize\r\n * the number of GL state changes actually invoked, improving performance.\r\n * @internal\r\n */\r\nexport class RenderState {\r\n public flags: RenderStateFlags = new RenderStateFlags();\r\n public blend: RenderStateBlend = new RenderStateBlend();\r\n public stencil: RenderStateStencil = new RenderStateStencil();\r\n public frontFace: GL.FrontFace = GL.FrontFace.Default;\r\n public cullFace: GL.CullFace = GL.CullFace.Default;\r\n public depthFunc: GL.DepthFunc = GL.DepthFunc.Default;\r\n public stencilMask: number = 0xFFFFFFFF;\r\n\r\n public constructor(src?: RenderState) {\r\n if (src) {\r\n this.copyFrom(src);\r\n }\r\n }\r\n\r\n public static defaults = new RenderState();\r\n\r\n public copyFrom(src: RenderState): void {\r\n this.flags.copyFrom(src.flags);\r\n this.blend.copyFrom(src.blend);\r\n this.stencil.copyFrom(src.stencil);\r\n this.frontFace = src.frontFace;\r\n this.cullFace = src.cullFace;\r\n this.depthFunc = src.depthFunc;\r\n this.stencilMask = src.stencilMask;\r\n }\r\n\r\n public clone(result?: RenderState): RenderState {\r\n if (!result) {\r\n return new RenderState(this);\r\n } else {\r\n result.copyFrom(this);\r\n return result;\r\n }\r\n }\r\n\r\n public set clockwiseFrontFace(clockwise: boolean) {\r\n this.frontFace = clockwise ? GL.FrontFace.Clockwise : GL.FrontFace.CounterClockwise;\r\n }\r\n\r\n public equals(rhs: RenderState): boolean {\r\n return this.flags.equals(rhs.flags)\r\n && this.blend.equals(rhs.blend)\r\n && this.stencil.equals(rhs.stencil)\r\n && this.frontFace === rhs.frontFace\r\n && this.cullFace === rhs.cullFace\r\n && this.depthFunc === rhs.depthFunc\r\n && this.stencilMask === rhs.stencilMask;\r\n }\r\n\r\n public apply(prevState: RenderState): void {\r\n this.flags.apply(prevState.flags);\r\n\r\n if (this.flags.blend) {\r\n if (prevState.flags.blend)\r\n this.blend.apply(prevState.blend);\r\n else\r\n this.blend.apply();\r\n }\r\n\r\n if (this.flags.cull) {\r\n if (!prevState.flags.cull || prevState.cullFace !== this.cullFace) {\r\n System.instance.context.cullFace(this.cullFace);\r\n }\r\n }\r\n\r\n if (this.flags.depthTest) {\r\n if (!prevState.flags.depthTest || prevState.depthFunc !== this.depthFunc) {\r\n System.instance.context.depthFunc(this.depthFunc);\r\n }\r\n }\r\n\r\n if (this.flags.stencilTest) {\r\n if (prevState.flags.stencilTest)\r\n this.stencil.apply(prevState.stencil);\r\n else\r\n this.stencil.apply();\r\n }\r\n\r\n if (this.frontFace !== prevState.frontFace) {\r\n System.instance.context.frontFace(this.frontFace);\r\n }\r\n\r\n if (this.stencilMask !== prevState.stencilMask) {\r\n System.instance.context.stencilMask(this.stencilMask);\r\n }\r\n }\r\n}\r\n\r\nObject.freeze(RenderState.defaults);\r\n"]}
1
+ {"version":3,"file":"RenderState.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderState.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 { GL } from \"./GL\";\nimport { System } from \"./System\";\n\n/** @internal */\nexport class RenderStateFlags {\n public cull: boolean = false;\n public depthTest: boolean = false;\n public blend: boolean = false;\n public stencilTest: boolean = false;\n public depthMask: boolean = true;\n public colorWrite: boolean = true;\n\n public constructor(src?: RenderStateFlags) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public copyFrom(src: RenderStateFlags): void {\n this.cull = src.cull;\n this.depthTest = src.depthTest;\n this.blend = src.blend;\n this.stencilTest = src.stencilTest;\n this.depthMask = src.depthMask;\n this.colorWrite = src.colorWrite;\n }\n\n public clone(result?: RenderStateFlags): RenderStateFlags {\n if (!result) {\n return new RenderStateFlags(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public equals(rhs: RenderStateFlags): boolean {\n return this.cull === rhs.cull\n && this.depthTest === rhs.depthTest\n && this.blend === rhs.blend\n && this.stencilTest === rhs.stencilTest\n && this.depthMask === rhs.depthMask\n && this.colorWrite === rhs.colorWrite;\n }\n\n public apply(previousFlags: RenderStateFlags): void {\n RenderStateFlags.enableOrDisable(this.cull, GL.Capability.CullFace, previousFlags.cull);\n RenderStateFlags.enableOrDisable(this.depthTest, GL.Capability.DepthTest, previousFlags.depthTest);\n RenderStateFlags.enableOrDisable(this.blend, GL.Capability.Blend, previousFlags.blend);\n RenderStateFlags.enableOrDisable(this.stencilTest, GL.Capability.StencilTest, previousFlags.stencilTest);\n\n if (previousFlags.depthMask !== this.depthMask) {\n System.instance.context.depthMask(this.depthMask);\n }\n\n if (previousFlags.colorWrite !== this.colorWrite) {\n System.instance.context.colorMask(this.colorWrite, this.colorWrite, this.colorWrite, this.colorWrite);\n }\n }\n\n public static enableOrDisable(currentFlag: boolean, value: number, previousFlag: boolean) {\n if (currentFlag !== previousFlag) {\n const gl = System.instance.context;\n if (currentFlag) {\n gl.enable(value);\n } else {\n gl.disable(value);\n }\n }\n }\n}\n\n/** @internal */\nexport class RenderStateBlend {\n public color: [number, number, number, number] = [0.0, 0.0, 0.0, 0.0];\n public equationRgb: GL.BlendEquation = GL.BlendEquation.Default;\n public equationAlpha: GL.BlendEquation = GL.BlendEquation.Default;\n public functionSourceRgb: GL.BlendFactor = GL.BlendFactor.DefaultSrc;\n public functionSourceAlpha: GL.BlendFactor = GL.BlendFactor.DefaultSrc;\n public functionDestRgb: GL.BlendFactor = GL.BlendFactor.DefaultDst;\n public functionDestAlpha: GL.BlendFactor = GL.BlendFactor.DefaultDst;\n\n public constructor(src?: RenderStateBlend) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public apply(previousBlend?: RenderStateBlend): void {\n const gl = System.instance.context;\n\n if (previousBlend === undefined || !this.equalColors(previousBlend)) {\n gl.blendColor(this.color[0], this.color[1], this.color[2], this.color[3]);\n }\n if (previousBlend === undefined || previousBlend.equationRgb !== this.equationRgb || previousBlend.equationAlpha !== this.equationAlpha) {\n gl.blendEquationSeparate(this.equationRgb, this.equationAlpha);\n }\n if (previousBlend === undefined || previousBlend.functionSourceRgb !== this.functionSourceRgb || previousBlend.functionSourceAlpha !== this.functionSourceAlpha\n || previousBlend.functionDestRgb !== this.functionDestRgb || previousBlend.functionDestAlpha !== this.functionDestAlpha) {\n gl.blendFuncSeparate(this.functionSourceRgb, this.functionDestRgb, this.functionSourceAlpha, this.functionDestAlpha);\n }\n }\n\n public copyFrom(src: RenderStateBlend): void {\n this.setColor(src.color);\n this.equationRgb = src.equationRgb;\n this.equationAlpha = src.equationAlpha;\n this.functionSourceRgb = src.functionSourceRgb;\n this.functionSourceAlpha = src.functionSourceAlpha;\n this.functionDestRgb = src.functionDestRgb;\n this.functionDestAlpha = src.functionDestAlpha;\n }\n\n public clone(result?: RenderStateBlend): RenderStateBlend {\n if (!result) {\n return new RenderStateBlend(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public equals(rhs: RenderStateBlend): boolean {\n return this.equalColors(rhs)\n && this.equationRgb === rhs.equationRgb\n && this.equationAlpha === rhs.equationAlpha\n && this.functionSourceRgb === rhs.functionSourceRgb\n && this.functionSourceAlpha === rhs.functionSourceAlpha\n && this.functionDestRgb === rhs.functionDestRgb\n && this.functionDestAlpha === rhs.functionDestAlpha;\n }\n\n public equalColors(rhs: RenderStateBlend): boolean {\n return this.color[0] === rhs.color[0] &&\n this.color[1] === rhs.color[1] &&\n this.color[2] === rhs.color[2] &&\n this.color[3] === rhs.color[3];\n }\n\n public setColor(color: [number, number, number, number]) {\n this.color[0] = color[0];\n this.color[1] = color[1];\n this.color[2] = color[2];\n this.color[3] = color[3];\n }\n\n public setBlendFunc(src: GL.BlendFactor, dst: GL.BlendFactor): void {\n this.setBlendFuncSeparate(src, src, dst, dst);\n }\n\n public setBlendFuncSeparate(srcRgb: GL.BlendFactor, srcAlpha: GL.BlendFactor, dstRgb: GL.BlendFactor, dstAlpha: GL.BlendFactor): void {\n this.functionSourceRgb = srcRgb;\n this.functionSourceAlpha = srcAlpha;\n this.functionDestRgb = dstRgb;\n this.functionDestAlpha = dstAlpha;\n }\n}\n\n/** @internal */\nexport class RenderStateStencilOperation {\n public fail: GL.StencilOperation = GL.StencilOperation.Default;\n public zFail: GL.StencilOperation = GL.StencilOperation.Default;\n public zPass: GL.StencilOperation = GL.StencilOperation.Default;\n\n public constructor(src?: RenderStateStencilOperation) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public copyFrom(src: RenderStateStencilOperation): void {\n this.fail = src.fail;\n this.zFail = src.zFail;\n this.zPass = src.zPass;\n }\n\n public clone(result?: RenderStateStencilOperation): RenderStateStencilOperation {\n if (!result) {\n return new RenderStateStencilOperation(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public equals(rhs: RenderStateStencilOperation): boolean {\n return this.fail === rhs.fail\n && this.zFail === rhs.zFail\n && this.zPass === rhs.zPass;\n }\n}\n\n/** @internal */\nexport class RenderStateStencilFunction {\n public function: GL.StencilFunction = GL.StencilFunction.Default;\n public ref: number = 0;\n public mask: number = 0xFFFFFFFF;\n\n public constructor(src?: RenderStateStencilFunction) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public copyFrom(src: RenderStateStencilFunction): void {\n this.function = src.function;\n this.ref = src.ref;\n this.mask = src.mask;\n }\n\n public clone(result?: RenderStateStencilFunction): RenderStateStencilFunction {\n if (!result) {\n return new RenderStateStencilFunction(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public equals(rhs: RenderStateStencilFunction): boolean {\n return this.function === rhs.function\n && this.ref === rhs.ref\n && this.mask === rhs.mask;\n }\n}\n\n/** @internal */\nexport class RenderStateStencil {\n public frontFunction: RenderStateStencilFunction = new RenderStateStencilFunction();\n public backFunction: RenderStateStencilFunction = new RenderStateStencilFunction();\n public frontOperation: RenderStateStencilOperation = new RenderStateStencilOperation();\n public backOperation: RenderStateStencilOperation = new RenderStateStencilOperation();\n\n public constructor(src?: RenderStateStencil) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public apply(previousStencil?: RenderStateStencil): void {\n const gl = System.instance.context;\n if (previousStencil === undefined || !previousStencil.frontFunction.equals(this.frontFunction)) {\n gl.stencilFuncSeparate(GL.CullFace.Front, this.frontFunction.function, this.frontFunction.ref, this.frontFunction.mask);\n }\n if (previousStencil === undefined || !previousStencil.backFunction.equals(this.backFunction)) {\n gl.stencilFuncSeparate(GL.CullFace.Back, this.backFunction.function, this.backFunction.ref, this.backFunction.mask);\n }\n if (previousStencil === undefined || !previousStencil.frontOperation.equals(this.frontOperation)) {\n gl.stencilOpSeparate(GL.CullFace.Front, this.frontOperation.fail, this.frontOperation.zFail, this.frontOperation.zPass);\n }\n if (previousStencil === undefined || !previousStencil.backOperation.equals(this.backOperation)) {\n gl.stencilOpSeparate(GL.CullFace.Back, this.backOperation.fail, this.backOperation.zFail, this.backOperation.zPass);\n }\n }\n\n public copyFrom(src: RenderStateStencil): void {\n this.frontFunction.copyFrom(src.frontFunction);\n this.backFunction.copyFrom(src.backFunction);\n this.frontOperation.copyFrom(src.frontOperation);\n this.backOperation.copyFrom(src.backOperation);\n }\n\n public clone(result?: RenderStateStencil): RenderStateStencil {\n if (!result) {\n return new RenderStateStencil(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public equals(rhs: RenderStateStencil): boolean {\n return this.frontFunction.equals(rhs.frontFunction)\n && this.backFunction.equals(rhs.backFunction)\n && this.frontOperation.equals(rhs.frontOperation)\n && this.backOperation.equals(rhs.backOperation);\n }\n}\n\n/** Encapsulates the state of an OpenGL context.\n * to modify the context for a rendering operation, do *not* directly call\n * functions like glDepthMask(), glBlendFunc(), etc - otherwise such calls may adversely\n * affect subsequent rendering operations.\n * Instead, set up a RenderState as desired and invoke System.instance.applyRenderState()\n * The context tracks the most-recently applied RenderState, allowing it to minimize\n * the number of GL state changes actually invoked, improving performance.\n * @internal\n */\nexport class RenderState {\n public flags: RenderStateFlags = new RenderStateFlags();\n public blend: RenderStateBlend = new RenderStateBlend();\n public stencil: RenderStateStencil = new RenderStateStencil();\n public frontFace: GL.FrontFace = GL.FrontFace.Default;\n public cullFace: GL.CullFace = GL.CullFace.Default;\n public depthFunc: GL.DepthFunc = GL.DepthFunc.Default;\n public stencilMask: number = 0xFFFFFFFF;\n\n public constructor(src?: RenderState) {\n if (src) {\n this.copyFrom(src);\n }\n }\n\n public static defaults = new RenderState();\n\n public copyFrom(src: RenderState): void {\n this.flags.copyFrom(src.flags);\n this.blend.copyFrom(src.blend);\n this.stencil.copyFrom(src.stencil);\n this.frontFace = src.frontFace;\n this.cullFace = src.cullFace;\n this.depthFunc = src.depthFunc;\n this.stencilMask = src.stencilMask;\n }\n\n public clone(result?: RenderState): RenderState {\n if (!result) {\n return new RenderState(this);\n } else {\n result.copyFrom(this);\n return result;\n }\n }\n\n public set clockwiseFrontFace(clockwise: boolean) {\n this.frontFace = clockwise ? GL.FrontFace.Clockwise : GL.FrontFace.CounterClockwise;\n }\n\n public equals(rhs: RenderState): boolean {\n return this.flags.equals(rhs.flags)\n && this.blend.equals(rhs.blend)\n && this.stencil.equals(rhs.stencil)\n && this.frontFace === rhs.frontFace\n && this.cullFace === rhs.cullFace\n && this.depthFunc === rhs.depthFunc\n && this.stencilMask === rhs.stencilMask;\n }\n\n public apply(prevState: RenderState): void {\n this.flags.apply(prevState.flags);\n\n if (this.flags.blend) {\n if (prevState.flags.blend)\n this.blend.apply(prevState.blend);\n else\n this.blend.apply();\n }\n\n if (this.flags.cull) {\n if (!prevState.flags.cull || prevState.cullFace !== this.cullFace) {\n System.instance.context.cullFace(this.cullFace);\n }\n }\n\n if (this.flags.depthTest) {\n if (!prevState.flags.depthTest || prevState.depthFunc !== this.depthFunc) {\n System.instance.context.depthFunc(this.depthFunc);\n }\n }\n\n if (this.flags.stencilTest) {\n if (prevState.flags.stencilTest)\n this.stencil.apply(prevState.stencil);\n else\n this.stencil.apply();\n }\n\n if (this.frontFace !== prevState.frontFace) {\n System.instance.context.frontFace(this.frontFace);\n }\n\n if (this.stencilMask !== prevState.stencilMask) {\n System.instance.context.stencilMask(this.stencilMask);\n }\n }\n}\n\nObject.freeze(RenderState.defaults);\n"]}