Fluorite
Concepts

Nodes and types

The nodes you can add, and what can connect to what.

Nodes are grouped into categories:

inputs, operators, constructors, math, trig, vector, derivative, interpolation, color, blend, uv, procedural, random, oscillators, conditional, filter.

A few worth knowing:

  • Switch, under conditional, picks one of up to four inputs by index, starting at 0.
  • Filters blur, sharpen, find edges and more; see Filters.

The picker also has:

  • value nodes (float, vec2, vec3, vec4, color, bool, uint) and the output node;
  • texture nodes for images, videos and the webcam;
  • Repeat and Feedback, to loop or remember the last frame; see Loops and feedback;
  • Named output, to give a shader extra outputs; see Named outputs;
  • presets, ready-made effects;
  • frames, to group nodes.

Types

Every input and output has a type: float, vec2, vec3, vec4, color, uint, bool or texture. Some accept any.

You can only connect compatible types, and the editor tells you when a wire isn't allowed. Good to know:

  • A single number fills every part of a vector, so a float connects to a vec3.
  • color works wherever a vec3 or vec4 does.
  • Dragging from .x, .r and similar handles gives you a single float.
  • A texture gives you a vec4 colour, and its uv input takes a vec2.

Port values

An input with no wire shows a control for its type, so you rarely need a value node for a constant:

  • a number you can type, or drag the port's label to scrub;
  • x, y, z and w fields for vectors;
  • a swatch for colours, and a switch for bool.

Wiring the port hides the control. The value is kept, and comes back if you remove the wire. Double-click the label to reset it to its default.

Ports that take a position, like a texture's uv, Checker's uv or a noise's position, read the screen uv while unwired and show a muted uv hint, so you don't need a UV node in front of them. The same goes for every preset's uv.

Drag a wire out of an unwired port and drop it on empty canvas to create what it reads: an Input node with its value, or a UV node for a position, already wired.

On this page