Skip to content

Render Settings

Render settings control output quality, background, and debug overlays. Access them via scene.render.

local render = scene.render
render.antialiasing = "msaa4" -- "none" | "msaa2" | "msaa4" | "msaa8"
ModeDescription
"none"No anti-aliasing (fastest)
"msaa2"2× multisample anti-aliasing
"msaa4"4× multisample (good balance)
"msaa8"8× multisample (highest quality)

Control what’s drawn behind the scene:

render.clear_mode = "color" -- "color" | "skybox" | "none"
render.background_color = { r = 0.1, g = 0.1, b = 0.1, a = 1 }
ModeDescription
"color"Fill with background_color
"skybox"Use the environment sky settings
"none"Transparent (useful for compositing)

Toggle wireframe rendering for debugging geometry:

render.wireframe = true -- default false

Read-only stats for profiling and debugging:

PropertyTypeDescription
render.draw_callsnumberDraw calls this frame
render.triangle_countnumberTriangles rendered this frame
render.vertex_countnumberVertices processed this frame
render.texture_memorynumberGPU texture memory in bytes
render.fpsnumberCurrent frames per second
render.frame_time_msnumberTime for the last frame in milliseconds
-- Log performance stats
print(string.format(
"FPS: %.0f | Draw calls: %d | Triangles: %d | VRAM: %.1f MB",
render.fps,
render.draw_calls,
render.triangle_count,
render.texture_memory / (1024 * 1024)
))
local render = scene.render
-- Wireframe with solid background
render.wireframe = true
render.clear_mode = "color"
render.background_color = { r = 0.15, g = 0.15, b = 0.15, a = 1 }
render.antialiasing = "none" -- wireframe doesn't need AA
-- Print stats every frame
print(string.format("Tris: %d, Draws: %d", render.triangle_count, render.draw_calls))
local render = scene.render
render.antialiasing = "msaa4"
render.clear_mode = "skybox" -- use environment sky
render.wireframe = false