diff --git a/packages/dev/core/src/Particles/EmitterTypes/coneParticleEmitter.ts b/packages/dev/core/src/Particles/EmitterTypes/coneParticleEmitter.ts index 3cce19669ba4..9852d3b10e1b 100644 --- a/packages/dev/core/src/Particles/EmitterTypes/coneParticleEmitter.ts +++ b/packages/dev/core/src/Particles/EmitterTypes/coneParticleEmitter.ts @@ -281,8 +281,7 @@ export class ConeDirectedParticleEmitter extends ConeParticleEmitter { * @param uboOrEffect defines the update shader */ public override applyToShader(uboOrEffect: UniformBufferEffectCommonAccessor): void { - uboOrEffect.setFloat("radius", this.radius); - uboOrEffect.setFloat("radiusRange", this.radiusRange); + super.applyToShader(uboOrEffect); uboOrEffect.setVector3("direction1", this.direction1); uboOrEffect.setVector3("direction2", this.direction2); } @@ -292,8 +291,7 @@ export class ConeDirectedParticleEmitter extends ConeParticleEmitter { * @param ubo ubo to create the structure for */ public override buildUniformLayout(ubo: UniformBuffer): void { - ubo.addUniform("radius", 1); - ubo.addUniform("radiusRange", 1); + super.buildUniformLayout(ubo); ubo.addUniform("direction1", 3); ubo.addUniform("direction2", 3); } diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-animations.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-animations.png new file mode 100644 index 000000000000..b491865aa8ee Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-animations.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-angular-speed.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-angular-speed.png new file mode 100644 index 000000000000..542c166c5e81 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-angular-speed.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-color.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-color.png new file mode 100644 index 000000000000..b12dc6dfa38a Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-color.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-direction.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-direction.png new file mode 100644 index 000000000000..c629d18ca6b1 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-direction.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-emit-rate.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-emit-rate.png new file mode 100644 index 000000000000..ae42f73c88ed Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-emit-rate.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-gravity.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-gravity.png new file mode 100644 index 000000000000..c6496889782e Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-gravity.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-lifetime.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-lifetime.png new file mode 100644 index 000000000000..816d0aad6d39 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-lifetime.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-rotation.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-rotation.png new file mode 100644 index 000000000000..dc5b3e1a6818 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-rotation.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-scale.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-scale.png new file mode 100644 index 000000000000..5d00d5746319 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-scale.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-size.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-size.png new file mode 100644 index 000000000000..17f5d773921a Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-size.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-speed.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-speed.png new file mode 100644 index 000000000000..dbe94544d126 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-speed.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-target-stop.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-target-stop.png new file mode 100644 index 000000000000..aec5c76b5e36 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-target-stop.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-translation-pivot.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-translation-pivot.png new file mode 100644 index 000000000000..fbbb8d6cf516 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-basic-translation-pivot.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-stretched.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-stretched.png new file mode 100644 index 000000000000..ce5345fdbf67 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-stretched.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-y.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-y.png new file mode 100644 index 000000000000..7bc673e77860 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-billboard-y.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-angular-speed.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-angular-speed.png new file mode 100644 index 000000000000..76e392bc5023 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-angular-speed.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color-range.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color-range.png new file mode 100644 index 000000000000..1fb4227a37ab Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color-range.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color.png new file mode 100644 index 000000000000..f9186619d32a Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-color.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-drag.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-drag.png new file mode 100644 index 000000000000..f4d527b3764c Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-drag.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size-range.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size-range.png new file mode 100644 index 000000000000..a789d79b29be Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size-range.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size.png new file mode 100644 index 000000000000..2f7833cb4b07 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-size.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed-limit.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed-limit.png new file mode 100644 index 000000000000..98cef17839bc Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed-limit.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed.png new file mode 100644 index 000000000000..8eb670a2c0ae Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-change-speed.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-box.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-box.png new file mode 100644 index 000000000000..29a4d309aa66 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-box.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cone.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cone.png new file mode 100644 index 000000000000..b21da98944b2 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cone.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cylinder.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cylinder.png new file mode 100644 index 000000000000..fa9925830239 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-cylinder.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cone.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cone.png new file mode 100644 index 000000000000..8cd3aa641de9 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cone.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cylinder.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cylinder.png new file mode 100644 index 000000000000..81da69c03f51 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-cylinder.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-sphere.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-sphere.png new file mode 100644 index 000000000000..d85f8acd465d Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-directed-sphere.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-hemisphere.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-hemisphere.png new file mode 100644 index 000000000000..53f593170467 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-hemisphere.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-point.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-point.png new file mode 100644 index 000000000000..2f586e706528 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-point.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-sphere.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-sphere.png new file mode 100644 index 000000000000..2be260a7c425 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-emitters-sphere.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-flowmaps.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-flowmaps.png new file mode 100644 index 000000000000..5c4be25b6464 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-flowmaps.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-local-space.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-local-space.png new file mode 100644 index 000000000000..68e6a52675ad Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-local-space.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-multiply-blend.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-multiply-blend.png new file mode 100644 index 000000000000..a22f9da64e83 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-multiply-blend.png differ diff --git a/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-noise.png b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-noise.png new file mode 100644 index 000000000000..224461cab947 Binary files /dev/null and b/packages/tools/tests/test/visualization/ReferenceImages/gpu-particles-noise.png differ diff --git a/packages/tools/tests/test/visualization/config.json b/packages/tools/tests/test/visualization/config.json index aacf7bc4cdeb..4ec3b0847c49 100644 --- a/packages/tools/tests/test/visualization/config.json +++ b/packages/tools/tests/test/visualization/config.json @@ -3866,6 +3866,223 @@ "playgroundId": "#823Q62#0", "referenceImage": "webgpuAsyncPipelinePreWarm.png", "excludedEngines": ["webgl1", "webgl2"] + }, + { + "title": "GPU Particles - Basic Properties - Size", + "playgroundId": "#3HLS3D#2", + "referenceImage": "gpu-particles-basic-size.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Scale", + "playgroundId": "#52KBLI#0", + "referenceImage": "gpu-particles-basic-scale.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Color", + "playgroundId": "#30PAK9#0", + "referenceImage": "gpu-particles-basic-color.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Speed", + "playgroundId": "#KU4I4J#0", + "referenceImage": "gpu-particles-basic-speed.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Angular Speed", + "playgroundId": "#9MOFU4#0", + "referenceImage": "gpu-particles-basic-angular-speed.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Rotation", + "playgroundId": "#DEVC42#0", + "referenceImage": "gpu-particles-basic-rotation.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Translation Pivot", + "playgroundId": "#QC8XA2#0", + "referenceImage": "gpu-particles-basic-translation-pivot.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Direction", + "playgroundId": "#M6QEUB#0", + "referenceImage": "gpu-particles-basic-direction.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Gravity", + "playgroundId": "#9AGK0W#0", + "referenceImage": "gpu-particles-basic-gravity.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Emit Rate", + "playgroundId": "#IBWI36#0", + "referenceImage": "gpu-particles-basic-emit-rate.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Lifetime", + "playgroundId": "#RL6BAK#0", + "referenceImage": "gpu-particles-basic-lifetime.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Basic Properties - Target Stop Duration", + "playgroundId": "#4AJC72#0", + "referenceImage": "gpu-particles-basic-target-stop.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Size", + "playgroundId": "#KF9X69#0", + "referenceImage": "gpu-particles-change-size.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Color", + "playgroundId": "#UWRCY4#0", + "referenceImage": "gpu-particles-change-color.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Speed", + "playgroundId": "#KBHNCB#0", + "referenceImage": "gpu-particles-change-speed.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Speed Limit", + "playgroundId": "#CTNM3R#0", + "referenceImage": "gpu-particles-change-speed-limit.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Angular Speed", + "playgroundId": "#1NLEIC#0", + "referenceImage": "gpu-particles-change-angular-speed.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Drag", + "playgroundId": "#02KAQL#0", + "referenceImage": "gpu-particles-change-drag.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Size Range", + "playgroundId": "#4EWZJ9#0", + "referenceImage": "gpu-particles-change-size-range.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Change - Color Range", + "playgroundId": "#3M1JEJ#0", + "referenceImage": "gpu-particles-change-color-range.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Point", + "playgroundId": "#PS8GQ3#0", + "referenceImage": "gpu-particles-emitters-point.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Box", + "playgroundId": "#2XD9BC#0", + "referenceImage": "gpu-particles-emitters-box.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Sphere", + "playgroundId": "#H7XR87#0", + "referenceImage": "gpu-particles-emitters-sphere.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Directed Sphere", + "playgroundId": "#0H1ATM#0", + "referenceImage": "gpu-particles-emitters-directed-sphere.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Hemisphere", + "playgroundId": "#MRQTX7#0", + "referenceImage": "gpu-particles-emitters-hemisphere.png", + "excludedEngines": ["webgl1"], + "errorRatio": 4 + }, + { + "title": "GPU Particles - Emitters - Cylinder", + "playgroundId": "#FGRJM1#0", + "referenceImage": "gpu-particles-emitters-cylinder.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Directed Cylinder", + "playgroundId": "#40T8G0#0", + "referenceImage": "gpu-particles-emitters-directed-cylinder.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Cone", + "playgroundId": "#W73H92#0", + "referenceImage": "gpu-particles-emitters-cone.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Emitters - Directed Cone", + "playgroundId": "#GSYICK#0", + "referenceImage": "gpu-particles-emitters-directed-cone.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Billboard Y", + "playgroundId": "#8QHGVT#0", + "referenceImage": "gpu-particles-billboard-y.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Billboard Stretched", + "playgroundId": "#0612KX#0", + "referenceImage": "gpu-particles-billboard-stretched.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Multiply Blend", + "playgroundId": "#D7LQAZ#0", + "referenceImage": "gpu-particles-multiply-blend.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Animations", + "playgroundId": "#B0EJQY#0", + "referenceImage": "gpu-particles-animations.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Noise", + "playgroundId": "#P6JQIP#0", + "referenceImage": "gpu-particles-noise.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Flowmaps", + "playgroundId": "#SGAEHS#0", + "referenceImage": "gpu-particles-flowmaps.png", + "excludedEngines": ["webgl1"] + }, + { + "title": "GPU Particles - Local Space", + "playgroundId": "#NK19TU#0", + "referenceImage": "gpu-particles-local-space.png", + "excludedEngines": ["webgl1"] } ] }