SPACE
MUSIC
Render Modes in SpaceMusic

19.10.2026

Render Modes
in SpaceMusic

  • SpaceMusic has Render Mode Plugins to display the results of mapping.
  • All Render Modes can export their results in different ways.
  • The Render Modes can vary greatly in their capabilities.

01Render Mode Plugins

Back to index ↑

Render Modes make the mapping of data to transforms visible in various ways. To use the visible results for tangible outputs, they need to be exported.

Render Modes and Exports

Each Render Mode can produce visual results in different ways. Render Modes use the Mapping Result of their respective layer in addition to their parameters.

Like all Plugins, the Render Mode Plugins also receive the Universal Plugin Data, which contains all the useful data produced in SpaceMusic. These include the Placements and Inputs like Textures and Fields.

If we want to use the visual results of SpaceMusic in other contexts, it is sensible to be able to export them in various ways. The Rhino file format (.3dm) is an open standard and very suitable to hold different types of data.

How exports are handled

Each plugin can output different basic types of geometry for export. The SpaceMusic Core can then take some of these outputs and further process them before writing them to the export file.

Let's take a Mesh for example. If a plugin can output a Mesh result, we can then always create a pointcloud of all the vertices or a selection of line segments of all the mesh edges.

This way it is not necessary for each plugin to provide each desired output type on their own, which would quickly get unwieldy.

Finding export modalities, which work across most core plugins is the current challenge.

02Core Render Modes

Back to index ↑
01

Mesh Transform

Geometry type
Mesh
Max geometry
100k
Rendering style
Shaded
Status
Good

Mesh Transform takes the objects chosen in the Object Mapping and renders them on every placement vertex. The meshes are currently displayed in shaded mode, with color coming from the Color Mapping and Metallicness, Roughness and Emissive values coming from the Material Mapping.

At the moment Mesh Transform does not have/need any plugin parameters.

Export options →
02

Mesh Particles Transform

Geometry type
Particles
Max geometry
1 Mio
Rendering style
Shaded
Status
Experimental

Mesh Particles Transform takes Mesh objects as its transformed objects, but then represents each mesh object using particles spread over the surface of the meshes.

The density, type and size of the particles can be changed.

Export options →
03

Sprite Transform

Geometry type
Fuse Sprites
Max geometry
1 Mio
Rendering style
Shaded, Flat
Status
Good

Sprite transform represents objects on each placement vertex with a rendered Sprite. A Sprite is a simple primitive that is calculated directly in a shader. We can render each particle in 3 different shapes: as a box, as a sphere and as a disc.

The disc is a 2D sprite, which is rendered as a 2D circle, but it can have transparency and/or a falloff to give it a soft edge.

Export options →
04

Sprite Emitter

Geometry type
Fuse Sprites
Max geometry
1 Mio
Rendering style
Shaded
Status
To Test

Sprite Emitter will emit particles from each Placement Vertex. It can also draw a particle on every Placement Vertex as well (same as Sprite Transform). The velocity and direction of each emitter is calculated from the Transformation Mapping of each Placement Vertex.

Export options →
05

Fluid Forces

Geometry type
Fuse Sprites
Max geometry
1 Mio
Rendering style
Shaded
Status
In Progress

Sprite Field will use a field to simulate particles in a fluid. The particles are placed at the Placement Vertices initially, but are then moved by the fluid simulation.

Export options →
06

Connection Transform

Geometry type
Mesh, Sprite, Quad
Max geometry
100k points + 1 Mio connections
Rendering style
Shaded, Flat
Status
Good

Connection transform adds connection lines between selected placement vertices. We can adjust the distance it should try to connect to and several other parameters. We can also change the way they are drawn, between drawing them as sprites or geometries.

Export options →
07

SDF Transform

Geometry type
SDF
Max geometry
100
Rendering style
MatCap
Status
Good

The SDF Transform Render Mode will place and transform SDFs on selected placement vertices and transform them. Since only a limited number of SDFs can be drawn at the same time, we have to select which placement vertices to place them on. You can adjust the Start and End Offset to select the range of placement vertices.

The SDFs are raymarched and normally use MatCap rendering. SDFs can also cast shadows.

Export options →
08

SDF Attractor

Geometry type
SDF + Fuse Particles
Max geometry
100 SDFs + 1 Mio Particles
Rendering style
Shaded, Flat
Status
Good

The SDF Attractor render mode uses an existing SDF from another layer and attracts particles, which will be attracted by the surface of the SDF. The particles are emitted within a box around the SDFs.

Export options →
09

Height Map

Geometry type
Mesh Surface
Max geometry
1
Rendering style
Shaded
Status
Good

Height Map uses a texture as displacement of a surface. It can render it inside a box, which is open on the top, so it looks like it is a fluid surface in an open box. It does not use the Mapping Result, but is very useful for visualizing texture results.

Export options →

03Export Formats

Back to index ↑

When exporting the results of a Render Mode to a file, there are 3 basic types that we can distinguish.

Type 1

Direct Exports

