a simple 2d graphics renderer written in luau. draw shapes, handle events, make things move.
- window creation with custom sizes
- drawing primitives (pixels, lines, circles, polygons, rectangles)
- mouse and keyboard event handling
- performance optimization with dirty rectangles and batching
- color blending and gradients
- clipping system
- debug mode for performance tracking
local Renderer = require("src/renderer")local renderer = Renderer.create(800, 600, "my window")
-- draw a red circle
renderer.draw_circle(400, 300, 50, renderer.Red, true)
-- main loop
while renderer.is_window_open() do
renderer.handle_events()
renderer.present()
task.wait(1/60) -- cap at ~60fps
end- api reference - complete function documentation
- events system - mouse and keyboard event handling
- examples - code samples and tutorials
- use
renderer.present()to display your frame - batch operations when possible
- use dirty rectangles for partial screen updates
- turn off debug mode in production builds
see LICENSE for details.
made with ❤️ last updated: 29.8.2025