Geometry (meshes)

Meshes are points joined into faces and edges — solid surfaces you can shade, texture, boolean and sculpt.

What a mesh is

A mesh is a point cloud with one extra ingredient: connectivity. The points become corners, the corners join into edges and faces, and suddenly you have a continuous surface instead of a loose dust of dots.

That surface is what lets a sphere look like a sphere, catch light, and hold a texture. Nodes like mesh.sphere and mesh.cube hand you geometry directly, and any 3D import arrives as a mesh.

Like every other collection, a mesh carries a table of attributes you can read and write — but on top of @P (position) it adds two that make surfaces look good:

These ride along per-corner, so a single face can blend smoothly across its vertices.

Points vs. geometry — when to reach for which

Reach for points when you only care about positions — scattering, instancing, particles, drawing dots or lines. Reach for geometry when you need a real surface: something to light, texture, carve, or thicken.

A quick rule of thumb: if a node talks about faces, edges, normals or volume, it needs geometry. These all require a true mesh:

Feed any of those a bare point cloud and there are no faces to work on.

Converting between points and meshes

DNA converts data types automatically wherever it can, and you can also do it on purpose.

Turning a mesh into points throws away the connectivity — the faces, edges and per-corner @uv/@N go with it. Going back the other way has to rebuild a surface from scratch, and it won't be the same mesh you started with. Keep an un-converted copy upstream if you might need the surface again.

Want a flat shape lifted into 3D rather than a full mesh? Many 2D analytic shapes can be extruded or swept — see geometry.sweep — which often keeps things lighter than modelling a solid by hand.

See also