Firstly, there are the "Direct Exports", where we can simply write the visible result into a file directly. If we transform instances of a mesh in our Render Mode, we can directly write these to a Rhino file.

Type 2

Indirect Exports

Secondly, there are "Indirect Exports", where we need to convert the visible result first, because it is not writeable to a file directly. Sprite instances are a good example. Sprites only exist on the GPU and cannot be written to a 3D file directly, so we convert them to mesh substitutes and then write them as Mesh Instances.

Type 3

Derived Exports

Finally there are "Derived Exports", where we take an export result and then derive a different kind of geometry from them. These exports are like a post-process that happens between a direct or indirect export and writing to the 3D file.

A good example of a Derived Export are Mesh Edges as Curves: We first need an export in a mesh format as an intermediate step and then derive the mesh edges as curves from it. We then write the curves to a 3D file.

Export types

Single Mesh

A Single Mesh refers to an export as a mesh, where all objects are merged into one. A single mesh does not have to be continuous, meaning you can have distinct shapes with no connection and it is still a single mesh.

You can normally "explode" a mesh to be able to select and manipulate each object individually.

Status per plugin ↓

Mesh Instances

Any time we use instancing in one of our Render Modes we can export those instances as Mesh Instances in the Rhino file. The mesh to be instanced is placed in a Block, which can then be transformed as many times as needed without increasing file size.

If we are instancing a geometry like Sprites, which only exist on the GPU, we can replace them with a similar mesh and export them as Mesh Instances as well.

Status per plugin ↓

Pointcloud Pivots

A Pivot is a 3D location in space. Since we always work with transforms in 3D space, we can always export the locations of our transforms as a pointcloud. Pointclouds are extremely performant in Rhino and can have millions of points with no performance issues.

If we are transforming particles in SpaceMusic then the pivot is equivalent to the position of the particle. That way a Particle Pivot export will look identical to the particle result in SpaceMusic.

Status per plugin ↓

Pointcloud Vertices

Exporting the vertices of a mesh as a pointcloud can be done as a derived export of all Render Modes that can export as a mesh.

There are also Render Modes which can do this already in SpaceMusic and transform a mesh object, which has been turned into a collection of points already.

Status per plugin ↓

Connection Curves

Connections are a Render Mode, which can connect existing pivots of a placement with line segments. These can be exported as curves or line segments into a Rhino file.

Status per plugin ↓

04Render Modes Comparison

Back to index ↑
PluginPreviewGeometry TypeMax Geometry CountRendering StyleStatus
Mesh TransformMesh100kShadedGood
Mesh Particles TransformParticles1 MioShadedExperimental
Sprite TransformFuse Sprites1 MioShaded, FlatGood
Sprite EmitterFuse Sprites1 MioShadedTo Test
Fluid ForcesFuse Sprites1 MioShadedIn Progress
Connection TransformMesh, Sprite, Quad100k points + 1 Mio connectionsShaded, FlatGood
SDF TransformSDF100MatCapGood
SDF AttractorSDF + Fuse Particles100 SDFs + 1 Mio ParticlesShaded, FlatGood
Height MapMesh Surface1ShadedGood

Scroll sideways to see all columns →

Export as…

Done Planned Buggy Needed?
Plugin Single Mesh Mesh Instances Pointcloud Pivots Pointcloud Vertices Curves Other
Mesh Transform Joined MeshDone Blocks of MeshesDone Pointcloud of Placement PivotsDone Pointcloud of Mesh VerticesPlanned Mesh EdgesPlanned
Mesh Particles Transform Joined Mesh of original MeshesBuggy Blocks of original MeshesBuggy Pointcloud of Placement PivotsBuggy Pointcloud of Mesh VerticesPlanned
Sprite Transform Joined Mesh of sprite substitutesDone Blocks of sprite substitutesDone Pointcloud of Placement PivotsDone Pointcloud of Mesh VerticesPlanned Direction VectorsPlanned
Sprite Emitter Joined Mesh of sprite substitutesPlanned Blocks of sprite substitutesDone Pointcloud of Placement PivotsDone Pointcloud of Mesh VerticesPlanned Direction VectorsPlanned
Fluid Forces Joined Mesh of sprite substitutesPlanned Blocks of sprite substitutesDone Pointcloud of Placement PivotsDone Pointcloud of Mesh VerticesPlanned Direction VectorsPlanned
Connection Transform Joined Mesh of PipesPlanned Blocks of Mesh PipesPlanned Pointcloud of line centersPlanned Pointcloud of particles linesPlanned Line segmentsPlanned
SDF Transform Joined MeshDone Pointcloud of Placement PivotsNeeded? Mesh EdgesPlanned
SDF Attractor Joined Mesh of sprite substitutesPlanned Blocks of sprite substitutesPlanned Pointcloud of Placement PivotsNeeded? Pointcloud of Mesh VerticesPlanned Direction VectorsPlanned
Height Map Single Mesh of surfacePlanned Pointcloud of Mesh VerticesPlanned Mesh EdgesPlanned TexturesDone

Scroll sideways to see all columns →