Skip to content

Render (debug draw)

Render

Immediate-mode debug drawing

__all__ module-attribute

__all__: list[str] = ['draw_arrow', 'draw_circle', 'draw_filled_polygon', 'draw_line']

draw_arrow

draw_arrow(origin: Vector3, direction: Vector3, length: SupportsFloat | SupportsIndex, color: Vector4, thickness: SupportsFloat | SupportsIndex = 1.0, head_length: SupportsFloat | SupportsIndex = 0.15000000596046448, head_angle_deg: SupportsFloat | SupportsIndex = 25.0, screen_space: bool = False) -> None

Draw an arrow from origin along direction (auto-normalized) for one frame.

Example
Render.draw_arrow(pos, Vector3(0,1,0), 1.5, Vector4(0,1,0,1))

draw_circle

draw_circle(center: Vector3, radius: SupportsFloat | SupportsIndex, color: Vector4, segments: SupportsInt | SupportsIndex = 32, thickness: SupportsFloat | SupportsIndex = 1.0, screen_space: bool = False) -> None

Draw a circle outline for one frame.

Example
Render.draw_circle(pos, 1.0, Vector4(1,1,0,1))

draw_filled_polygon

draw_filled_polygon(world_points: Sequence[Vector3], fill_color: Vector4, outline_color: Vector4, outline_thickness: SupportsFloat | SupportsIndex = 1.0) -> None

Draw a filled, outlined polygon from world-space points (min 3) for one frame.

Example
Render.draw_filled_polygon(
    [Vector3(0,0,0), Vector3(1,0,0), Vector3(0,1,0)],
    Vector4(1,0,0,0.5), Vector4(1,0,0,1))

draw_line

draw_line(p1: Vector3, p2: Vector3, color: Vector4, thickness: SupportsFloat | SupportsIndex = 1.0, screen_space: bool = False) -> None

Draw a line between two world-space points for one frame.

Example
Render.draw_line(Vector3(0,0,0), Vector3(1,1,0), Vector4(1,0,0,1))