GLB → WebP / PNG / JPEG / raw · WebGPU

GLB in, image out.

A tiny headless renderer that turns a GLB into PNG, WebP or JPEG bytes, or the raw RGBA frame for a diff or a texture. Same request, same pixels, every time. Runs in Node.js and the browser.

Browser
918 KB
Node.js
6.0 MB
JS API
0.5 KB
Twelve-tooth spur gear with authored edge lines rendered by nanoraster
12-tooth spur gear · metallic 0.72 · roughness 0.22nanoraster / webp

Try the live camera

The example below runs in your browser on WebGPU. Move a control and the request re-renders; the same call runs unchanged in Node.js.

Rendering…

 

advanced · direction XYZ
import { directionFromOrbit, renderImage } from 'nanoraster';const image = await renderImage(glb, {  format: 'webp',  quality: 1,  lineWidth: 3,  camera: {    framing: 'fit',    direction: directionFromOrbit({ azimuth: 45, elevation: 30 }),    projection: { kind: 'perspective', verticalFieldOfView: 45 },  },  background: '#101418',});

One render core. Native Metal, Vulkan, and DX12. Browser WebGPU.

Read the docs →