-
Notifications
You must be signed in to change notification settings - Fork 228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ParticleFX2 tasks #402
Comments
Looks awesome, very promising. |
My aim is the following:
The idea is that you should be able to replace most particle FXs with the new system, and those that can't just run it on the older system. The new system is an extreme take on efficiency, while keeping backwards compatibility with 90-95% of the functionality. I may improve it further (one of the reasons I didn't want to enhance PFX1 was its massive performance limitations); but for now soft particles are not one of the goals. Probably the biggest missing feature that PFX1 has will be individual particle sorting. Perhaps this can be countered with OIT techniques like WBOIT. |
Okay good to know. I'm glad there will be less batches and more particles possible. Well no individual particle sorting is sad for me, it means dust and clouds will look bad. But if OIT was already included in sample then great. Otherwise I doubt I could even think of that in future. |
I... did? I said "...but for now soft particles are not one of the goals."
Indeed, we'll cross that bridge when the implementations has the bare fundamentals running :)
There are many ways. Currently the most efficient ones are using SDF (Signed Distance Fields) and Compute Shaders. Not basic topics though. |
Ah I see, pity, without this my dust will look bad in any system.
Right. But SDF so far I know is to create the clouds themself, but IDK how to even put that cloud's bounding box in scene with other 3D stuff. Or maybe it would be without geometry (meshes) even? So all shaders having new code for it like fog, and shapes computed with SDF so all shaders just reading e.g. sphere position, radius for cloud areas? Hmm. Well, either way it's probably costly to render. |
No, SDF is how you render them. You use ray marching and SDF just accelerates the ray march. Here's a (very advanced) example. Here's a more simple shader where a sphere is rendered via SDF (no geometry, no vertices; all raymarching and SDF) |
The main difference between that sample and an actual SDF cloud renderer is that in the sphere example the SDF value comes from |
Right. Thanks for info. I think I'll try it someday, I enjoyed those demos since a while, it would be cool to drive through such clouds. And for soft particles? Do I need to split rendering into 2 workspaces, e.g. first draw all (or only depth?) except particles, then draw particles on top using that distance to fade them close? Is this right, and is it costly? |
Hi, just curious: what is the status on this? Is it far from finish and merge? I also saw some very nice new tutorials: BTW, wanted to also ask: is it possible to have random size particles at start?
What I'm missing here is some range e.g. factors |
I am waiting on two things:
Hlms has had some API changes in warm_up to add multithreaded shader generation and PSO generation (which btw I need to document), and I didn't want to have to deal with the changes (basically merge conflicts).
On PFX2 it should be easy to support. |
Hi. Any update, on status of this? |
The text was updated successfully, but these errors were encountered: