1cc555d49b56485925b309b60d8f6c61fcecc3077392cbdd102f20d6a8bbefc1.json 22 KB

1
  1. {"ast":null,"code":"import { StorageBuffer } from \"../Buffers/storageBuffer.js\";\nimport { ComputeShader } from \"../Compute/computeShader.js\";\nimport { UniformBuffer } from \"../Materials/uniformBuffer.js\";\nimport { UniformBufferEffectCommonAccessor } from \"../Materials/uniformBufferEffectCommonAccessor.js\";\nimport { RegisterClass } from \"../Misc/typeStore.js\";\nimport \"../ShadersWGSL/gpuUpdateParticles.compute.js\";\n/** @internal */\nexport class ComputeShaderParticleSystem {\n constructor(parent, engine) {\n this._bufferComputeShader = [];\n this._renderVertexBuffers = [];\n this.alignDataInBuffer = true;\n this._parent = parent;\n this._engine = engine;\n }\n contextLost() {\n this._updateComputeShader = undefined;\n this._bufferComputeShader.length = 0;\n this._renderVertexBuffers.length = 0;\n }\n isUpdateBufferCreated() {\n return !!this._updateComputeShader;\n }\n isUpdateBufferReady() {\n var _this$_updateComputeS, _this$_updateComputeS2;\n return (_this$_updateComputeS = (_this$_updateComputeS2 = this._updateComputeShader) === null || _this$_updateComputeS2 === void 0 ? void 0 : _this$_updateComputeS2.isReady()) !== null && _this$_updateComputeS !== void 0 ? _this$_updateComputeS : false;\n }\n createUpdateBuffer(defines) {\n var _this$_simParamsCompu;\n const bindingsMapping = {\n params: {\n group: 0,\n binding: 0\n },\n particlesIn: {\n group: 0,\n binding: 1\n },\n particlesOut: {\n group: 0,\n binding: 2\n },\n randomTexture: {\n group: 0,\n binding: 3\n },\n randomTexture2: {\n group: 0,\n binding: 4\n }\n };\n if (this._parent._sizeGradientsTexture) {\n bindingsMapping[\"sizeGradientTexture\"] = {\n group: 1,\n binding: 1\n };\n }\n if (this._parent._angularSpeedGradientsTexture) {\n bindingsMapping[\"angularSpeedGradientTexture\"] = {\n group: 1,\n binding: 3\n };\n }\n if (this._parent._velocityGradientsTexture) {\n bindingsMapping[\"velocityGradientTexture\"] = {\n group: 1,\n binding: 5\n };\n }\n if (this._parent._limitVelocityGradientsTexture) {\n bindingsMapping[\"limitVelocityGradientTexture\"] = {\n group: 1,\n binding: 7\n };\n }\n if (this._parent._dragGradientsTexture) {\n bindingsMapping[\"dragGradientTexture\"] = {\n group: 1,\n binding: 9\n };\n }\n if (this._parent.noiseTexture) {\n bindingsMapping[\"noiseTexture\"] = {\n group: 1,\n binding: 11\n };\n }\n this._updateComputeShader = new ComputeShader(\"updateParticles\", this._engine, \"gpuUpdateParticles\", {\n bindingsMapping,\n defines: defines.split(\"\\n\")\n });\n (_this$_simParamsCompu = this._simParamsComputeShader) === null || _this$_simParamsCompu === void 0 || _this$_simParamsCompu.dispose();\n this._simParamsComputeShader = new UniformBuffer(this._engine, undefined, undefined, \"ComputeShaderParticleSystemUBO\");\n this._simParamsComputeShader.addUniform(\"currentCount\", 1);\n this._simParamsComputeShader.addUniform(\"timeDelta\", 1);\n this._simParamsComputeShader.addUniform(\"stopFactor\", 1);\n this._simParamsComputeShader.addUniform(\"randomTextureSize\", 1);\n this._simParamsComputeShader.addUniform(\"lifeTime\", 2);\n this._simParamsComputeShader.addUniform(\"emitPower\", 2);\n if (!this._parent._colorGradientsTexture) {\n this._simParamsComputeShader.addUniform(\"color1\", 4);\n this._simParamsComputeShader.addUniform(\"color2\", 4);\n }\n this._simParamsComputeShader.addUniform(\"sizeRange\", 2);\n this._simParamsComputeShader.addUniform(\"scaleRange\", 4);\n this._simParamsComputeShader.addUniform(\"angleRange\", 4);\n this._simParamsComputeShader.addUniform(\"gravity\", 3);\n if (this._parent._limitVelocityGradientsTexture) {\n this._simParamsComputeShader.addUniform(\"limitVelocityDamping\", 1);\n }\n if (this._parent.isAnimationSheetEnabled) {\n this._simParamsComputeShader.addUniform(\"cellInfos\", 4);\n }\n if (this._parent.noiseTexture) {\n this._simParamsComputeShader.addUniform(\"noiseStrength\", 3);\n }\n if (!this._parent.isLocal) {\n this._simParamsComputeShader.addUniform(\"emitterWM\", 16);\n }\n if (this._parent.particleEmitterType) {\n this._parent.particleEmitterType.buildUniformLayout(this._simParamsComputeShader);\n }\n this._updateComputeShader.setUniformBuffer(\"params\", this._simParamsComputeShader);\n return new UniformBufferEffectCommonAccessor(this._simParamsComputeShader);\n }\n createVertexBuffers(updateBuffer, renderVertexBuffers) {\n this._renderVertexBuffers.push(renderVertexBuffers);\n }\n createParticleBuffer(data) {\n const buffer = new StorageBuffer(this._engine, data.length * 4, 3 | 8, \"ComputeShaderParticleSystemBuffer\");\n buffer.update(data);\n this._bufferComputeShader.push(buffer);\n return buffer.getBuffer();\n }\n bindDrawBuffers(index, effect, indexBuffer) {\n this._engine.bindBuffers(this._renderVertexBuffers[index], indexBuffer, effect);\n }\n preUpdateParticleBuffer() {}\n updateParticleBuffer(index, targetBuffer, currentActiveCount) {\n this._simParamsComputeShader.update();\n this._updateComputeShader.setTexture(\"randomTexture\", this._parent._randomTexture, false);\n this._updateComputeShader.setTexture(\"randomTexture2\", this._parent._randomTexture2, false);\n if (this._parent._sizeGradientsTexture) {\n this._updateComputeShader.setTexture(\"sizeGradientTexture\", this._parent._sizeGradientsTexture);\n }\n if (this._parent._angularSpeedGradientsTexture) {\n this._updateComputeShader.setTexture(\"angularSpeedGradientTexture\", this._parent._angularSpeedGradientsTexture);\n }\n if (this._parent._velocityGradientsTexture) {\n this._updateComputeShader.setTexture(\"velocityGradientTexture\", this._parent._velocityGradientsTexture);\n }\n if (this._parent._limitVelocityGradientsTexture) {\n this._updateComputeShader.setTexture(\"limitVelocityGradientTexture\", this._parent._limitVelocityGradientsTexture);\n }\n if (this._parent._dragGradientsTexture) {\n this._updateComputeShader.setTexture(\"dragGradientTexture\", this._parent._dragGradientsTexture);\n }\n if (this._parent.noiseTexture) {\n this._updateComputeShader.setTexture(\"noiseTexture\", this._parent.noiseTexture);\n }\n this._updateComputeShader.setStorageBuffer(\"particlesIn\", this._bufferComputeShader[index]);\n this._updateComputeShader.setStorageBuffer(\"particlesOut\", this._bufferComputeShader[index ^ 1]);\n this._updateComputeShader.dispatch(Math.ceil(currentActiveCount / 64));\n }\n releaseBuffers() {\n var _this$_simParamsCompu2;\n for (let i = 0; i < this._bufferComputeShader.length; ++i) {\n this._bufferComputeShader[i].dispose();\n }\n this._bufferComputeShader.length = 0;\n (_this$_simParamsCompu2 = this._simParamsComputeShader) === null || _this$_simParamsCompu2 === void 0 || _this$_simParamsCompu2.dispose();\n this._simParamsComputeShader = null;\n this._updateComputeShader = null;\n }\n releaseVertexBuffers() {\n this._renderVertexBuffers.length = 0;\n }\n}\nRegisterClass(\"BABYLON.ComputeShaderParticleSystem\", ComputeShaderParticleSystem);","map":{"version":3,"names":["StorageBuffer","ComputeShader","UniformBuffer","UniformBufferEffectCommonAccessor","RegisterClass","ComputeShaderParticleSystem","constructor","parent","engine","_bufferComputeShader","_renderVertexBuffers","alignDataInBuffer","_parent","_engine","contextLost","_updateComputeShader","undefined","length","isUpdateBufferCreated","isUpdateBufferReady","_this$_updateComputeS","_this$_updateComputeS2","isReady","createUpdateBuffer","defines","_this$_simParamsCompu","bindingsMapping","params","group","binding","particlesIn","particlesOut","randomTexture","randomTexture2","_sizeGradientsTexture","_angularSpeedGradientsTexture","_velocityGradientsTexture","_limitVelocityGradientsTexture","_dragGradientsTexture","noiseTexture","split","_simParamsComputeShader","dispose","addUniform","_colorGradientsTexture","isAnimationSheetEnabled","isLocal","particleEmitterType","buildUniformLayout","setUniformBuffer","createVertexBuffers","updateBuffer","renderVertexBuffers","push","createParticleBuffer","data","buffer","update","getBuffer","bindDrawBuffers","index","effect","indexBuffer","bindBuffers","preUpdateParticleBuffer","updateParticleBuffer","targetBuffer","currentActiveCount","setTexture","_randomTexture","_randomTexture2","setStorageBuffer","dispatch","Math","ceil","releaseBuffers","_this$_simParamsCompu2","i","releaseVertexBuffers"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Particles/computeShaderParticleSystem.js"],"sourcesContent":["import { StorageBuffer } from \"../Buffers/storageBuffer.js\";\nimport { ComputeShader } from \"../Compute/computeShader.js\";\nimport { UniformBuffer } from \"../Materials/uniformBuffer.js\";\n\nimport { UniformBufferEffectCommonAccessor } from \"../Materials/uniformBufferEffectCommonAccessor.js\";\nimport { RegisterClass } from \"../Misc/typeStore.js\";\nimport \"../ShadersWGSL/gpuUpdateParticles.compute.js\";\n/** @internal */\nexport class ComputeShaderParticleSystem {\n constructor(parent, engine) {\n this._bufferComputeShader = [];\n this._renderVertexBuffers = [];\n this.alignDataInBuffer = true;\n this._parent = parent;\n this._engine = engine;\n }\n contextLost() {\n this._updateComputeShader = undefined;\n this._bufferComputeShader.length = 0;\n this._renderVertexBuffers.length = 0;\n }\n isUpdateBufferCreated() {\n return !!this._updateComputeShader;\n }\n isUpdateBufferReady() {\n return this._updateComputeShader?.isReady() ?? false;\n }\n createUpdateBuffer(defines) {\n const bindingsMapping = {\n params: { group: 0, binding: 0 },\n particlesIn: { group: 0, binding: 1 },\n particlesOut: { group: 0, binding: 2 },\n randomTexture: { group: 0, binding: 3 },\n randomTexture2: { group: 0, binding: 4 },\n };\n if (this._parent._sizeGradientsTexture) {\n bindingsMapping[\"sizeGradientTexture\"] = { group: 1, binding: 1 };\n }\n if (this._parent._angularSpeedGradientsTexture) {\n bindingsMapping[\"angularSpeedGradientTexture\"] = { group: 1, binding: 3 };\n }\n if (this._parent._velocityGradientsTexture) {\n bindingsMapping[\"velocityGradientTexture\"] = { group: 1, binding: 5 };\n }\n if (this._parent._limitVelocityGradientsTexture) {\n bindingsMapping[\"limitVelocityGradientTexture\"] = { group: 1, binding: 7 };\n }\n if (this._parent._dragGradientsTexture) {\n bindingsMapping[\"dragGradientTexture\"] = { group: 1, binding: 9 };\n }\n if (this._parent.noiseTexture) {\n bindingsMapping[\"noiseTexture\"] = { group: 1, binding: 11 };\n }\n this._updateComputeShader = new ComputeShader(\"updateParticles\", this._engine, \"gpuUpdateParticles\", { bindingsMapping, defines: defines.split(\"\\n\") });\n this._simParamsComputeShader?.dispose();\n this._simParamsComputeShader = new UniformBuffer(this._engine, undefined, undefined, \"ComputeShaderParticleSystemUBO\");\n this._simParamsComputeShader.addUniform(\"currentCount\", 1);\n this._simParamsComputeShader.addUniform(\"timeDelta\", 1);\n this._simParamsComputeShader.addUniform(\"stopFactor\", 1);\n this._simParamsComputeShader.addUniform(\"randomTextureSize\", 1);\n this._simParamsComputeShader.addUniform(\"lifeTime\", 2);\n this._simParamsComputeShader.addUniform(\"emitPower\", 2);\n if (!this._parent._colorGradientsTexture) {\n this._simParamsComputeShader.addUniform(\"color1\", 4);\n this._simParamsComputeShader.addUniform(\"color2\", 4);\n }\n this._simParamsComputeShader.addUniform(\"sizeRange\", 2);\n this._simParamsComputeShader.addUniform(\"scaleRange\", 4);\n this._simParamsComputeShader.addUniform(\"angleRange\", 4);\n this._simParamsComputeShader.addUniform(\"gravity\", 3);\n if (this._parent._limitVelocityGradientsTexture) {\n this._simParamsComputeShader.addUniform(\"limitVelocityDamping\", 1);\n }\n if (this._parent.isAnimationSheetEnabled) {\n this._simParamsComputeShader.addUniform(\"cellInfos\", 4);\n }\n if (this._parent.noiseTexture) {\n this._simParamsComputeShader.addUniform(\"noiseStrength\", 3);\n }\n if (!this._parent.isLocal) {\n this._simParamsComputeShader.addUniform(\"emitterWM\", 16);\n }\n if (this._parent.particleEmitterType) {\n this._parent.particleEmitterType.buildUniformLayout(this._simParamsComputeShader);\n }\n this._updateComputeShader.setUniformBuffer(\"params\", this._simParamsComputeShader);\n return new UniformBufferEffectCommonAccessor(this._simParamsComputeShader);\n }\n createVertexBuffers(updateBuffer, renderVertexBuffers) {\n this._renderVertexBuffers.push(renderVertexBuffers);\n }\n createParticleBuffer(data) {\n const buffer = new StorageBuffer(this._engine, data.length * 4, 3 | 8, \"ComputeShaderParticleSystemBuffer\");\n buffer.update(data);\n this._bufferComputeShader.push(buffer);\n return buffer.getBuffer();\n }\n bindDrawBuffers(index, effect, indexBuffer) {\n this._engine.bindBuffers(this._renderVertexBuffers[index], indexBuffer, effect);\n }\n preUpdateParticleBuffer() { }\n updateParticleBuffer(index, targetBuffer, currentActiveCount) {\n this._simParamsComputeShader.update();\n this._updateComputeShader.setTexture(\"randomTexture\", this._parent._randomTexture, false);\n this._updateComputeShader.setTexture(\"randomTexture2\", this._parent._randomTexture2, false);\n if (this._parent._sizeGradientsTexture) {\n this._updateComputeShader.setTexture(\"sizeGradientTexture\", this._parent._sizeGradientsTexture);\n }\n if (this._parent._angularSpeedGradientsTexture) {\n this._updateComputeShader.setTexture(\"angularSpeedGradientTexture\", this._parent._angularSpeedGradientsTexture);\n }\n if (this._parent._velocityGradientsTexture) {\n this._updateComputeShader.setTexture(\"velocityGradientTexture\", this._parent._velocityGradientsTexture);\n }\n if (this._parent._limitVelocityGradientsTexture) {\n this._updateComputeShader.setTexture(\"limitVelocityGradientTexture\", this._parent._limitVelocityGradientsTexture);\n }\n if (this._parent._dragGradientsTexture) {\n this._updateComputeShader.setTexture(\"dragGradientTexture\", this._parent._dragGradientsTexture);\n }\n if (this._parent.noiseTexture) {\n this._updateComputeShader.setTexture(\"noiseTexture\", this._parent.noiseTexture);\n }\n this._updateComputeShader.setStorageBuffer(\"particlesIn\", this._bufferComputeShader[index]);\n this._updateComputeShader.setStorageBuffer(\"particlesOut\", this._bufferComputeShader[index ^ 1]);\n this._updateComputeShader.dispatch(Math.ceil(currentActiveCount / 64));\n }\n releaseBuffers() {\n for (let i = 0; i < this._bufferComputeShader.length; ++i) {\n this._bufferComputeShader[i].dispose();\n }\n this._bufferComputeShader.length = 0;\n this._simParamsComputeShader?.dispose();\n this._simParamsComputeShader = null;\n this._updateComputeShader = null;\n }\n releaseVertexBuffers() {\n this._renderVertexBuffers.length = 0;\n }\n}\nRegisterClass(\"BABYLON.ComputeShaderParticleSystem\", ComputeShaderParticleSystem);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}