LuaCAD 1.2 - Supports .scad files directly without OpenSCAD + path-traced renders
What's new in 1.2
- OpenSCAD files open directly. .scad works wherever .lua does, in the CLI and in Studio. LuaCAD evaluates the language itself (front end vendored from OpenRSCAD), so OpenSCAD doesn't need to be installed. include/use resolve relative to the file, then against OPENSCADPATH. Where the result knowingly differs from OpenSCAD, it prints a warning instead of quietly producing something different.
- Path tracing. luacad render --raytrace model.lua out.png renders soft shadows, ambient occlusion and smooth shading. Set samples with --samples and the view angle with --camera AZ,EL.
- Materials. shape:material("glass", { ior = 1.5 }), with presets such as steel, gold, rubber and wood (procedural growth rings).
- New preview renderer. Studio moved from OpenCSG on legacy OpenGL to WebCSG on wgpu (Metal/Vulkan/DX12). Large models redraw about twice as fast. The browser playground uses the same renderer on WebGPU.
- surface() builds real geometry, so heightmaps export without OpenSCAD.
- Studio: Raytrace, Transparent and annotated-screenshot buttons, reload when the file changes on disk, a hideable editor, and scripts that run off the UI thread.
The chess example in the image is written in OpenSCAD. The board is laid out from a FEN string, with pieces from scad-chess.
Try it
- Playground in the browser (Lua only): luacad.ad-si.com
- brew install ad-si/tap/luacad or cargo install luacad luacad-studio
- Repo: ad-si/LuaCAD
- Full changelog: github.com/ad-si/LuaCAD/blob/main/changelog.md
6 points
Mentions
LuaCAD 1.2 - Supports .scad files directly without OpenSCAD + path-traced renders What's new in 1.2 - OpenSCAD files open directly. .scad works wherever .lua does, in the CLI and in Studio. LuaCAD evaluates the language itself (front end vendored from OpenRSCAD), so OpenSCAD doesn't need to be installed. include/use resolve relative to the file, then against OPENSCADPATH. Where the result knowingly differs from OpenSCAD, it prints a warning instead of quietly producing something different. - Path tracing. luacad render --raytrace model.lua out.png renders soft shadows, ambient occlusion and smooth shading. Set samples with --samples and the view angle with --camera AZ,EL. - Materials. shape:material("glass", { ior = 1.5 }), with presets such as steel, gold, rubber and wood (procedural growth rings). - New preview renderer. Studio moved from OpenCSG on legacy OpenGL to WebCSG on wgpu (Metal/Vulkan/DX12). Large models redraw about twice as fast. The browser playground uses the same renderer on WebGPU. - surface() builds real geometry, so heightmaps export without OpenSCAD. - Studio: Raytrace, Transparent and annotated-screenshot buttons, reload when the file changes on disk, a hideable editor, and scripts that run off the UI thread. The chess example in the image is written in OpenSCAD. The board is laid out from a FEN string, with pieces from scad-chess. Try it - Playground in the browser (Lua only): luacad.ad-si.com - brew install ad-si/tap/luacad or cargo install luacad luacad-studio - Repo: ad-si/LuaCAD - Full changelog: github.com/ad-si/LuaCAD/blob/main/changelog.md