renderer

Useful rendering primitives for your Lua script.

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

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

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)