@babylonjs/core 8.15.0 → 8.16.0

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 (173) hide show
  1. package/Animations/animatable.core.d.ts +6 -0
  2. package/Animations/animatable.core.js +7 -1
  3. package/Animations/animatable.core.js.map +1 -1
  4. package/Animations/animationGroup.d.ts +3 -1
  5. package/Animations/animationGroup.js +3 -2
  6. package/Animations/animationGroup.js.map +1 -1
  7. package/AudioV2/webAudio/components/webAudioParameterComponent.d.ts +8 -0
  8. package/AudioV2/webAudio/components/webAudioParameterComponent.js +36 -3
  9. package/AudioV2/webAudio/components/webAudioParameterComponent.js.map +1 -1
  10. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +10 -0
  11. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
  12. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +11 -0
  13. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
  14. package/AudioV2/webAudio/webAudioEngine.d.ts +7 -0
  15. package/AudioV2/webAudio/webAudioEngine.js +45 -0
  16. package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
  17. package/AudioV2/webAudio/webAudioStaticSound.d.ts +1 -0
  18. package/AudioV2/webAudio/webAudioStaticSound.js +4 -1
  19. package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
  20. package/Behaviors/Cameras/framingBehavior.js +3 -3
  21. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  22. package/Debug/directionalLightFrustumViewer.d.ts +6 -0
  23. package/Debug/directionalLightFrustumViewer.js +39 -1
  24. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  25. package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +2 -1
  26. package/Engines/AbstractEngine/abstractEngine.alpha.js +9 -9
  27. package/Engines/AbstractEngine/abstractEngine.alpha.js.map +1 -1
  28. package/Engines/AbstractEngine/abstractEngine.states.d.ts +4 -104
  29. package/Engines/AbstractEngine/abstractEngine.states.js +4 -70
  30. package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -1
  31. package/Engines/AbstractEngine/abstractEngine.stencil.d.ts +147 -0
  32. package/Engines/AbstractEngine/abstractEngine.stencil.js +93 -0
  33. package/Engines/AbstractEngine/abstractEngine.stencil.js.map +1 -0
  34. package/Engines/AbstractEngine/index.d.ts +1 -0
  35. package/Engines/AbstractEngine/index.js +1 -0
  36. package/Engines/AbstractEngine/index.js.map +1 -1
  37. package/Engines/Extensions/engine.alpha.d.ts +2 -1
  38. package/Engines/Extensions/engine.alpha.js +7 -78
  39. package/Engines/Extensions/engine.alpha.js.map +1 -1
  40. package/Engines/WebGL/webGL2ShaderProcessors.js +8 -1
  41. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  42. package/Engines/WebGPU/Extensions/engine.alpha.d.ts +2 -1
  43. package/Engines/WebGPU/Extensions/engine.alpha.js +12 -82
  44. package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
  45. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +12 -5
  46. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +139 -72
  47. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  48. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +13 -1
  49. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  50. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +8 -0
  51. package/Engines/WebGPU/webgpuStencilStateComposer.js +40 -0
  52. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  53. package/Engines/abstractEngine.d.ts +7 -3
  54. package/Engines/abstractEngine.js +12 -5
  55. package/Engines/abstractEngine.js.map +1 -1
  56. package/Engines/constants.d.ts +30 -28
  57. package/Engines/constants.js +30 -28
  58. package/Engines/constants.js.map +1 -1
  59. package/Engines/engine.d.ts +10 -0
  60. package/Engines/engine.js +1 -0
  61. package/Engines/engine.js.map +1 -1
  62. package/Engines/engineCapabilities.d.ts +4 -0
  63. package/Engines/engineCapabilities.js.map +1 -1
  64. package/Engines/nativeEngine.d.ts +2 -1
  65. package/Engines/nativeEngine.js +6 -3
  66. package/Engines/nativeEngine.js.map +1 -1
  67. package/Engines/nullEngine.d.ts +2 -1
  68. package/Engines/nullEngine.js +7 -4
  69. package/Engines/nullEngine.js.map +1 -1
  70. package/Engines/thinEngine.js +16 -3
  71. package/Engines/thinEngine.js.map +1 -1
  72. package/Engines/webgpuEngine.d.ts +1 -0
  73. package/Engines/webgpuEngine.js +6 -4
  74. package/Engines/webgpuEngine.js.map +1 -1
  75. package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +1 -1
  76. package/FrameGraph/Tasks/PostProcesses/passTask.js.map +1 -1
  77. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +8 -1
  78. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +14 -6
  79. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  80. package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +3 -0
  81. package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
  82. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +6 -5
  83. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
  84. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
  85. package/FrameGraph/Tasks/Texture/clearTextureTask.js +7 -5
  86. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  87. package/FrameGraph/frameGraph.d.ts +6 -0
  88. package/FrameGraph/frameGraph.js +8 -0
  89. package/FrameGraph/frameGraph.js.map +1 -1
  90. package/FrameGraph/frameGraphContext.d.ts +16 -0
  91. package/FrameGraph/frameGraphContext.js +23 -0
  92. package/FrameGraph/frameGraphContext.js.map +1 -1
  93. package/FrameGraph/frameGraphRenderContext.d.ts +9 -16
  94. package/FrameGraph/frameGraphRenderContext.js +15 -23
  95. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  96. package/FrameGraph/frameGraphUtils.d.ts +52 -0
  97. package/FrameGraph/frameGraphUtils.js +99 -0
  98. package/FrameGraph/frameGraphUtils.js.map +1 -0
  99. package/FrameGraph/index.d.ts +1 -0
  100. package/FrameGraph/index.js +1 -0
  101. package/FrameGraph/index.js.map +1 -1
  102. package/Gizmos/boundingBoxGizmo.js +2 -0
  103. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  104. package/Loading/Plugins/babylonFileLoader.js +35 -2
  105. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  106. package/Materials/material.d.ts +32 -12
  107. package/Materials/material.js +49 -17
  108. package/Materials/material.js.map +1 -1
  109. package/Materials/materialStencilState.d.ts +24 -0
  110. package/Materials/materialStencilState.js +53 -1
  111. package/Materials/materialStencilState.js.map +1 -1
  112. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +4 -4
  113. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  114. package/Meshes/geometry.js +1 -1
  115. package/Meshes/geometry.js.map +1 -1
  116. package/Meshes/instancedMesh.d.ts +5 -0
  117. package/Meshes/instancedMesh.js +3 -3
  118. package/Meshes/instancedMesh.js.map +1 -1
  119. package/Meshes/mesh.d.ts +28 -5
  120. package/Meshes/mesh.js +127 -57
  121. package/Meshes/mesh.js.map +1 -1
  122. package/Meshes/thinInstanceMesh.js +4 -0
  123. package/Meshes/thinInstanceMesh.js.map +1 -1
  124. package/Misc/snapshotRenderingHelper.js +2 -1
  125. package/Misc/snapshotRenderingHelper.js.map +1 -1
  126. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.d.ts +71 -0
  127. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js +156 -0
  128. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js.map +1 -0
  129. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +13 -0
  130. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js +79 -3
  131. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js.map +1 -1
  132. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +4 -0
  133. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +5 -0
  134. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  135. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +12 -3
  136. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +22 -1
  137. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  138. package/PostProcesses/thinPassPostProcess.js +7 -3
  139. package/PostProcesses/thinPassPostProcess.js.map +1 -1
  140. package/PostProcesses/thinTAAPostProcess.d.ts +17 -0
  141. package/PostProcesses/thinTAAPostProcess.js +51 -0
  142. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  143. package/Rendering/edgesRenderer.js +3 -2
  144. package/Rendering/edgesRenderer.js.map +1 -1
  145. package/Rendering/geometryBufferRenderer.js +1 -1
  146. package/Rendering/geometryBufferRenderer.js.map +1 -1
  147. package/Rendering/outlineRenderer.js +1 -1
  148. package/Rendering/outlineRenderer.js.map +1 -1
  149. package/Shaders/lod.fragment.js +2 -3
  150. package/Shaders/lod.fragment.js.map +1 -1
  151. package/Shaders/taa.fragment.js +15 -1
  152. package/Shaders/taa.fragment.js.map +1 -1
  153. package/ShadersWGSL/lod.fragment.js +2 -2
  154. package/ShadersWGSL/lod.fragment.js.map +1 -1
  155. package/ShadersWGSL/taa.fragment.js +16 -2
  156. package/ShadersWGSL/taa.fragment.js.map +1 -1
  157. package/States/IStencilState.d.ts +6 -2
  158. package/States/IStencilState.js.map +1 -1
  159. package/States/alphaCullingState.d.ts +7 -5
  160. package/States/alphaCullingState.js +144 -33
  161. package/States/alphaCullingState.js.map +1 -1
  162. package/States/stencilState.d.ts +12 -0
  163. package/States/stencilState.js +29 -1
  164. package/States/stencilState.js.map +1 -1
  165. package/States/stencilStateComposer.d.ts +12 -0
  166. package/States/stencilStateComposer.js +48 -2
  167. package/States/stencilStateComposer.js.map +1 -1
  168. package/assetContainer.js +29 -8
  169. package/assetContainer.js.map +1 -1
  170. package/package.json +1 -1
  171. package/scene.d.ts +2 -1
  172. package/scene.js +1 -0
  173. package/scene.js.map +1 -1
