A directional light and a spot light casting onto the same ground, side by side. It is the light's side of shadows: whether it casts at all, and the resolution, bias and softness underneath that.
Examples
Every one of these opens in the browser editor, running, with its node graph laid out for you to take apart. Nothing to install and no account needed.
One box, copied three times, each copy a different colour. It shows how a material node picks which objects it applies to, using the object index as its group, and how it points at a material by relative path.
mat/MeshBasic geo/Material
An object that follows the mouse across a plane. The cursor ray is built in the graph and intersected with that plane, then an actor moves the object there on every tick.
geo/Actor code/CursorRay code/Plane code/RayPlaneIntersect
Two boxes dropped onto a ground plane and simulated as rigid bodies. The tagging happens in the graph: one node marks what falls, another marks the ground, and the solver takes both.
A rigid-body simulation with many objects where your cursor drive one of them, allowing you to interact with the others.
A grid of spheres shaded by a material built node by node. Roughness and metallic are read from point attributes, so the surface changes across the field instead of being one uniform value.
Two objects under one light, and only one of them casts a shadow. Turning that off per object is a pair of parameters: one enables the override, the other carries the value, and setting the value alone does nothing.
geo/ObjectProperties
A sphere dropped as a soft body, so it squashes when it lands. What the solver simulates is a coarse tetrahedral cage, and the sphere you see is rebuilt from wherever that cage ends up.
geo/PhysicsSolver geo/PhysicsSoftBodyAttributes geo/Tetrahedralize geo/CageCapture geo/CageDeform
This example creates a series of objects in a line. If you observe them from either ends of the line, you will see the objects behind the first one are tinted by the ones before them. Their materials' alpha is what makes them see-through. The last one also goes through a geo/ObjectProperties, which sets a transparency mode on that object alone. It is left on AUTO, so the material still decides and the sphere renders like the others. Set it to OPAQUE and that one sphere draws solid, with no change to its material.
geo/ObjectProperties mat/MeshBasic
A two-colour nameplate written to 3MF three ways: as two objects each with its own colour, as one merged mesh coloured triangle by triangle, and with no colour attribute at all so the assigned material supplies it. It also shows what a model has to pass before a slicer will accept it: the right way up, the right size, and closed.
geo/ThreeMFExporter geo/Fuse
A round tag with engraved letters written to DXF R12, the file every cutting tool reads: the circle to cut and the text to engrave land on separate layers, a visible transform decides the millimetre size, and a second exporter shows the plane param reading XY geometry straight from geo/Text.
A two-colour nameplate written to a single .glb, the interchange file Blender, three.js and the game engines read: every object keeps its own transform and its material's colour, and no preparation transform is needed because glTF shares Polygon's Y-up, meter conventions.
A two-part nameplate written to Wavefront OBJ, the format everything opens: each object becomes its own named o block, normals travel, and no preparation transform is needed. Its two exporters differ only in how the file is named: after the node, or after the node's full path, which stays unique when exporters in different subnets share a name.
A nameplate carrying colours, normals and a custom float, written to PLY three ways: everything merged into one mesh, only the first object, and as a scattered point cloud with no faces at all. PLY is the one format here that keeps arbitrary point attributes, and the one that can hold points with no geometry around them.
A two-part nameplate written to STL three ways: everything merged into the one mesh the format holds, only the first object, and the same model with no printer preparation so you can see what a slicer makes of a Y-up model with no units.
A plate with its width and depth written out beside it in millimetres and inches, the readout a viewer wants before downloading a file. The exporter hangs off the part and not off the readout, so the text stays on the screen and out of the file.
geo/PolyNode
This shows how to apply different colors on an SDF object
geo/MaterialAttributes geo/SDFBoolean geo/SDFBox geo/SDFSphere
Create a basic vase for 3D printing with SDF
geo/Circle geo/CopyToPoints geo/SDFBoolean geo/SDFTriangulate geo/SDFTube