Link Search Menu Expand Document

Massive Particle System

Millions of changing points fill a rotating cloud, colored by a corner-to-corner gradient. A compute shader writes random coordinates directly into a GPU buffer each frame. Pointcloud to mesh reads successive XYZ values as vertices, and Model display renders them as points. A mathematical expression rotates the cloud independently of the changing positions.

The saved buffer contains 10,240,000 Float32 values, enough for approximately 3.41 million XYZ points. That position buffer alone uses about 41 MB; rendering and other GPU resources add to the workload.

Try it

On a smaller GPU, reduce NoiseBuffer size before starting playback. Choose a multiple of three when setting a new size so the values form complete XYZ positions. A smaller size gives a sparse cloud of distinct points; a larger one reads as a solid volume. Adjust the corner colors to make its extent easier to read.

Changing the rotation expression changes how you view the cloud, not how many points it generates. If you alter the coordinate layout, match Pointcloud to mesh’s Buffer type to it; see Geometry and buffer utilities. Compute-shader support is required, but no external file is needed. Rendering uses native Model display, not Qt Quick 3D.

Try this on web

Download this example

Learn more