@@ -19,12 +19,16 @@ export class MaterialStencilState {
19
19
  reset() {
20
20
  this.enabled = false;
21
21
  this.mask = 0xff;
22
- this.func = 519;
23
22
  this.funcRef = 1;
24
23
  this.funcMask = 0xff;
24
+ this.func = 519;
25
25
  this.opStencilFail = 7680;
26
26
  this.opDepthFail = 7680;
27
27
  this.opStencilDepthPass = 7681;
28
+ this.backFunc = 519;
29
+ this.backOpStencilFail = 7680;
30
+ this.backOpDepthFail = 7680;
31
+ this.backOpStencilDepthPass = 7681;
28
32
  }
29
33
  /**
30
34
  * Gets or sets the stencil function
@@ -35,6 +39,15 @@ export class MaterialStencilState {
35
39
  set func(value) {
36
40
  this._func = value;
37
41
  }
42
+ /**
43
+ * Gets or sets the stencil back function
44
+ */
45
+ get backFunc() {
46
+ return this._backFunc;
47
+ }
48
+ set backFunc(value) {
49
+ this._backFunc = value;
50
+ }
38
51
  /**
39
52
  * Gets or sets the stencil function reference
40
53
  */
@@ -80,6 +93,33 @@ export class MaterialStencilState {
80
93
  set opStencilDepthPass(value) {
81
94
  this._opStencilDepthPass = value;
82
95
  }
96
+ /**
97
+ * Gets or sets the operation when the back stencil test fails
98
+ */
99
+ get backOpStencilFail() {
100
+ return this._backOpStencilFail;
101
+ }
102
+ set backOpStencilFail(value) {
103
+ this._backOpStencilFail = value;
104
+ }
105
+ /**
106
+ * Gets or sets the operation when the back depth test fails
107
+ */
108
+ get backOpDepthFail() {
109
+ return this._backOpDepthFail;
110
+ }
111
+ set backOpDepthFail(value) {
112
+ this._backOpDepthFail = value;
113
+ }
114
+ /**
115
+ * Gets or sets the operation when the back stencil+depth test succeeds
116
+ */
117
+ get backOpStencilDepthPass() {
118
+ return this._backOpStencilDepthPass;
119
+ }
120
+ set backOpStencilDepthPass(value) {
121
+ this._backOpStencilDepthPass = value;
122
+ }
83
123
  /**
84
124
  * Gets or sets the stencil mask
85
125
  */
@@ -132,6 +172,9 @@ export class MaterialStencilState {
132
172
  __decorate([
133
173
  serialize()
134
174
  ], MaterialStencilState.prototype, "func", null);
175
+ __decorate([
176
+ serialize()
177
+ ], MaterialStencilState.prototype, "backFunc", null);
135
178
  __decorate([
136
179
  serialize()
137
180
  ], MaterialStencilState.prototype, "funcRef", null);
@@ -147,6 +190,15 @@ __decorate([
147
190
  __decorate([
148
191
  serialize()
149
192
  ], MaterialStencilState.prototype, "opStencilDepthPass", null);
193
+ __decorate([
194
+ serialize()
195
+ ], MaterialStencilState.prototype, "backOpStencilFail", null);
196
+ __decorate([
197
+ serialize()
198
+ ], MaterialStencilState.prototype, "backOpDepthFail", null);
199
+ __decorate([
200
+ serialize()
201
+ ], MaterialStencilState.prototype, "backOpStencilDepthPass", null);
150
202
  __decorate([
151
203
  serialize()
152
204
  ], MaterialStencilState.prototype, "mask", null);
@@ -1 +1 @@
1
- {"version":3,"file":"materialStencilState.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/materialStencilState.ts"],"names":[],"mappings":"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","sourcesContent":["import { SerializationHelper } from \"../Misc/decorators.serialization\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { serialize } from \"../Misc/decorators\";\r\nimport type { IStencilState } from \"../States/IStencilState\";\r\n\r\nimport type { Scene } from \"../scene\";\r\n\r\n/**\r\n * Class that holds the different stencil states of a material\r\n * Usage example: https://playground.babylonjs.com/#CW5PRI#10\r\n */\r\nexport class MaterialStencilState implements IStencilState {\r\n /**\r\n * Creates a material stencil state instance\r\n */\r\n public constructor() {\r\n this.reset();\r\n }\r\n\r\n /**\r\n * Resets all the stencil states to default values\r\n */\r\n public reset() {\r\n this.enabled = false;\r\n this.mask = 0xff;\r\n\r\n this.func = Constants.ALWAYS;\r\n this.funcRef = 1;\r\n this.funcMask = 0xff;\r\n\r\n this.opStencilFail = Constants.KEEP;\r\n this.opDepthFail = Constants.KEEP;\r\n this.opStencilDepthPass = Constants.REPLACE;\r\n }\r\n\r\n private _func: number;\r\n /**\r\n * Gets or sets the stencil function\r\n */\r\n @serialize()\r\n public get func(): number {\r\n return this._func;\r\n }\r\n\r\n public set func(value: number) {\r\n this._func = value;\r\n }\r\n\r\n private _funcRef: number;\r\n /**\r\n * Gets or sets the stencil function reference\r\n */\r\n @serialize()\r\n public get funcRef(): number {\r\n return this._funcRef;\r\n }\r\n\r\n public set funcRef(value: number) {\r\n this._funcRef = value;\r\n }\r\n\r\n private _funcMask: number;\r\n /**\r\n * Gets or sets the stencil function mask\r\n */\r\n @serialize()\r\n public get funcMask(): number {\r\n return this._funcMask;\r\n }\r\n\r\n public set funcMask(value: number) {\r\n this._funcMask = value;\r\n }\r\n\r\n private _opStencilFail: number;\r\n /**\r\n * Gets or sets the operation when the stencil test fails\r\n */\r\n @serialize()\r\n public get opStencilFail(): number {\r\n return this._opStencilFail;\r\n }\r\n\r\n public set opStencilFail(value: number) {\r\n this._opStencilFail = value;\r\n }\r\n\r\n private _opDepthFail: number;\r\n /**\r\n * Gets or sets the operation when the depth test fails\r\n */\r\n @serialize()\r\n public get opDepthFail(): number {\r\n return this._opDepthFail;\r\n }\r\n\r\n public set opDepthFail(value: number) {\r\n this._opDepthFail = value;\r\n }\r\n\r\n private _opStencilDepthPass: number;\r\n /**\r\n * Gets or sets the operation when the stencil+depth test succeeds\r\n */\r\n @serialize()\r\n public get opStencilDepthPass(): number {\r\n return this._opStencilDepthPass;\r\n }\r\n\r\n public set opStencilDepthPass(value: number) {\r\n this._opStencilDepthPass = value;\r\n }\r\n\r\n private _mask: number;\r\n /**\r\n * Gets or sets the stencil mask\r\n */\r\n @serialize()\r\n public get mask(): number {\r\n return this._mask;\r\n }\r\n\r\n public set mask(value: number) {\r\n this._mask = value;\r\n }\r\n\r\n private _enabled: boolean;\r\n /**\r\n * Enables or disables the stencil test\r\n */\r\n @serialize()\r\n public get enabled(): boolean {\r\n return this._enabled;\r\n }\r\n\r\n public set enabled(value: boolean) {\r\n this._enabled = value;\r\n }\r\n\r\n /**\r\n * Get the current class name, useful for serialization or dynamic coding.\r\n * @returns \"MaterialStencilState\"\r\n */\r\n public getClassName(): string {\r\n return \"MaterialStencilState\";\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param stencilState defines stencil state where to copy the info\r\n */\r\n public copyTo(stencilState: MaterialStencilState): void {\r\n SerializationHelper.Clone(() => stencilState, this);\r\n }\r\n\r\n /**\r\n * Serializes this stencil configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a stencil state configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"materialStencilState.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/materialStencilState.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC7B;;OAEG;IACH;QACI,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC;QAE5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC;IACpD,CAAC;IAGD;;OAEG;IAEH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAGD;;OAEG;IAEH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGD;;OAEG;IAEH,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,OAAO,CAAC,KAAa;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAGD;;OAEG;IAEH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGD;;OAEG;IAEH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,aAAa,CAAC,KAAa;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAGD;;OAEG;IAEH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,WAAW,CAAC,KAAa;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAGD;;OAEG;IAEH,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,IAAW,kBAAkB,CAAC,KAAa;QACvC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACrC,CAAC;IAGD;;OAEG;IAEH,IAAW,iBAAiB;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,IAAW,iBAAiB,CAAC,KAAa;QACtC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACpC,CAAC;IAGD;;OAEG;IAEH,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAW,eAAe,CAAC,KAAa;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;IAGD;;OAEG;IAEH,IAAW,sBAAsB;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED,IAAW,sBAAsB,CAAC,KAAa;QAC3C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACzC,CAAC;IAGD;;OAEG;IAEH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAGD;;OAEG;IAEH,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,YAAkC;QAC5C,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAW,EAAE,KAAY,EAAE,OAAe;QACnD,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACJ;AAxLG;IADC,SAAS,EAAE;gDAGX;AAWD;IADC,SAAS,EAAE;oDAGX;AAWD;IADC,SAAS,EAAE;mDAGX;AAWD;IADC,SAAS,EAAE;oDAGX;AAWD;IADC,SAAS,EAAE;yDAGX;AAWD;IADC,SAAS,EAAE;uDAGX;AAWD;IADC,SAAS,EAAE;8DAGX;AAWD;IADC,SAAS,EAAE;6DAGX;AAWD;IADC,SAAS,EAAE;2DAGX;AAWD;IADC,SAAS,EAAE;kEAGX;AAWD;IADC,SAAS,EAAE;gDAGX;AAWD;IADC,SAAS,EAAE;mDAGX","sourcesContent":["import { SerializationHelper } from \"../Misc/decorators.serialization\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { serialize } from \"../Misc/decorators\";\r\nimport type { IStencilState } from \"../States/IStencilState\";\r\n\r\nimport type { Scene } from \"../scene\";\r\n\r\n/**\r\n * Class that holds the different stencil states of a material\r\n * Usage example: https://playground.babylonjs.com/#CW5PRI#10\r\n */\r\nexport class MaterialStencilState implements IStencilState {\r\n /**\r\n * Creates a material stencil state instance\r\n */\r\n public constructor() {\r\n this.reset();\r\n }\r\n\r\n /**\r\n * Resets all the stencil states to default values\r\n */\r\n public reset() {\r\n this.enabled = false;\r\n this.mask = 0xff;\r\n\r\n this.funcRef = 1;\r\n this.funcMask = 0xff;\r\n\r\n this.func = Constants.ALWAYS;\r\n this.opStencilFail = Constants.KEEP;\r\n this.opDepthFail = Constants.KEEP;\r\n this.opStencilDepthPass = Constants.REPLACE;\r\n\r\n this.backFunc = Constants.ALWAYS;\r\n this.backOpStencilFail = Constants.KEEP;\r\n this.backOpDepthFail = Constants.KEEP;\r\n this.backOpStencilDepthPass = Constants.REPLACE;\r\n }\r\n\r\n private _func: number;\r\n /**\r\n * Gets or sets the stencil function\r\n */\r\n @serialize()\r\n public get func(): number {\r\n return this._func;\r\n }\r\n\r\n public set func(value: number) {\r\n this._func = value;\r\n }\r\n\r\n private _backFunc: number;\r\n /**\r\n * Gets or sets the stencil back function\r\n */\r\n @serialize()\r\n public get backFunc(): number {\r\n return this._backFunc;\r\n }\r\n\r\n public set backFunc(value: number) {\r\n this._backFunc = value;\r\n }\r\n\r\n private _funcRef: number;\r\n /**\r\n * Gets or sets the stencil function reference\r\n */\r\n @serialize()\r\n public get funcRef(): number {\r\n return this._funcRef;\r\n }\r\n\r\n public set funcRef(value: number) {\r\n this._funcRef = value;\r\n }\r\n\r\n private _funcMask: number;\r\n /**\r\n * Gets or sets the stencil function mask\r\n */\r\n @serialize()\r\n public get funcMask(): number {\r\n return this._funcMask;\r\n }\r\n\r\n public set funcMask(value: number) {\r\n this._funcMask = value;\r\n }\r\n\r\n private _opStencilFail: number;\r\n /**\r\n * Gets or sets the operation when the stencil test fails\r\n */\r\n @serialize()\r\n public get opStencilFail(): number {\r\n return this._opStencilFail;\r\n }\r\n\r\n public set opStencilFail(value: number) {\r\n this._opStencilFail = value;\r\n }\r\n\r\n private _opDepthFail: number;\r\n /**\r\n * Gets or sets the operation when the depth test fails\r\n */\r\n @serialize()\r\n public get opDepthFail(): number {\r\n return this._opDepthFail;\r\n }\r\n\r\n public set opDepthFail(value: number) {\r\n this._opDepthFail = value;\r\n }\r\n\r\n private _opStencilDepthPass: number;\r\n /**\r\n * Gets or sets the operation when the stencil+depth test succeeds\r\n */\r\n @serialize()\r\n public get opStencilDepthPass(): number {\r\n return this._opStencilDepthPass;\r\n }\r\n\r\n public set opStencilDepthPass(value: number) {\r\n this._opStencilDepthPass = value;\r\n }\r\n\r\n private _backOpStencilFail: number;\r\n /**\r\n * Gets or sets the operation when the back stencil test fails\r\n */\r\n @serialize()\r\n public get backOpStencilFail(): number {\r\n return this._backOpStencilFail;\r\n }\r\n\r\n public set backOpStencilFail(value: number) {\r\n this._backOpStencilFail = value;\r\n }\r\n\r\n private _backOpDepthFail: number;\r\n /**\r\n * Gets or sets the operation when the back depth test fails\r\n */\r\n @serialize()\r\n public get backOpDepthFail(): number {\r\n return this._backOpDepthFail;\r\n }\r\n\r\n public set backOpDepthFail(value: number) {\r\n this._backOpDepthFail = value;\r\n }\r\n\r\n private _backOpStencilDepthPass: number;\r\n /**\r\n * Gets or sets the operation when the back stencil+depth test succeeds\r\n */\r\n @serialize()\r\n public get backOpStencilDepthPass(): number {\r\n return this._backOpStencilDepthPass;\r\n }\r\n\r\n public set backOpStencilDepthPass(value: number) {\r\n this._backOpStencilDepthPass = value;\r\n }\r\n\r\n private _mask: number;\r\n /**\r\n * Gets or sets the stencil mask\r\n */\r\n @serialize()\r\n public get mask(): number {\r\n return this._mask;\r\n }\r\n\r\n public set mask(value: number) {\r\n this._mask = value;\r\n }\r\n\r\n private _enabled: boolean;\r\n /**\r\n * Enables or disables the stencil test\r\n */\r\n @serialize()\r\n public get enabled(): boolean {\r\n return this._enabled;\r\n }\r\n\r\n public set enabled(value: boolean) {\r\n this._enabled = value;\r\n }\r\n\r\n /**\r\n * Get the current class name, useful for serialization or dynamic coding.\r\n * @returns \"MaterialStencilState\"\r\n */\r\n public getClassName(): string {\r\n return \"MaterialStencilState\";\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param stencilState defines stencil state where to copy the info\r\n */\r\n public copyTo(stencilState: MaterialStencilState): void {\r\n SerializationHelper.Clone(() => stencilState, this);\r\n }\r\n\r\n /**\r\n * Serializes this stencil configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a stencil state configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}\r\n"]}
@@ -816,10 +816,10 @@ export class GaussianSplattingMesh extends Mesh {
816
816
  position[0] = value;
817
817
  break;
818
818
  case 17 /* PLYValue.Y */:
819
- position[1] = -value;
819
+ position[1] = value;
820
820
  break;
821
821
  case 18 /* PLYValue.Z */:
822
- position[2] = -value;
822
+ position[2] = value;
823
823
  break;
824
824
  case 19 /* PLYValue.SCALE_0 */:
825
825
  scale[0] = Math.exp(value);
@@ -861,10 +861,10 @@ export class GaussianSplattingMesh extends Mesh {
861
861
  r1 = value;
862
862
  break;
863
863
  case 32 /* PLYValue.ROT_2 */:
864
- r2 = -value;
864
+ r2 = value;
865
865
  break;
866
866
  case 33 /* PLYValue.ROT_3 */:
867
- r3 = -value;
867
+ r3 = value;
868
868
  break;
869
869
  }
870
870
  if (sh && property.value >= 40 /* PLYValue.SH_0 */ && property.value <= 84 /* PLYValue.SH_44 */) {