Download Files

Rainbow Point Cloud

This example shows how to create intricate point clouds using jit.geom that can then be used in a jit.gl.mesh based rendering setup.

The Patch

Open the patch geom-to-pointcloud.maxpat.

The patcher to achieve this does the following steps.

  • Generates a base shape using jit.geom.shape.
  • Distributes a random number of points on it using jit.geom.distribute.
  • Places many small shapes one the base shape using the points from the previous step with jit.geom.multiple.
  • It then deforms the resulting geometry using a couple of chained jit.geom.twist.
  • Finally, it uses another jit.geom.distribute to generate the visible point cloud.
  • Lastly, jit.geom.tomatrix is used so that the point cloud can be turned into a jit.gl.mesh.

The patch looks like this.

You will notice that there is one subpatcher called [p GenerateRotationAndScale]. It is a simple helper to generate random rotation and scale values for the small shapes we want to place using jit.geom.multiple.

The subpatcher to generate the random rotation and scale values.

Results

When playing around with the different settings that are exposed in the patch you can achieve a satisfying variety of point arrangements conveying different motion and texture.

Using a uv sphere as the base shape.

Using a torus as the base shape and a plane as the multiplied one.

To add animation you could use a custom vertex shader on the resulting jit.gl.mesh to modulate the point cloud. I will leave this as an excercise for the reader.