Skip to content

max.js v0.5.0

Choose a tag to compare

@cl0nazepamm cl0nazepamm released this 03 Jun 00:11
· 44 commits to master since this release

max.js now behaves less like a demo viewport and more like a deployable 3ds Max → Three.js runtime: clearer renderer modes, stronger sync, scene-local scripting, snapshot parity, broader material coverage, and release packaging for current Max targets.

Visit clone.llc to see a website exported using max.js! More examples will be added soon!
Thank you for your support!

Note: PostFX stack cannot be exported using snapshots yet.

Baseline: v0.2.5.

New Features

  • Geospatial sky — by @takram-design-engineering
  • TSL presets — preset dropdowns for three.js TSL materials and texture maps by boytchev
  • Snapshot Builder — one-click deployable snapshot.html / snapshot_webgpu.html runtime (snapshot.json + scene.bin + optional scene_anim.bin + sidecars), with scene-local layer replay.
  • Lightmaps in Snapshots — bake lighting/beauty passes to textures per object, material, or scene, carried through to snapshot export with built-in EXR converter (keeps viewer tonemap)
  • ctx.instances — runtime read/write of synced instance groups, live and in standalone.
  • Renderer modes — New experimental Pathtracer mode by @gkjohnson
  • New compact UI — Compact and minimal UI that matches 3ds Max nitrous viewport layout.

Improved

  • Performance — Major performance improvement regarding sync performance. Per tick budgeting and fast path coverage expanded across the board. Expect minimal Nitrous framerate loss.
  • Binary — Packed binary snapshot geometry and animation support were expanded.
  • Renderer & FX — Unified post-FX stack. Shader Lab is now fully integrated to WebGPU pipeline.
  • Runtime layersctx.maxScene authored-data reads, ctx.js owned-object tracking, camera target APIs, clone helpers, surface sampling.
  • Sync & native — compile-time delta layouts + material slot tables.
  • Materials & textures — tightened Physical / glTF / USD Preview / V-Ray / OpenPBR / Shell / three.js / TSL / Toon / MaterialX serializers; glTF alpha; video textures (MIME + HTTP range); HTML textures; OSL Uber Bitmap; UV-tagged bake overrides.
  • Normals — Tangents and normals now synced properly. Expect 1:1 match between Nitrous and Three.js
  • Snapshot / Viewer parity — full light set + shadow params; three.js sky, geospatial sky, fog, HDRI, environment precedence; camera clipping + target state preserved across snapshot UI.
  • ActiveShade — More stable. It's still a hack though so expect it to go off the window (just restart the viewer via macroscript)

Supported 3ds Max versions

  • Built & tested: 2026, 2027.
  • 2024 & 2025: compile + link cleanly against their SDKs. Not tested as I don't have old 3dsmax versions installed. Please let me know about any issues.

Install

  1. Copy maxjs.gup and maxjs_web/ into your 3ds Max <ver>\plugins folder.

Known limits

  • Path tracing is experimental and live-only and not part of the stable snapshot/export contract.
  • Arbitrary 3dsmax procedural texmap baking remains intentionally disabled.
  • No PostFX in snapshots yet. Coming in a future release.

Each archive contains maxjs.gup + maxjs_w eb/. See Install above.