Scene values

The values that decide how your scene looks and is lit — cameras, lights, materials, environments, gradients, and transforms — separate from the geometry itself.

Most of DNA's data describes shapes — points, curves, meshes. Scene values are different: they describe everything around the shapes. A camera frames them, lights and an environment illuminate them, materials give surfaces their look, and transforms place them in space.

Each of these flows along a wire like any other value, so you can build them with nodes, drive them with Fields, and animate them over time.

Cameras

A camera is your window into a 3D scene. It has a position (where it sits) and a target (the point it looks at), plus near and far limits that set how close and how far it can see.

Cameras come in two flavours: perspective, where things shrink with distance like a real lens (set by field of view or focal length in millimetres), and orthographic, where everything stays the same size — handy for technical or flat looks.

You can also reach for creative lenses: a fisheye family for wide, bulging views, plus space curvature and reverse perspective for surreal, non-photographic framing.

Think in focal length if you come from photography. A low number (like 16mm) is wide and dramatic; a high number (like 85mm) is tight and flattening.

Lights

Lights add illumination you can shape and animate. There are three kinds:

Every light has a colour and an intensity, and can cast shadows on or off.

Environments

An environment is the light and backdrop that wraps your whole scene. It can be an image (an HDRI photo that lights the scene with real-world light and reflections) or a procedural sky.

You control its overall intensity, rotation (spin it to move highlights around), and a colour tint, and you can choose whether it shows up as the background behind your scene or only lights it.

An environment can light everything as a global floor, or be scoped to override the lighting of just one scene. A scene with no environment of its own still gets lit by the global one, so nothing renders pitch black by accident.

Materials

A material is the surface look applied to geometry — colour, shine, and texture. DNA uses a single flexible material that covers most needs:

A material can render in realistic (PBR), unlit (flat, ignores lights), or emissive modes. You can apply one material to a whole object, or give every point its own material through the @material attribute for per-element variety.

Materials as a multi-channel field

A material doesn't have to be one fixed set of values. Each property — base colour, metallic, roughness, and so on — can instead be driven by a field, so the look varies across the surface or through space. Bundle several of those together and you have a multi-channel field: one value on the wire carrying a named channel per material property (a PBR bundle), rather than a flat material.

That's how you paint roughness from a texture, drive metallic with noise, or read colour from a raster — all at once. See Fields for what a multi-channel field is; the difference is just one fixed material vs a material that's calculated everywhere.

Gradients

A Gradient maps a value between 0 and 1 onto a smooth run of colours, defined by a set of colour stops. It's the natural way to colour something by a quantity — height, density, speed — instead of a single flat colour.

Gradients are especially common when colouring a Distance fields & volumes, where density maps onto colour and opacity to give smoke, fire, or clouds their look.

Transforms

A transform bundles three things into one value: position, rotation, and scale (often shortened to TRS). It's how you place, turn, and resize things in space.

Because a transform travels along a wire like any other value, you can pass one object's transform into another to build parenting and hierarchies — move the parent and the children follow.

A bare position (Vec3) will happily convert into a transform — it just fills in no rotation and a scale of 1. Handy when you only need to move something.

See also