@onerjs/core 9.0.1 → 9.0.3

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 (476) hide show
  1. package/Animations/animationGroup.pure.js.map +1 -1
  2. package/Buffers/buffer.pure.js +4 -0
  3. package/Buffers/buffer.pure.js.map +1 -1
  4. package/Cameras/camera.pure.d.ts +14 -0
  5. package/Cameras/camera.pure.js +15 -0
  6. package/Cameras/camera.pure.js.map +1 -1
  7. package/Compute/computeShader.pure.d.ts +2 -1
  8. package/Compute/computeShader.pure.js +29 -10
  9. package/Compute/computeShader.pure.js.map +1 -1
  10. package/Culling/ray.core.js +22 -9
  11. package/Culling/ray.core.js.map +1 -1
  12. package/Engines/IDrawContext.d.ts +2 -0
  13. package/Engines/IDrawContext.js.map +1 -1
  14. package/Engines/Native/nativeInterfaces.d.ts +55 -4
  15. package/Engines/Native/nativeInterfaces.js.map +1 -1
  16. package/Engines/Native/nativeRenderTargetWrapper.d.ts +1 -0
  17. package/Engines/Native/nativeRenderTargetWrapper.js +5 -1
  18. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  19. package/Engines/Processors/shaderCodeInliner.d.ts +2 -0
  20. package/Engines/Processors/shaderCodeInliner.js +251 -6
  21. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  22. package/Engines/Processors/shaderProcessor.js +10 -1
  23. package/Engines/Processors/shaderProcessor.js.map +1 -1
  24. package/Engines/WebGPU/Extensions/engine.debugging.pure.js +12 -0
  25. package/Engines/WebGPU/Extensions/engine.debugging.pure.js.map +1 -1
  26. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js +0 -1
  27. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js.map +1 -1
  28. package/Engines/WebGPU/Extensions/engine.query.pure.js +5 -0
  29. package/Engines/WebGPU/Extensions/engine.query.pure.js.map +1 -1
  30. package/Engines/WebGPU/webgpuBufferManager.js +7 -0
  31. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  32. package/Engines/WebGPU/webgpuCacheTextureView.d.ts +1 -1
  33. package/Engines/WebGPU/webgpuCacheTextureView.js +20 -8
  34. package/Engines/WebGPU/webgpuCacheTextureView.js.map +1 -1
  35. package/Engines/WebGPU/webgpuDrawContext.d.ts +2 -0
  36. package/Engines/WebGPU/webgpuDrawContext.js +6 -0
  37. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  38. package/Engines/WebGPU/webgpuQuerySet.d.ts +3 -3
  39. package/Engines/WebGPU/webgpuQuerySet.js +23 -9
  40. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  41. package/Engines/WebGPU/webgpuRenderPassCommandStream.d.ts +156 -0
  42. package/Engines/WebGPU/webgpuRenderPassCommandStream.js +323 -0
  43. package/Engines/WebGPU/webgpuRenderPassCommandStream.js.map +1 -0
  44. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -1
  45. package/Engines/WebGPU/webgpuTextureManager.js +4 -3
  46. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  47. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +3 -1
  48. package/Engines/WebGPU/webgpuTimestampQuery.js +9 -6
  49. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  50. package/Engines/abstractEngine.pure.d.ts +2 -0
  51. package/Engines/abstractEngine.pure.js +14 -5
  52. package/Engines/abstractEngine.pure.js.map +1 -1
  53. package/Engines/constants.d.ts +6 -0
  54. package/Engines/constants.js +6 -0
  55. package/Engines/constants.js.map +1 -1
  56. package/Engines/engine.d.ts +198 -24
  57. package/Engines/pure.d.ts +1 -0
  58. package/Engines/pure.js +1 -0
  59. package/Engines/pure.js.map +1 -1
  60. package/Engines/renderCommandBatcher.pure.d.ts +16 -0
  61. package/Engines/renderCommandBatcher.pure.js +24 -0
  62. package/Engines/renderCommandBatcher.pure.js.map +1 -0
  63. package/Engines/thinEngine.functions.js +3 -2
  64. package/Engines/thinEngine.functions.js.map +1 -1
  65. package/Engines/thinEngine.pure.js +18 -2
  66. package/Engines/thinEngine.pure.js.map +1 -1
  67. package/Engines/thinNativeEngine.pure.d.ts +10 -7
  68. package/Engines/thinNativeEngine.pure.js +117 -46
  69. package/Engines/thinNativeEngine.pure.js.map +1 -1
  70. package/Engines/thinWebGPUEngine.d.ts +8 -0
  71. package/Engines/thinWebGPUEngine.js +11 -0
  72. package/Engines/thinWebGPUEngine.js.map +1 -1
  73. package/Engines/webgpuEngine.pure.d.ts +60 -1
  74. package/Engines/webgpuEngine.pure.js +238 -42
  75. package/Engines/webgpuEngine.pure.js.map +1 -1
  76. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.d.ts +3 -3
  77. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js +2 -1
  78. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js.map +1 -1
  79. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.d.ts +3 -3
  80. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js +2 -1
  81. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js.map +1 -1
  82. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.d.ts +5 -0
  83. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js +8 -0
  84. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js.map +1 -0
  85. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.d.ts +77 -0
  86. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js +141 -0
  87. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js.map +1 -0
  88. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.d.ts +5 -3
  89. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js +38 -7
  90. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js.map +1 -1
  91. package/FlowGraph/Blocks/Event/index.d.ts +1 -0
  92. package/FlowGraph/Blocks/Event/index.js +1 -0
  93. package/FlowGraph/Blocks/Event/index.js.map +1 -1
  94. package/FlowGraph/Blocks/Event/pure.d.ts +1 -0
  95. package/FlowGraph/Blocks/Event/pure.js +1 -0
  96. package/FlowGraph/Blocks/Event/pure.js.map +1 -1
  97. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.d.ts +3 -3
  98. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js +2 -1
  99. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js.map +1 -1
  100. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.d.ts +3 -3
  101. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js +2 -1
  102. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js.map +1 -1
  103. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.d.ts +3 -3
  104. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js +2 -1
  105. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js.map +1 -1
  106. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.d.ts +3 -3
  107. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js +2 -1
  108. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js.map +1 -1
  109. package/FlowGraph/Blocks/allBlocks.pure.js +2 -0
  110. package/FlowGraph/Blocks/allBlocks.pure.js.map +1 -1
  111. package/FlowGraph/Blocks/flowGraphBlockFactory.js +2 -0
  112. package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -1
  113. package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +1 -0
  114. package/FlowGraph/Blocks/flowGraphBlockNames.js +1 -0
  115. package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -1
  116. package/FlowGraph/flowGraph.d.ts +12 -1
  117. package/FlowGraph/flowGraph.js +38 -0
  118. package/FlowGraph/flowGraph.js.map +1 -1
  119. package/FlowGraph/flowGraphCoordinator.d.ts +44 -0
  120. package/FlowGraph/flowGraphCoordinator.js +141 -0
  121. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  122. package/FlowGraph/flowGraphDataConnection.pure.js +41 -14
  123. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  124. package/FlowGraph/flowGraphParser.js +105 -5
  125. package/FlowGraph/flowGraphParser.js.map +1 -1
  126. package/FlowGraph/flowGraphSoundAssets.d.ts +40 -0
  127. package/FlowGraph/flowGraphSoundAssets.js +33 -0
  128. package/FlowGraph/flowGraphSoundAssets.js.map +1 -0
  129. package/FlowGraph/index.d.ts +1 -0
  130. package/FlowGraph/index.js +1 -0
  131. package/FlowGraph/index.js.map +1 -1
  132. package/FlowGraph/pure.d.ts +1 -0
  133. package/FlowGraph/pure.js +1 -0
  134. package/FlowGraph/pure.js.map +1 -1
  135. package/FlowGraph/serialization.d.ts +8 -0
  136. package/FlowGraph/serialization.js +31 -12
  137. package/FlowGraph/serialization.js.map +1 -1
  138. package/FlowGraph/typeDefinitions.d.ts +25 -0
  139. package/FlowGraph/typeDefinitions.js.map +1 -1
  140. package/FrameGraph/Tasks/PostProcesses/taaTask.js +2 -0
  141. package/FrameGraph/Tasks/PostProcesses/taaTask.js.map +1 -1
  142. package/Instrumentation/engineInstrumentation.d.ts +1 -0
  143. package/Instrumentation/engineInstrumentation.js +25 -6
  144. package/Instrumentation/engineInstrumentation.js.map +1 -1
  145. package/Lights/Clustered/clusteredLightContainer.pure.js +2 -0
  146. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  147. package/Lights/Shadows/cascadedShadowGenerator.pure.d.ts +36 -1
  148. package/Lights/Shadows/cascadedShadowGenerator.pure.js +202 -27
  149. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -1
  150. package/Lights/directionalLight.pure.d.ts +24 -10
  151. package/Lights/directionalLight.pure.js +29 -11
  152. package/Lights/directionalLight.pure.js.map +1 -1
  153. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +4 -4
  154. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  155. package/Materials/Node/Blocks/Dual/lightBlock.pure.js +1 -1
  156. package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
  157. package/Materials/Node/Blocks/Input/inputBlock.pure.js +4 -0
  158. package/Materials/Node/Blocks/Input/inputBlock.pure.js.map +1 -1
  159. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.d.ts +9 -0
  160. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +23 -3
  161. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
  162. package/Materials/PBR/openpbrMaterial.pure.js +1 -1
  163. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  164. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +9 -0
  165. package/Materials/PBR/pbrBaseMaterial.pure.js +60 -1
  166. package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
  167. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +11 -0
  168. package/Materials/PBR/pbrBaseSimpleMaterial.js +21 -2
  169. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  170. package/Materials/PBR/pbrMaterial.pure.d.ts +12 -0
  171. package/Materials/PBR/pbrMaterial.pure.js +23 -3
  172. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  173. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +1 -0
  174. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js +10 -0
  175. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js.map +1 -1
  176. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +5 -0
  177. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +7 -0
  178. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -1
  179. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +9 -3
  180. package/Materials/Textures/HTML/htmlInteractionManager.js +64 -5
  181. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -1
  182. package/Materials/Textures/HTML/htmlTexture.d.ts +11 -11
  183. package/Materials/Textures/HTML/htmlTexture.js +106 -65
  184. package/Materials/Textures/HTML/htmlTexture.js.map +1 -1
  185. package/Materials/Textures/Loaders/internalTextureLoader.d.ts +2 -1
  186. package/Materials/Textures/Loaders/internalTextureLoader.js.map +1 -1
  187. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +2 -1
  188. package/Materials/Textures/Loaders/ktxTextureLoader.js +4 -50
  189. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  190. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +10 -0
  191. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  192. package/Materials/Textures/dynamicTexture.pure.js +6 -0
  193. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  194. package/Materials/Textures/ktx2encoderTypes.d.ts +51 -0
  195. package/Materials/Textures/ktx2encoderTypes.js +2 -0
  196. package/Materials/Textures/ktx2encoderTypes.js.map +1 -0
  197. package/Materials/Textures/renderTargetTexture.pure.js +10 -2
  198. package/Materials/Textures/renderTargetTexture.pure.js.map +1 -1
  199. package/Materials/Textures/texture.pure.js +7 -1
  200. package/Materials/Textures/texture.pure.js.map +1 -1
  201. package/Materials/Textures/textureMerger.d.ts +11 -0
  202. package/Materials/Textures/textureMerger.js +34 -19
  203. package/Materials/Textures/textureMerger.js.map +1 -1
  204. package/Materials/Textures/textureProcessor.d.ts +145 -0
  205. package/Materials/Textures/textureProcessor.js +445 -45
  206. package/Materials/Textures/textureProcessor.js.map +1 -1
  207. package/Materials/Textures/textureSampling.functions.d.ts +41 -0
  208. package/Materials/Textures/textureSampling.functions.js +82 -0
  209. package/Materials/Textures/textureSampling.functions.js.map +1 -0
  210. package/Materials/drawWrapper.d.ts +8 -0
  211. package/Materials/drawWrapper.js +19 -0
  212. package/Materials/drawWrapper.js.map +1 -1
  213. package/Materials/effect.pure.d.ts +6 -0
  214. package/Materials/effect.pure.js +28 -6
  215. package/Materials/effect.pure.js.map +1 -1
  216. package/Materials/effect.webgl.functions.pure.js +1 -1
  217. package/Materials/effect.webgl.functions.pure.js.map +1 -1
  218. package/Materials/material.pure.d.ts +5 -0
  219. package/Materials/material.pure.js +9 -2
  220. package/Materials/material.pure.js.map +1 -1
  221. package/Materials/materialFlags.d.ts +6 -0
  222. package/Materials/materialFlags.js +14 -0
  223. package/Materials/materialFlags.js.map +1 -1
  224. package/Materials/materialHelper.functions.d.ts +2 -1
  225. package/Materials/materialHelper.functions.js +36 -2
  226. package/Materials/materialHelper.functions.js.map +1 -1
  227. package/Materials/materialHelper.geometryrendering.js +19 -16
  228. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  229. package/Materials/materialPluginManager.pure.js +12 -8
  230. package/Materials/materialPluginManager.pure.js.map +1 -1
  231. package/Materials/prePassConfiguration.js +19 -16
  232. package/Materials/prePassConfiguration.js.map +1 -1
  233. package/Materials/shaderMaterial.pure.js +19 -6
  234. package/Materials/shaderMaterial.pure.js.map +1 -1
  235. package/Materials/shadowDepthWrapper.d.ts +6 -0
  236. package/Materials/shadowDepthWrapper.js +17 -0
  237. package/Materials/shadowDepthWrapper.js.map +1 -1
  238. package/Meshes/Compression/dracoCodec.d.ts +14 -0
  239. package/Meshes/Compression/dracoCodec.js +22 -0
  240. package/Meshes/Compression/dracoCodec.js.map +1 -1
  241. package/Meshes/Compression/dracoDecoder.d.ts +1 -0
  242. package/Meshes/Compression/dracoDecoder.js +27 -0
  243. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  244. package/Meshes/Compression/dracoEncoder.d.ts +1 -0
  245. package/Meshes/Compression/dracoEncoder.js +8 -0
  246. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  247. package/Meshes/Compression/meshoptCompression.d.ts +1 -0
  248. package/Meshes/Compression/meshoptCompression.js +9 -0
  249. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  250. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.d.ts +415 -0
  251. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js +912 -0
  252. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js.map +1 -0
  253. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +3 -0
  254. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +40 -9
  255. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  256. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +112 -8
  257. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +696 -74
  258. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  259. package/Meshes/abstractMesh.pure.js +12 -4
  260. package/Meshes/abstractMesh.pure.js.map +1 -1
  261. package/Meshes/geometry.d.ts +5 -0
  262. package/Meshes/geometry.js +25 -0
  263. package/Meshes/geometry.js.map +1 -1
  264. package/Meshes/index.d.ts +1 -0
  265. package/Meshes/index.js +1 -0
  266. package/Meshes/index.js.map +1 -1
  267. package/Meshes/mesh.pure.d.ts +7 -0
  268. package/Meshes/mesh.pure.js +18 -13
  269. package/Meshes/mesh.pure.js.map +1 -1
  270. package/Meshes/pure.d.ts +1 -0
  271. package/Meshes/pure.js +1 -0
  272. package/Meshes/pure.js.map +1 -1
  273. package/Meshes/subMesh.pure.d.ts +3 -0
  274. package/Meshes/subMesh.pure.js +26 -0
  275. package/Meshes/subMesh.pure.js.map +1 -1
  276. package/Meshes/thinInstanceMesh.pure.js +5 -3
  277. package/Meshes/thinInstanceMesh.pure.js.map +1 -1
  278. package/Misc/index.d.ts +1 -0
  279. package/Misc/index.js +1 -0
  280. package/Misc/index.js.map +1 -1
  281. package/Misc/khronosTextureContainer2.d.ts +3 -2
  282. package/Misc/khronosTextureContainer2.js +24 -6
  283. package/Misc/khronosTextureContainer2.js.map +1 -1
  284. package/Misc/khronosTextureContainer2Encoder.d.ts +166 -0
  285. package/Misc/khronosTextureContainer2Encoder.js +556 -0
  286. package/Misc/khronosTextureContainer2Encoder.js.map +1 -0
  287. package/Misc/khronosTextureContainer2EncoderWorker.d.ts +61 -0
  288. package/Misc/khronosTextureContainer2EncoderWorker.js +55 -0
  289. package/Misc/khronosTextureContainer2EncoderWorker.js.map +1 -0
  290. package/Misc/pure.d.ts +1 -0
  291. package/Misc/pure.js +1 -0
  292. package/Misc/pure.js.map +1 -1
  293. package/Misc/textureFormat.functions.d.ts +6 -0
  294. package/Misc/textureFormat.functions.js +54 -0
  295. package/Misc/textureFormat.functions.js.map +1 -0
  296. package/Misc/textureTools.d.ts +6 -2
  297. package/Misc/textureTools.js +100 -42
  298. package/Misc/textureTools.js.map +1 -1
  299. package/Misc/tools.pure.js +1 -1
  300. package/Misc/tools.pure.js.map +1 -1
  301. package/Particles/Node/Blocks/systemBlock.pure.d.ts +1 -1
  302. package/Particles/Node/Blocks/systemBlock.pure.js +6 -3
  303. package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
  304. package/Particles/computeShaderParticleSystem.pure.js +5 -0
  305. package/Particles/computeShaderParticleSystem.pure.js.map +1 -1
  306. package/Particles/gpuParticleSystem.pure.d.ts +2 -0
  307. package/Particles/gpuParticleSystem.pure.js +25 -1
  308. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  309. package/Particles/solidParticle.d.ts +5 -0
  310. package/Particles/solidParticle.js +5 -0
  311. package/Particles/solidParticle.js.map +1 -1
  312. package/Particles/solidParticleSystem.d.ts +10 -0
  313. package/Particles/solidParticleSystem.js +72 -13
  314. package/Particles/solidParticleSystem.js.map +1 -1
  315. package/Particles/thinParticleSystem.pure.js +4 -0
  316. package/Particles/thinParticleSystem.pure.js.map +1 -1
  317. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.d.ts +27 -6
  318. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js +60 -5
  319. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js.map +1 -1
  320. package/PostProcesses/thinTAAPostProcess.d.ts +1 -0
  321. package/PostProcesses/thinTAAPostProcess.js +17 -1
  322. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  323. package/PostProcesses/volumetricLightScatteringPostProcess.pure.d.ts +2 -1
  324. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +6 -5
  325. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  326. package/Rendering/boundingBoxRenderer.pure.js +2 -3
  327. package/Rendering/boundingBoxRenderer.pure.js.map +1 -1
  328. package/Rendering/geometryBufferRenderer.pure.js +8 -2
  329. package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
  330. package/Rendering/objectRenderer.d.ts +1 -0
  331. package/Rendering/objectRenderer.js +14 -0
  332. package/Rendering/objectRenderer.js.map +1 -1
  333. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  334. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  335. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  336. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  337. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  338. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  339. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +5 -1
  340. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  341. package/Shaders/ShadersInclude/helperFunctions.js +2 -2
  342. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  343. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  344. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  345. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +6 -0
  346. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  347. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  348. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  349. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  350. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  351. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  352. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  353. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  354. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  355. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +7 -1
  356. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  357. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  358. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  359. package/Shaders/ShadersInclude/pbrIBLFunctions.js +12 -0
  360. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  361. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  362. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  363. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +3 -0
  364. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  365. package/Shaders/geometry.vertex.js +6 -6
  366. package/Shaders/geometry.vertex.js.map +1 -1
  367. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  368. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  369. package/Shaders/lod.fragment.js +15 -2
  370. package/Shaders/lod.fragment.js.map +1 -1
  371. package/Shaders/lod3D.fragment.js +15 -2
  372. package/Shaders/lod3D.fragment.js.map +1 -1
  373. package/Shaders/lodCube.fragment.js +15 -2
  374. package/Shaders/lodCube.fragment.js.map +1 -1
  375. package/Shaders/openpbr.vertex.js +2 -0
  376. package/Shaders/openpbr.vertex.js.map +1 -1
  377. package/Shaders/pbr.fragment.js +12 -1
  378. package/Shaders/pbr.fragment.js.map +1 -1
  379. package/Shaders/pbr.vertex.js +2 -0
  380. package/Shaders/pbr.vertex.js.map +1 -1
  381. package/Shaders/textureMerger.fragment.js +28 -0
  382. package/Shaders/textureMerger.fragment.js.map +1 -1
  383. package/Shaders/textureProcessor.fragment.js +26 -4
  384. package/Shaders/textureProcessor.fragment.js.map +1 -1
  385. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  386. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  387. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  388. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  389. package/ShadersWGSL/ShadersInclude/bumpVertex.js +1 -1
  390. package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -1
  391. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +1 -1
  392. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  393. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +1 -1
  394. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  395. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  396. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  397. package/ShadersWGSL/ShadersInclude/lightFragment.js +44 -2
  398. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  399. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +17 -3
  400. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  401. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +12 -1
  402. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  403. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  404. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  405. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  406. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  407. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  408. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  409. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  410. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  411. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  412. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  413. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  414. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  415. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  416. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  417. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +8 -0
  418. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  419. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  420. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  421. package/ShadersWGSL/ShadersInclude/prePassVertex.js +2 -2
  422. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
  423. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +1 -1
  424. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  425. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +3 -1
  426. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  427. package/ShadersWGSL/ShadersInclude/shadowsVertex.js +16 -0
  428. package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
  429. package/ShadersWGSL/default.fragment.js +4 -4
  430. package/ShadersWGSL/default.fragment.js.map +1 -1
  431. package/ShadersWGSL/default.vertex.js +1 -1
  432. package/ShadersWGSL/default.vertex.js.map +1 -1
  433. package/ShadersWGSL/gaussianSplatting.vertex.js +3 -3
  434. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  435. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  436. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  437. package/ShadersWGSL/gsSortCount.compute.d.ts +5 -0
  438. package/ShadersWGSL/gsSortCount.compute.js +19 -0
  439. package/ShadersWGSL/gsSortCount.compute.js.map +1 -0
  440. package/ShadersWGSL/gsSortKeys.compute.d.ts +5 -0
  441. package/ShadersWGSL/gsSortKeys.compute.js +49 -0
  442. package/ShadersWGSL/gsSortKeys.compute.js.map +1 -0
  443. package/ShadersWGSL/gsSortOutput.compute.d.ts +5 -0
  444. package/ShadersWGSL/gsSortOutput.compute.js +28 -0
  445. package/ShadersWGSL/gsSortOutput.compute.js.map +1 -0
  446. package/ShadersWGSL/gsSortScanLocal.compute.d.ts +5 -0
  447. package/ShadersWGSL/gsSortScanLocal.compute.js +23 -0
  448. package/ShadersWGSL/gsSortScanLocal.compute.js.map +1 -0
  449. package/ShadersWGSL/gsSortScanSums.compute.d.ts +5 -0
  450. package/ShadersWGSL/gsSortScanSums.compute.js +19 -0
  451. package/ShadersWGSL/gsSortScanSums.compute.js.map +1 -0
  452. package/ShadersWGSL/gsSortScatter.compute.d.ts +5 -0
  453. package/ShadersWGSL/gsSortScatter.compute.js +33 -0
  454. package/ShadersWGSL/gsSortScatter.compute.js.map +1 -0
  455. package/ShadersWGSL/lod.fragment.js +14 -2
  456. package/ShadersWGSL/lod.fragment.js.map +1 -1
  457. package/ShadersWGSL/lod3D.fragment.js +14 -2
  458. package/ShadersWGSL/lod3D.fragment.js.map +1 -1
  459. package/ShadersWGSL/lodCube.fragment.js +14 -2
  460. package/ShadersWGSL/lodCube.fragment.js.map +1 -1
  461. package/ShadersWGSL/openpbr.vertex.js +3 -1
  462. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  463. package/ShadersWGSL/pbr.fragment.js +11 -0
  464. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  465. package/ShadersWGSL/pbr.vertex.js +3 -1
  466. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  467. package/ShadersWGSL/textureMerger.fragment.js +40 -4
  468. package/ShadersWGSL/textureMerger.fragment.js.map +1 -1
  469. package/ShadersWGSL/textureProcessor.fragment.js +26 -4
  470. package/ShadersWGSL/textureProcessor.fragment.js.map +1 -1
  471. package/Sprites/spriteRenderer.js +15 -5
  472. package/Sprites/spriteRenderer.js.map +1 -1
  473. package/package.json +1 -1
  474. package/scene.pure.d.ts +23 -1
  475. package/scene.pure.js +83 -1
  476. package/scene.pure.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"effect.webgl.functions.pure.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/effect.webgl.functions.pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAG7D,OAAO,EAAmC,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAE1H,OAAO,EAAE,oCAAoC,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEpL,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;GAQG;AACH,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,OAAmC,EACnC,OAAuD,EACvD,iCAAwF,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EACjI,mCAAiG,uBAAuB;IAExH,oCAAoC;IACpC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,+BAAuB,CAAC;IAC/D,8CAA8C;IAC9C,+EAA+E;IAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACT,SAAS,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;gBAClG,MAAM;YACV,KAAK,QAAQ,CAAC;YACd;gBACI,qFAAqF;gBACrF,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBACxC,MAAM;QACd,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAQ,OAAO,CAAC,mBAAmB,CAAC;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC;IACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC;IAC7E,MAAM,aAAa,GAAG,iBAAiB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrH,sDAAsD;IACtD,MAAM,gBAAgB,GAAwB;QAC1C,OAAO;QACP,eAAe,EAAE,SAAS;QAC1B,UAAU,EAAE,KAAK;QACjB,4BAA4B,EAAE,IAAI;QAClC,SAAS;QACT,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAC7D,oBAAoB,EAAE,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC;QACnE,OAAO,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QAClD,YAAY;QACZ,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,KAAK;QAC5B,GAAG,OAAO,CAAC,yBAAyB;KACvC,CAAC;IACF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,CAAC;YACD,kBAAkB,CACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,UAAU,EAAE,YAAY;gBAC9B,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,+BAA+B,CAC5C;wBACI,IAAI,EAAE,GAAG;wBACT,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,YAAY;wBACtB,OAAO;wBACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBACnD,uBAAuB,EAAE,OAAO,CAAC,yBAAyB,EAAE,iBAAiB,IAAI,IAAI;wBACrF,yBAAyB,EAAE,IAAI;wBAC/B,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;wBAC9D,GAAG,OAAO,CAAC,6BAA6B;qBAC3C,EACD,8BAA8B,EAC9B,uBAAuB,EACvB,oCAAoC,CACvC,CAAC;oBACF,mGAAmG;oBACnG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAC/C,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,kBAAkB,CACd,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAClD,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EACvB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAC5E,CAAC;oBACN,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,2EAA2E;oBAC3E,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,EACD,QAAQ,CACX,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,2EAA2E;YAC3E,MAAM,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport { type AbstractEngine } from \"core/Engines/abstractEngine.pure\";\r\nimport { type IPipelineGenerationOptions, _ProcessShaderCode, createAndPreparePipelineContext } from \"./effect.functions\";\r\nimport { type IPipelineContext } from \"core/Engines/IPipelineContext\";\r\nimport { _executeWhenRenderingStateIsCompiled, _isRenderingStateCompiled, _preparePipelineContext, createPipelineContext, getStateObject } from \"core/Engines/thinEngine.functions\";\r\nimport { ShaderLanguage } from \"./shaderLanguage\";\r\nimport { _GetGlobalDefines } from \"core/Engines/abstractEngine.functions\";\r\nimport { type _IProcessingOptions } from \"core/Engines/Processors/shaderProcessingOptions\";\r\nimport { ShaderStore } from \"core/Engines/shaderStore\";\r\nimport { WebGL2ShaderProcessor } from \"core/Engines/WebGL/webGL2ShaderProcessors\";\r\nimport { _RetryWithInterval } from \"core/Misc/timingTools\";\r\n\r\n/**\r\n * Generate a pipeline context from the provided options\r\n * Note - at the moment only WebGL is supported\r\n * @param options the options to be used when generating the pipeline\r\n * @param context the context to be used when creating the pipeline\r\n * @param createPipelineContextInjection the function to create the pipeline context\r\n * @param _preparePipelineContextInjection the function to prepare the pipeline context\r\n * @returns a promise that resolves to the pipeline context\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport async function generatePipelineContext(\r\n options: IPipelineGenerationOptions,\r\n context: WebGL2RenderingContext | WebGLRenderingContext,\r\n createPipelineContextInjection: typeof AbstractEngine.prototype.createPipelineContext = createPipelineContext.bind(null, context),\r\n _preparePipelineContextInjection: typeof AbstractEngine.prototype._preparePipelineContextAsync = _preparePipelineContext\r\n): Promise<IPipelineContext> {\r\n // make sure the state object exists\r\n getStateObject(context);\r\n const platformName = options.platformName || \"WEBGL2\";\r\n let processor = options.extendedProcessingOptions?.processor;\r\n const language = options.shaderLanguage || ShaderLanguage.GLSL;\r\n // auto-populate the processor if not provided\r\n // Note - async but can be synchronous if we load all dependencies at the start\r\n if (!processor) {\r\n switch (platformName) {\r\n case \"WEBGL1\":\r\n processor = new (await import(\"core/Engines/WebGL/webGLShaderProcessors\")).WebGLShaderProcessor();\r\n break;\r\n case \"WEBGL2\":\r\n default:\r\n // default to WebGL2, which is included in the package. Avoid async-load the default.\r\n processor = new WebGL2ShaderProcessor();\r\n break;\r\n }\r\n }\r\n const shaderDef: any = options.shaderNameOrContent;\r\n const vertex = shaderDef.vertex || shaderDef.vertexSource || shaderDef;\r\n const fragment = shaderDef.fragment || shaderDef.fragmentSource || shaderDef;\r\n const globalDefines = _GetGlobalDefines()?.split(\"\\n\") || [];\r\n const defines = [...(options.defines || []), ...(options.addGlobalDefines ? globalDefines : [])];\r\n const key = options.key?.replace(/\\r/g, \"\").replace(/\\n/g, \"|\") || vertex + \"+\" + fragment + \"@\" + defines.join(\"|\");\r\n // defaults, extended with optionally provided options\r\n const processorOptions: _IProcessingOptions = {\r\n defines,\r\n indexParameters: undefined,\r\n isFragment: false,\r\n shouldUseHighPrecisionShader: true,\r\n processor,\r\n supportsUniformBuffers: false,\r\n shadersRepository: ShaderStore.GetShadersRepository(language),\r\n includesShadersStore: ShaderStore.GetIncludesShadersStore(language),\r\n version: platformName === \"WEBGL2\" ? \"200\" : \"100\",\r\n platformName,\r\n processingContext: null,\r\n isNDCHalfZRange: false,\r\n useReverseDepthBuffer: false,\r\n ...options.extendedProcessingOptions,\r\n };\r\n return await new Promise((resolve, reject) => {\r\n try {\r\n _ProcessShaderCode(\r\n processorOptions,\r\n shaderDef,\r\n undefined,\r\n function (vertexCode, fragmentCode) {\r\n try {\r\n const pipeline = createAndPreparePipelineContext(\r\n {\r\n name: key,\r\n vertex: vertexCode,\r\n fragment: fragmentCode,\r\n context,\r\n defines: defines.length ? defines.join(\"\\n\") : null,\r\n shaderProcessingContext: options.extendedProcessingOptions?.processingContext || null,\r\n transformFeedbackVaryings: null,\r\n disableParallelCompilation: options.disableParallelCompilation,\r\n ...options.extendedCreatePipelineOptions,\r\n },\r\n createPipelineContextInjection,\r\n _preparePipelineContext,\r\n _executeWhenRenderingStateIsCompiled\r\n );\r\n // the default behavior so far. If not async or no request to wait for isReady, resolve immediately\r\n if (!options.waitForIsReady || !pipeline.isAsync) {\r\n resolve(pipeline);\r\n } else {\r\n _RetryWithInterval(\r\n () => _isRenderingStateCompiled(pipeline, context),\r\n () => resolve(pipeline),\r\n () => reject(new Error(\"Timeout while waiting for pipeline to be ready\"))\r\n );\r\n }\r\n } catch (e) {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n }\r\n },\r\n language\r\n );\r\n } catch (e) {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n }\r\n });\r\n}\r\n"]}
