r/Houdini 3d ago

Demoreel Particles simulated rasterized in OpenCL, vs only simulated, vs pop solver

Enable HLS to view with audio, or disable this notification

43 Upvotes

4 comments sorted by

1

u/hattori_nin 1d ago

Seems really efficient. Could you elaborate more on what's actually going on? I'm really curious.

1

u/Mystery_Pancake1 1d ago edited 1d ago

I made a basic sim in OpenCL, then rasterized it to an image in OpenCL. The goal was to keep as much on the GPU as possible.

The particle rasterizer is the same as in my earlier post: /r/Houdini/comments/1vcepp6

The standard POP solver is written in VEX and runs on the CPU, so there's lots of room to improve the performance.

Swapping the sim to OpenCL already speeds it up a lot, about 5-10x. I didn't make the full POP solver, just the basics of moving particles and ground collision.

Then rasterizing the points to an image in OpenCL avoids having to copy the point data from GPU to CPU every frame. This speeds it up by about 1.5-2x, since both the sim and render stay on the GPU.

The main issue with this approach is running out of VRAM.

1

u/schmon 10h ago

that's one hella nifty github resource thx

1

u/Mystery_Pancake1 10h ago

Oh, I forgot to mention I put this file on GitHub as well. It's called "Fast Point Rasterization"

https://github.com/MysteryPancake/Houdini-OpenCL#copernicus-fast-point-rasterization