How scrpt2r/axonengine works
axonEngine is an early Roblox Luau CPU 3D software rasterizer. The runtime loads a test mesh, transforms and projects vertices, culls invisible faces, clips against the near plane, computes lighting and depth order, then scanline-fills an EditableImage displayed through an ImageLabel. The README documents debug normal overlays and the current rendering limitations. No source excerpts were available, so all implementation nodes are anchored to the only source path, with wiring limited to documented behavior.
Components 13
Runtime
- Render Script
src/testRender.server.luau - Test Mesh
src/testRender.server.luau
Geometry Processing
- Vertex Transform
src/testRender.server.luau - Perspective Projection
src/testRender.server.luau
Visibility and Shading
- Backface Culling
src/testRender.server.luau - Near-Plane Clipping
src/testRender.server.luau - Lambertian Lighting
src/testRender.server.luau - Depth Sorting
src/testRender.server.luau
Raster Output
- Scanline Rasterizer
src/testRender.server.luau - Normal Overlay
src/testRender.server.luau - EditableImage Canvas
- ImageLabel Display
Other components
- Roblox Runtime
Connections 13
- Roblox Runtime → Render Script: runs
- Render Script → Test Mesh: loads
- Render Script → Vertex Transform: transforms
- Render Script → Backface Culling: culls
- Render Script → Near-Plane Clipping: clips
- Render Script → Perspective Projection: projects
- Render Script → Lambertian Lighting: lights
- Render Script → Depth Sorting: sorts depth
- Render Script → Scanline Rasterizer: fills faces
- Render Script → Normal Overlay: draws normals
- Scanline Rasterizer → EditableImage Canvas: writes pixels
- Normal Overlay → EditableImage Canvas: writes lines
- EditableImage Canvas → ImageLabel Display: displays