1
+ {"version":3,"file":"effect.webgl.functions.pure.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/effect.webgl.functions.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport { type AbstractEngine } from \"core/Engines/abstractEngine.pure\";\r\nimport { type IPipelineGenerationOptions, _ProcessShaderCode, createAndPreparePipelineContext } from \"./effect.functions\";\r\nimport { type IPipelineContext } from \"core/Engines/IPipelineContext\";\r\nimport { _executeWhenRenderingStateIsCompiled, _isRenderingStateCompiled, _preparePipelineContext, createPipelineContext, getStateObject } from \"core/Engines/thinEngine.functions\";\r\nimport { ShaderLanguage } from \"./shaderLanguage\";\r\nimport { _GetGlobalDefines } from \"core/Engines/abstractEngine.functions\";\r\nimport { type _IProcessingOptions } from \"core/Engines/Processors/shaderProcessingOptions\";\r\nimport { ShaderStore } from \"core/Engines/shaderStore\";\r\nimport { WebGL2ShaderProcessor } from \"core/Engines/WebGL/webGL2ShaderProcessors\";\r\nimport { _RetryWithInterval } from \"core/Misc/timingTools\";\r\n\r\n/**\r\n * Generate a pipeline context from the provided options\r\n * Note - at the moment only WebGL is supported\r\n * @param options the options to be used when generating the pipeline\r\n * @param context the context to be used when creating the pipeline\r\n * @param createPipelineContextInjection the function to create the pipeline context\r\n * @param _preparePipelineContextInjection the function to prepare the pipeline context\r\n * @returns a promise that resolves to the pipeline context\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport async function generatePipelineContext(\r\n options: IPipelineGenerationOptions,\r\n context: WebGL2RenderingContext | WebGLRenderingContext,\r\n createPipelineContextInjection: typeof AbstractEngine.prototype.createPipelineContext = createPipelineContext.bind(null, context),\r\n _preparePipelineContextInjection: typeof AbstractEngine.prototype._preparePipelineContextAsync = _preparePipelineContext\r\n): Promise<IPipelineContext> {\r\n // make sure the state object exists\r\n getStateObject(context);\r\n const platformName = options.platformName || \"WEBGL2\";\r\n let processor = options.extendedProcessingOptions?.processor;\r\n const language = options.shaderLanguage || ShaderLanguage.GLSL;\r\n // auto-populate the processor if not provided\r\n // Note - async but can be synchronous if we load all dependencies at the start\r\n if (!processor) {\r\n switch (platformName) {\r\n case \"WEBGL1\":\r\n processor = new (await import(\"core/Engines/WebGL/webGLShaderProcessors\")).WebGLShaderProcessor();\r\n break;\r\n case \"WEBGL2\":\r\n default:\r\n // default to WebGL2, which is included in the package. Avoid async-load the default.\r\n processor = new WebGL2ShaderProcessor();\r\n break;\r\n }\r\n }\r\n const shaderDef: any = options.shaderNameOrContent;\r\n const vertex = shaderDef.vertex || shaderDef.vertexSource || shaderDef;\r\n const fragment = shaderDef.fragment || shaderDef.fragmentSource || shaderDef;\r\n const globalDefines = _GetGlobalDefines()?.split(\"\\n\") || [];\r\n const defines = [...(options.defines || []), ...(options.addGlobalDefines ? globalDefines : [])];\r\n const key = options.key?.replace(/\\r/g, \"\").split(\"\\n\").join(\"|\") || vertex + \"+\" + fragment + \"@\" + defines.join(\"|\");\r\n // defaults, extended with optionally provided options\r\n const processorOptions: _IProcessingOptions = {\r\n defines,\r\n indexParameters: undefined,\r\n isFragment: false,\r\n shouldUseHighPrecisionShader: true,\r\n processor,\r\n supportsUniformBuffers: false,\r\n shadersRepository: ShaderStore.GetShadersRepository(language),\r\n includesShadersStore: ShaderStore.GetIncludesShadersStore(language),\r\n version: platformName === \"WEBGL2\" ? \"200\" : \"100\",\r\n platformName,\r\n processingContext: null,\r\n isNDCHalfZRange: false,\r\n useReverseDepthBuffer: false,\r\n ...options.extendedProcessingOptions,\r\n };\r\n return await new Promise((resolve, reject) => {\r\n try {\r\n _ProcessShaderCode(\r\n processorOptions,\r\n shaderDef,\r\n undefined,\r\n function (vertexCode, fragmentCode) {\r\n try {\r\n const pipeline = createAndPreparePipelineContext(\r\n {\r\n name: key,\r\n vertex: vertexCode,\r\n fragment: fragmentCode,\r\n context,\r\n defines: defines.length ? defines.join(\"\\n\") : null,\r\n shaderProcessingContext: options.extendedProcessingOptions?.processingContext || null,\r\n transformFeedbackVaryings: null,\r\n disableParallelCompilation: options.disableParallelCompilation,\r\n ...options.extendedCreatePipelineOptions,\r\n },\r\n createPipelineContextInjection,\r\n _preparePipelineContext,\r\n _executeWhenRenderingStateIsCompiled\r\n );\r\n // the default behavior so far. If not async or no request to wait for isReady, resolve immediately\r\n if (!options.waitForIsReady || !pipeline.isAsync) {\r\n resolve(pipeline);\r\n } else {\r\n _RetryWithInterval(\r\n () => _isRenderingStateCompiled(pipeline, context),\r\n () => resolve(pipeline),\r\n () => reject(new Error(\"Timeout while waiting for pipeline to be ready\"))\r\n );\r\n }\r\n } catch (e) {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n }\r\n },\r\n language\r\n );\r\n } catch (e) {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n }\r\n });\r\n}\r\n"]}
@@ -792,6 +792,11 @@ export declare class Material implements IAnimatable, IClipPlanesHolder {
792
792
  * @param forceMaterialDirty - Forces the material to be marked as dirty for all components (same as this.markAsDirty(Material.AllDirtyFlag)). You should use this flag if the material is frozen and you want to force a recompilation.
793
793
  */
794
794
  markDirty(forceMaterialDirty?: boolean): void;
795
+ /**
796
+ * @internal
797
+ * Whether a draw with a side orientation (the material's when null) reverses its front faces, as _preBind sets it
798
+ */
799
+ _isReverseSide(overrideOrientation?: Nullable<number>): boolean;
795
800
  /**
796
801
  * @internal
797
802
  */
@@ -1010,13 +1010,20 @@ let Material = (() => {
1010
1010
  this.markAsDirty(_a.AllDirtyFlag);
1011
1011
  }
1012
1012
  }
1013
+ /**
1014
+ * @internal
1015
+ * Whether a draw with a side orientation (the material's when null) reverses its front faces, as _preBind sets it
1016
+ */
1017
+ _isReverseSide(overrideOrientation = null) {
1018
+ const orientation = overrideOrientation == null ? this.sideOrientation : overrideOrientation;
1019
+ return orientation === _a.ClockWiseSideOrientation;
1020
+ }
1013
1021
  /**
1014
1022
  * @internal
1015
1023
  */
1016
1024
  _preBind(effect, overrideOrientation = null) {
1017
1025
  const engine = this._scene.getEngine();
1018
- const orientation = overrideOrientation == null ? this.sideOrientation : overrideOrientation;
1019
- const reverse = orientation === _a.ClockWiseSideOrientation;
1026
+ const reverse = this._isReverseSide(overrideOrientation);
1020
1027
  const effectiveDrawWrapper = effect ? effect : this._getDrawWrapper();
1021
1028
  if (IsWrapper(effectiveDrawWrapper) && effectiveDrawWrapper.materialContext) {
1022
1029
  effectiveDrawWrapper.materialContext.useVertexPulling = this.useVertexPulling;