Create point cloud
create_point_cloudConvert a depth map or synthetic pattern into a point cloud. Points are placed on a grid with Z from brightness, supporting camera, file, or animated noise inputs.
Instructions
Render a point cloud from a depth/luminance map (or a synthetic source): scatter a resolution×resolution grid of points and push each point's XYZ from the texture — X/Y from its grid position, Z from the map's brightness × depth_scale. Unlike create_depth_displacement (a continuous shaded mesh), this is a cloud of discrete dots. A GLSL TOP packs each point's position into one RGBA32float buffer, then a Geometry COMP TOP-instances a tiny sphere once per texel (reaching resolution², up to 512²≈262k points). Creates a new baseCOMP under parent_path holding the source, a monochrome heightmap, a GLSL position-pack buffer, the instanced Geometry COMP, Camera, Light, and Render TOP ending in a Null output. Source can be an animated synthetic pattern (testable without any device, the default), a movie file, the live camera (may prompt for macOS permission), or an existing TOP (e.g. a real depth map). Use create_depth_displacement instead for a continuous shaded mesh rather than discrete dots. Exposes DepthScale, PointSize, and Spin knobs — bind DepthScale to a tempo ramp or an audio feature to make the cloud heave. Returns a summary plus a JSON block with the container path, created node paths, the effective and requested source, the point count, the output path, exposed controls, any node errors, warnings, and an inline preview image.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Texture whose brightness drives each point's depth (Z). 'synthetic' = an animated Noise pattern, so the cloud moves and the chain is testable without any device permission (the default). 'file' = a movie file. 'camera' = live webcam/capture device (creating it may pop a one-time macOS camera-permission dialog — click Allow). 'existing' = sample a TOP you already have (e.g. a real depth map). | synthetic |
| file | No | Path to a movie file to play as the source; used only when source='file'. | |
| existing | No | Path of an existing TOP to sample as the depth map; used only when source='existing' (falls back to synthetic noise with a warning if missing). | |
| resolution | No | Grid side: the cloud is resolution×resolution points (count = resolution², e.g. 128 → 16 384). One point per texel of the position buffer. Capped at 512 (262 144 points) to stay GPU-sane. | |
| depth_scale | No | How far bright pixels push each point along +Z. 0 = a flat sheet; higher = a deeper relief. | |
| point_size | No | Radius of each dot (the source sphere SOP scale). TOP-instancing applies translate only, so per-point size lives on the sphere, not on instance scale. | |
| rotate | No | Whole-cloud spin around Y in degrees/sec (0 = still). | |
| expose_controls | No | When true (default), expose live DepthScale, PointSize, and Spin knobs on the system container. | |
| parent_path | No | Parent network where the point-cloud container is created (default '/project1'). | /project1 |