renderer
Useful rendering primitives for your Lua script.
All functions in the renderer library must be called in the paint callback unless otherwise stated.
client.add_event_listener('paint', function()
-- call your renderer functions here
end)
functionrenderer.circle(x, y, r, g, b, a, radius)
circle
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
- Name
radius- Type
- number
- Description
Example
client.add_event_listener('paint', function()
renderer.circle(50, 50, 255, 0, 0, 255, 5)
end)
functionrenderer.circle_outline(x, y, r, g, b, a, radius, [thickness])
circle_outline
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
- Name
radius- Type
- number
- Description
- Name
thickness- Type
- number
- Default value
- = 1.0
- Description
Example
client.add_event_listener('paint', function()
renderer.circle_outline(50, 50, 255, 0, 0, 255, 5)
end)
functionrenderer.gradient(x, y, r, g, b, a)
gradient
TODO:
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
Example
client.add_event_listener('paint', function()
renderer.gradient()
end)
functionrenderer.line(x1, y1, x2, y2, r, g, b, a, [thickness])
line
Parameters
- Name
x1- Type
- number
- Description
- Name
y1- Type
- number
- Description
- Name
x2- Type
- number
- Description
- Name
y2- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
- Name
thickness- Type
- number
- Default value
- = 1.0
- Description
Example
client.add_event_listener('paint', function()
renderer.line(10, 10, 50, 50, 255, 0, 0, 255)
end)
functionrenderer.rectangle(x, y, width, height, r, g, b, a)
rectangle
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
width- Type
- number
- Description
- Name
height- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
Example
client.add_event_listener('paint', function()
renderer.rectangle(10, 10, 40, 40, 255, 0, 0, 255)
end)
functionrenderer.triangle(x1, y1, x2, y2, x3, y3, r, g, b, a, [thickness])
triangle
Parameters
- Name
x1- Type
- number
- Description
- Name
y1- Type
- number
- Description
- Name
x2- Type
- number
- Description
- Name
y2- Type
- number
- Description
- Name
x3- Type
- number
- Description
- Name
y3- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
- Name
thickness- Type
- number
- Default value
- = 1.0
- Description
Example
client.add_event_listener('paint', function()
renderer.triangle(10, 10, 10, 30, 30, 30, 255, 0, 0, 255)
end)
functionrenderer.text(x, y, r, g, b, a, str, [flags], [max_width])
text
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
r- Type
- number
- Description
- Name
g- Type
- number
- Description
- Name
b- Type
- number
- Description
- Name
a- Type
- number
- Description
- Name
str- Type
- string
- Description
- Name
flags- Type
- string
- Default value
- =
- Description
- + for large text, - for small text
- Name
max_width- Type
- number
- Default value
- = 0.0
- Description
Example
client.add_event_listener('paint', function()
renderer.text(50, 50, 255, 0, 0, 255, "Hello world!")
end)
functionrenderer.measure_text(text, [flags])
measure_text
This function can be called outside of the paint callback.
Parameters
- Name
text- Type
- string
- Description
- Name
flags- Type
- string
- Default value
- =
- Description
- Text rendering flags, see text
Returns
- Name
width- Type
- number
- Description
- Name
height- Type
- number
- Description
Example
local width, height = renderer.measure_text('', 'Hello world!')
functionrenderer.world_to_screen(x, y, z)
world_to_screen
This function can be called outside of the paint callback.
Parameters
- Name
x- Type
- number
- Description
- Name
y- Type
- number
- Description
- Name
z- Type
- number
- Description
Returns
- Name
screen_x- Type
- number
- Description
- Name
screen_y- Type
- number
- Description
Example
local screen_x, screen_y = renderer.world_to_screen(ball_pos.x, ball_pos.y, ball_pos.z)