How to place single GPU particles at specified locations?

Sorry guys, been a bit busy with work. Here’s a project with the Besancon cloud, so you can see how it’s done.

The point cloud actor creates four static meshes, each with 1048576 polygons. It applies X offsets in increments of 1048576 to the Dynamic Material instances on each, after the first. It uses two 2K images for the position lookup(one for high and one for low bits), though it doesn’t really need the second one at this point.

I tried as large as 4K images for clouds with 16.7 million points, but I don’t have cards beefy enough for that to perform well. Besancon only had some 3.8 million points in total though. I just downloaded AHN3 a 20GB point cloud of the Netherlands, gonna work on streaming it in, and writing different LODs to pieces of 2K render targets. It will require the extra precision.

I noticed some rather ugly artifacts(mainly in the town, rather than the mountain) on my GTX 580(see image) that I didn’t on my R9 280x(see video). Not sure if that’s due to a difference between NVidia and AMD, or because my 580 is an old card that’s dying. I get 75-90 FPS on 280x but only 25-30 on the 580. Let me know what you see and what cards you’re using.

The color looks a bit cartoony when the RGB is compressed with HDR, but a bit blown out with other compressions, but you can fiddle texture adjustments to get a look you like.

Edit: Oh yeah, the very large and invisible cube in the point cloud actor is to replace the bounds of the long polygon chains(they are set to Use Attach Parent Bounds, under rendering details). If you use this technique in another project make sure to do that, or the point cloud won’t stay visible when the chains’ original bounds are out of view.