Hey there guys. I apologize if this has been asked before but I couldn’t find anything on it.
When using “GPUParticleSystem”, there is a dead space directly in the middle of the particle system of maybe just a couple pixels. “ParticleSystem” behaves as expected with no dead space.
Here’s a repro just based off the example playground https://playground.babylonjs.com/#PU4WYI#4 You should see the dot when you zoom in far enough to see the emitter box. I can see it zoomed out now because I’ve been fixated on it since I discovered it and now you wont be able to unsee it lol.
For further context, it looks as if the center point isn’t starting in the right spot or is not being treated as a vector to be rendered to. Making the emitter invisible or changing size to 0 does not get rid of it either. Update: It also appears it may not have to do with the particle itself… the dot seems to be originating from the canvas itself as it’s always dead center.
If you find a solution, please let me know if you can post me the fix as well, as I don’t have control over the version of Babylon I use. I’ve been directly adding stuff to it but I’m using MV3D, an RPG Maker plug in with Babylon as the backend.
Thanks for all the work you guys do on this thing! ![:slight_smile: :slight_smile:](https://emoji.discourse-cdn.com/win10/slight_smile.png?v=12)
cc @Evgeni_Popov
P.S. I can’t seem to find the dead pixel. Could you share a screenshot of it? Many thanks!
1 Like
yeah I see it too ![:slight_smile: :slight_smile:](https://emoji.discourse-cdn.com/win10/slight_smile.png?v=12)
A bit of it was the fountain box with visibility not set to 0 (it was 0.1)
GPU particles | Babylon.js Playground
Then the final tiny dot is because particles are not created at 0, they are created with a tiny movement already and thus they will never be perfectly at 0,0,0
Certainly.
Zoomed in on emitter-
GPUParticleSystem
![Screenshot 2025-01-31 124054](https://us1.discourse-cdn.com/flex020/uploads/babylonjs/original/3X/d/b/dba96b0aa0cb1649f4d77eae46f31734795102ae.png)
ParticleSystem
![Screenshot 2025-01-31 124138](https://us1.discourse-cdn.com/flex020/uploads/babylonjs/original/3X/c/3/c349810c6589dfa89b1d01c9c0dfc099a6c61a58.png)
This is the fountain object.
Here is a version with no emitter mesh: GPU particles | Babylon.js Playground
And then if you hold right click to pan the camera it stays unrendered at the center of a canvas always.
That being said the tiny last pixel is coming from the dead particles before they get recycled (We need to have them somewhere).
One possible update in the future would be to simply discard the call for dead particles.
yup that’s the dead particles ;D They are stored at 0,0,0 (in the camera view)
Let me check if I can fix that quickly because I cannot unsee it now ;D
Ok. Thanks a lot for answering. That makes sense. See I told you it’s maddening! lol
1 Like
Yeah so the death particles were actually fine
But the feedback loop was writing into the depth buffer!
here is the fix:
Fix feedback loop rendered that was rendering to the depth buffer by deltakosh · Pull Request #16134 · BabylonJS/Babylon.js
Thanks Hawkeye ![:smiley: :smiley:](https://emoji.discourse-cdn.com/win10/smiley.png?v=12)
2 Likes
Awesome. I’ll see about adapting this into this webpacked mess now lol. Thanks for the quick replies and the fixes everyone! Absolute beasts. ![:sunglasses: :sunglasses:](https://emoji.discourse-cdn.com/win10/sunglasses.png?v=12)
1 Like