Features Demo Who it's for Beta FR Request an invite
Closed beta · opens September 12

Procedural 3D, right in your browser.

noa packs a full node editor into a browser tab: geometry, attributes, materials, real-time rendering. Built for 3D modelers and tech artists; there's nothing to install.

or try a published asset, no account needed →

450+
compute nodes
70+
GPU image nodes
WebGPU
real-time rendering
glTF · USD
standard export
noa.blueeden.ai

A real procedural pipeline, from geometry to materials

A quick tour in six stops, with real captures. Everything you see here runs in the page.

01 — Node-based modeling

Everything is a graph

Primitives, deformers, booleans, curves, SDF volumes, scattering, instances: every step is a node, and every asset is a procedure you can replay. Tweak something upstream and the rest catches up.

A noa node graph mixing volumes, expressions and iterations
02 — Attributes & expressions

Per-point control

Typed attributes on points, corners, faces or detail, with heat maps one click away. The expression language handles loops, noises, neighborhoods, dictionaries and strings; the same program runs per vertex, per voxel or per texel.

A face-area heat map on a torus, driven by an expression
03 — Procedural texturing

A GPU material workshop

70+ image nodes computed on the GPU: noises, tiling, wear, flood fill, curvature. Textures tile by construction, and mesh-to-texture bakes (AO, thickness, normals) come out of the same graph as the geometry.

A stone-slab ground generated by an image node graph
04 — Materials & rendering

Full PBR, in real time

The shading graph exposes the channels you'd expect from a current engine: clearcoat, iridescence, anisotropy, transmission, sheen, subsurface. And the viewport actually renders them, soft shadows and procedural sky included.

A set of PBR materials rendered in the noa viewport
05 — Interactive assets

Your assets become tools

Put sliders and 3D handles on any graph, then share the link. Whoever opens it can play with the asset in their browser and export the result; they don't even need an account.

A noa rock configurator opened through a plain public link
06 — Interoperability

Built for your pipeline

Import glTF, OBJ, PLY or STL; export to glTF/GLB or USD with materials, instances, lights and cameras. The capture here is a rock generated in noa, reopened untouched in Blender.

A rock exported from noa as glTF, opened in Blender with its materials
07 — Expression language

Code, when you want it

A real per-element language: loops, functions, arrays, dictionaries, strings, neighbor lookups, shortest paths. Attributes read the way you're used to (@P, @N, pscale, orient). Whatever lowers to WGSL runs on the GPU; the rest runs on the reference CPU path.

An 80-line expression program next to the surface it colors in the viewport

A building floorplan solver

Describe the program in the graph: storey contours, rooms with target areas and adjacencies, opening types, roof pitches. The solver lays out rooms, corridors, doors and windows, then builds watertight walls; annotated plans come out next to the 3D volume.

The noa floorplan graph and the multi-storey house it generates
The program as nodes: storeys, rooms, roofs, openings.
Three building modules in 3D with their annotated per-level plans
Per-module plans, areas included.

What it's made of

The core is written in Rust and compiled to WebAssembly; images, volumes and expressions run as WebGPU compute. Booleans sit on the Manifold kernel. The same scene comes out bit-identical in the browser and in the native library (that's tested continuously), and the node timings you can read in the captures are actual measurements.

Rust core → WebAssembly
WebGPU compute
Manifold booleans
Bit-exact web ↔ native

450+ nodes, and counting

Geometry, curves, volumes, points, image, shading, text, interface, export… Every card behind this heading is a shipped node.

Robust booleans SDF & fog volumes Scatter & instances Curves & NURBS UV unwrapping AO · curvature · thickness baking Loops & subgraphs Cameras & lights Bilingual UI FR · EN

Recently shipped: Graph coloring · Geodesic distance · Panelize · FFT & spectral filtering · Cameras in the graph

Play with a published asset

This rock generator is a noa graph published as a shared link. Two sliders, one handle that moves the cavity, and the mesh rebuilds while you drag. Try it yourself, no account needed.

noa.blueeden.ai/g/…
Open the configurator

You need a browser with WebGPU; recent versions of the major browsers have it.

Three ways to put it to work

3D modelers

One well-built graph is a whole family of assets. Tweak the parameters, pull ten variations, export them cleanly into your scene.

Tech artists

The wrangle, per-domain attributes, loops and subgraphs combine into tools a whole team can reuse. You write the procedure once; everyone else turns the knobs.

Studios & indies

A configurator published as a link replaces the file ping-pong: clients adjust the asset themselves, in their browser, and there's no license to pay for.

Things people ask us

Is the beta free?

Yes, entirely. Paid plans come later and aren't settled yet; testers hear about any change first.

Do my projects stay private?

Yes. Your graphs are visible to you alone; nothing goes public without a share link you create yourself.

Can I take my work with me?

Any time: glTF/GLB and USD export, with materials, instances, lights and cameras. Files you import stay yours.

What does it run on?

A browser with WebGPU, nothing to install. Recent Chrome, Edge, Firefox and Safari all ship it enabled; the line under the demo tells you whether yours is ready.

Do I need a beefy machine?

A decent GPU helps, since this is real compute. The scenes on this page run fine on a recent laptop, and shared graphs open even on phones (tested on an old Pixel 4).

What happens on September 12?

The first invites go out, picked by profile relevance. Later waves work the same way; requests stay open.

The beta opens September 12

The first wave is deliberately small: hand-picked profiles who really make 3D and will tell us what's broken. Introduce yourself in two lines (who you are, what you make); invites go out by relevance, not by arrival order.