That is some insane performance for real-time rendering. Are you thinking that you could squeeze more FPS out of this by limiting physics calculations, or is the goal purely to optimize without sacrificing physics computation?
I think currently there’s still a bit of room to optimize at this accuracy, the final step might be also adaptive resolution for the grid. But the grid actually also helps do collision handling for free and I wouldn’t want faraway things to start intersecting once you go away and then back to them.
Currently it’s deferred shading, first drawing to gbuffer a bunch of cubes stretched by the particle velocity, do some lighting calculations on a voxel grid, and on the last part do some raymarching using a ray bent using the surface normal.
@@GrantKot Interesting, so you kinda like using triangles to rasterize aabb of your particle clusters(I guess you split them into separate aabbs using density/some heuristics), and then ray march grid inside? I tried similar approach too, interestingly "teardown" uses this except objects are split into separate chunks by creators, and some tricks for fracturing.. also "Dreams" ps4 used it for solid objects
Yeah technically my liquid particles are quite reasonably arranged hierarchically. I think if I can customize the dxr acceleration structure it could be reasonable to update every frame.
I’ll need to do some optimization of the multigrid. Right now there’s a pretty big overhead so the framerate is quite low. I will see if I can get a sim this size at 60fps. And it will also be important to get some terrain and objects in for the sense of scale.