# Python API — Raylib Python documentation

# Python API

This is a wrapper around the C API with some syntactic sugar.

The API is still the same as Raylib, so you should still reply on:

- the C Raylib docs

- the C Raylib examples

- the C Raylib header file

The differences are:

- the function names are in snake_case.

- Some string and pointer conversions are handled automatically.

- There are some helper functions to create structures.

## Examples

Example program:

    import pyray as pr

    pr.init_window(800, 450, "Hello Pyray")
    pr.set_target_fps(60)

    camera = pr.Camera3D([18.0, 16.0, 18.0], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], 45.0, 0)

    while not pr.window_should_close():
        pr.update_camera(camera, pr.CAMERA_ORBITAL)
        pr.begin_drawing()
        pr.clear_background(pr.RAYWHITE)
        pr.begin_mode_3d(camera)
        pr.draw_grid(20, 1.0)
        pr.end_mode_3d()
        pr.draw_text("Hello world", 190, 200, 20, pr.VIOLET)
        pr.end_drawing()
    pr.close_window()

Tip

New in 3.7.0.post9:

You can also now import the functions with no prefix:

    from pyray import *

    init_window(800, 450, "Raylib texture test")
    ...

See all examples here

## API reference

class pyray.AudioStream(buffer: Any | None = None, processor: Any | None = None, sampleRate: int | None = None, sampleSize: int | None = None, channels: int | None = None)

  struct

  buffer: Any
  channels: int
  processor: Any
  sampleRate: int
  sampleSize: int

class pyray.AutomationEvent(frame: int | None = None, type: int | None = None, params: list | None = None)

  struct

  frame: int
  params: list
  type: int

class pyray.AutomationEventList(capacity: int | None = None, count: int | None = None, events: Any | None = None)

  struct

  capacity: int
  count: int
  events: Any

pyray.BEIGE: Color

pyray.BLACK: Color

pyray.BLANK: Color

pyray.BLUE: Color

pyray.BROWN: Color

class pyray.BlendMode

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  BLEND_ADDITIVE = 1
  BLEND_ADD_COLORS = 3
  BLEND_ALPHA = 0
  BLEND_ALPHA_PREMULTIPLY = 5
  BLEND_CUSTOM = 6
  BLEND_CUSTOM_SEPARATE = 7
  BLEND_MULTIPLIED = 2
  BLEND_SUBTRACT_COLORS = 4

class pyray.BoneInfo(name: list | None = None, parent: int | None = None)

  struct

  name: list
  parent: int

class pyray.BoundingBox(min: Vector3 | list | tuple | None = None, max: Vector3 | list | tuple | None = None)

  struct

  max: Vector3
  min: Vector3

class pyray.Camera2D(offset: Vector2 | list | tuple | None = None, target: Vector2 | list | tuple | None = None, rotation: float | None = None, zoom: float | None = None)

  struct

  offset: Vector2
  rotation: float
  target: Vector2
  zoom: float

class pyray.Camera3D(position: Vector3 | list | tuple | None = None, target: Vector3 | list | tuple | None = None, up: Vector3 | list | tuple | None = None, fovy: float | None = None, projection: int | None = None)

  struct

  fovy: float
  position: Vector3
  projection: int
  target: Vector3
  up: Vector3

class pyray.CameraMode

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  CAMERA_CUSTOM = 0
  CAMERA_FIRST_PERSON = 3
  CAMERA_FREE = 1
  CAMERA_ORBITAL = 2
  CAMERA_THIRD_PERSON = 4

class pyray.CameraProjection

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  CAMERA_ORTHOGRAPHIC = 1
  CAMERA_PERSPECTIVE = 0

class pyray.Color(r: int | None = None, g: int | None = None, b: int | None = None, a: int | None = None)

  struct

  a: int
  b: int
  g: int
  r: int

class pyray.ConfigFlags

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  FLAG_BORDERLESS_WINDOWED_MODE = 32768
  FLAG_FULLSCREEN_MODE = 2
  FLAG_INTERLACED_HINT = 65536
  FLAG_MSAA_4X_HINT = 32
  FLAG_VSYNC_HINT = 64
  FLAG_WINDOW_ALWAYS_RUN = 256
  FLAG_WINDOW_HIDDEN = 128
  FLAG_WINDOW_HIGHDPI = 8192
  FLAG_WINDOW_MAXIMIZED = 1024
  FLAG_WINDOW_MINIMIZED = 512
  FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384
  FLAG_WINDOW_RESIZABLE = 4
  FLAG_WINDOW_TOPMOST = 4096
  FLAG_WINDOW_TRANSPARENT = 16
  FLAG_WINDOW_UNDECORATED = 8
  FLAG_WINDOW_UNFOCUSED = 2048

class pyray.CubemapLayout

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  CUBEMAP_LAYOUT_AUTO_DETECT = 0
  CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4
  CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3
  CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2
  CUBEMAP_LAYOUT_LINE_VERTICAL = 1

pyray.DARKBLUE: Color

pyray.DARKBROWN: Color

pyray.DARKGRAY: Color

pyray.DARKGREEN: Color

pyray.DARKPURPLE: Color

class pyray.FilePathList(capacity: int | None = None, count: int | None = None, paths: list[str] | None = None)

  struct

  capacity: int
  count: int
  paths: list[str]

class pyray.Font(baseSize: int | None = None, glyphCount: int | None = None, glyphPadding: int | None = None, texture: Texture | list | tuple | None = None, recs: Any | None = None, glyphs: Any | None = None)

  struct

  baseSize: int
  glyphCount: int
  glyphPadding: int
  glyphs: Any
  recs: Any
  texture: Texture

class pyray.FontType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  FONT_BITMAP = 1
  FONT_DEFAULT = 0
  FONT_SDF = 2

pyray.GOLD: Color

pyray.GRAY: Color

pyray.GREEN: Color

class pyray.GamepadAxis

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  GAMEPAD_AXIS_LEFT_TRIGGER = 4
  GAMEPAD_AXIS_LEFT_X = 0
  GAMEPAD_AXIS_LEFT_Y = 1
  GAMEPAD_AXIS_RIGHT_TRIGGER = 5
  GAMEPAD_AXIS_RIGHT_X = 2
  GAMEPAD_AXIS_RIGHT_Y = 3

class pyray.GamepadButton

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3
  GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4
  GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2
  GAMEPAD_BUTTON_LEFT_FACE_UP = 1
  GAMEPAD_BUTTON_LEFT_THUMB = 16
  GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9
  GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10
  GAMEPAD_BUTTON_MIDDLE = 14
  GAMEPAD_BUTTON_MIDDLE_LEFT = 13
  GAMEPAD_BUTTON_MIDDLE_RIGHT = 15
  GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7
  GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8
  GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6
  GAMEPAD_BUTTON_RIGHT_FACE_UP = 5
  GAMEPAD_BUTTON_RIGHT_THUMB = 17
  GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11
  GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12
  GAMEPAD_BUTTON_UNKNOWN = 0

class pyray.Gesture

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  GESTURE_DOUBLETAP = 2
  GESTURE_DRAG = 8
  GESTURE_HOLD = 4
  GESTURE_NONE = 0
  GESTURE_PINCH_IN = 256
  GESTURE_PINCH_OUT = 512
  GESTURE_SWIPE_DOWN = 128
  GESTURE_SWIPE_LEFT = 32
  GESTURE_SWIPE_RIGHT = 16
  GESTURE_SWIPE_UP = 64
  GESTURE_TAP = 1

class pyray.GlyphInfo(value: int | None = None, offsetX: int | None = None, offsetY: int | None = None, advanceX: int | None = None, image: Image | list | tuple | None = None)

  struct

  advanceX: int
  image: Image
  offsetX: int
  offsetY: int
  value: int

class pyray.GuiCheckBoxProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  CHECK_PADDING = 16

class pyray.GuiColorPickerProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  COLOR_SELECTOR_SIZE = 16
  HUEBAR_PADDING = 18
  HUEBAR_SELECTOR_HEIGHT = 19
  HUEBAR_SELECTOR_OVERFLOW = 20
  HUEBAR_WIDTH = 17

class pyray.GuiComboBoxProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  COMBO_BUTTON_SPACING = 17
  COMBO_BUTTON_WIDTH = 16

class pyray.GuiControl

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  BUTTON = 2
  CHECKBOX = 6
  COLORPICKER = 13
  COMBOBOX = 7
  DEFAULT = 0
  DROPDOWNBOX = 8
  LABEL = 1
  LISTVIEW = 12
  PROGRESSBAR = 5
  SCROLLBAR = 14
  SLIDER = 4
  SPINNER = 11
  STATUSBAR = 15
  TEXTBOX = 9
  TOGGLE = 3
  VALUEBOX = 10

class pyray.GuiControlProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  BASE_COLOR_DISABLED = 10
  BASE_COLOR_FOCUSED = 4
  BASE_COLOR_NORMAL = 1
  BASE_COLOR_PRESSED = 7
  BORDER_COLOR_DISABLED = 9
  BORDER_COLOR_FOCUSED = 3
  BORDER_COLOR_NORMAL = 0
  BORDER_COLOR_PRESSED = 6
  BORDER_WIDTH = 12
  TEXT_ALIGNMENT = 14
  TEXT_COLOR_DISABLED = 11
  TEXT_COLOR_FOCUSED = 5
  TEXT_COLOR_NORMAL = 2
  TEXT_COLOR_PRESSED = 8
  TEXT_PADDING = 13

class pyray.GuiDefaultProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  BACKGROUND_COLOR = 19
  LINE_COLOR = 18
  TEXT_ALIGNMENT_VERTICAL = 21
  TEXT_LINE_SPACING = 20
  TEXT_SIZE = 16
  TEXT_SPACING = 17
  TEXT_WRAP_MODE = 22

class pyray.GuiDropdownBoxProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  ARROW_PADDING = 16
  DROPDOWN_ARROW_HIDDEN = 18
  DROPDOWN_ITEMS_SPACING = 17
  DROPDOWN_ROLL_UP = 19

class pyray.GuiIconName

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  ICON_1UP = 148
  ICON_229 = 229
  ICON_230 = 230
  ICON_231 = 231
  ICON_232 = 232
  ICON_233 = 233
  ICON_234 = 234
  ICON_235 = 235
  ICON_236 = 236
  ICON_237 = 237
  ICON_238 = 238
  ICON_239 = 239
  ICON_240 = 240
  ICON_241 = 241
  ICON_242 = 242
  ICON_243 = 243
  ICON_244 = 244
  ICON_245 = 245
  ICON_246 = 246
  ICON_247 = 247
  ICON_248 = 248
  ICON_249 = 249
  ICON_250 = 250
  ICON_251 = 251
  ICON_252 = 252
  ICON_253 = 253
  ICON_254 = 254
  ICON_255 = 255
  ICON_ALARM = 205
  ICON_ALPHA_CLEAR = 93
  ICON_ALPHA_MULTIPLY = 92
  ICON_ARROW_DOWN = 116
  ICON_ARROW_DOWN_FILL = 120
  ICON_ARROW_LEFT = 114
  ICON_ARROW_LEFT_FILL = 118
  ICON_ARROW_RIGHT = 115
  ICON_ARROW_RIGHT_FILL = 119
  ICON_ARROW_UP = 117
  ICON_ARROW_UP_FILL = 121
  ICON_AUDIO = 122
  ICON_BIN = 143
  ICON_BOX = 80
  ICON_BOX_BOTTOM = 85
  ICON_BOX_BOTTOM_LEFT = 86
  ICON_BOX_BOTTOM_RIGHT = 84
  ICON_BOX_CENTER = 89
  ICON_BOX_CIRCLE_MASK = 90
  ICON_BOX_CONCENTRIC = 110
  ICON_BOX_CORNERS_BIG = 99
  ICON_BOX_CORNERS_SMALL = 98
  ICON_BOX_DOTS_BIG = 109
  ICON_BOX_DOTS_SMALL = 108
  ICON_BOX_GRID = 96
  ICON_BOX_GRID_BIG = 111
  ICON_BOX_LEFT = 87
  ICON_BOX_MULTISIZE = 102
  ICON_BOX_RIGHT = 83
  ICON_BOX_TOP = 81
  ICON_BOX_TOP_LEFT = 88
  ICON_BOX_TOP_RIGHT = 82
  ICON_BREAKPOINT_OFF = 213
  ICON_BREAKPOINT_ON = 212
  ICON_BRUSH_CLASSIC = 24
  ICON_BRUSH_PAINTER = 25
  ICON_BURGER_MENU = 214
  ICON_CAMERA = 169
  ICON_CASE_SENSITIVE = 215
  ICON_CLOCK = 139
  ICON_COIN = 146
  ICON_COLOR_BUCKET = 29
  ICON_COLOR_PICKER = 27
  ICON_CORNER = 187
  ICON_CPU = 206
  ICON_CRACK = 155
  ICON_CRACK_POINTS = 156
  ICON_CROP = 36
  ICON_CROP_ALPHA = 37
  ICON_CROSS = 113
  ICON_CROSSLINE = 192
  ICON_CROSS_SMALL = 128
  ICON_CUBE = 162
  ICON_CUBE_FACE_BACK = 168
  ICON_CUBE_FACE_BOTTOM = 166
  ICON_CUBE_FACE_FRONT = 165
  ICON_CUBE_FACE_LEFT = 164
  ICON_CUBE_FACE_RIGHT = 167
  ICON_CUBE_FACE_TOP = 163
  ICON_CURSOR_CLASSIC = 21
  ICON_CURSOR_HAND = 19
  ICON_CURSOR_MOVE = 52
  ICON_CURSOR_MOVE_FILL = 68
  ICON_CURSOR_POINTER = 20
  ICON_CURSOR_SCALE = 53
  ICON_CURSOR_SCALE_FILL = 69
  ICON_CURSOR_SCALE_LEFT = 55
  ICON_CURSOR_SCALE_LEFT_FILL = 71
  ICON_CURSOR_SCALE_RIGHT = 54
  ICON_CURSOR_SCALE_RIGHT_FILL = 70
  ICON_DEMON = 152
  ICON_DITHERING = 94
  ICON_DOOR = 158
  ICON_EMPTYBOX = 63
  ICON_EMPTYBOX_SMALL = 79
  ICON_EXIT = 159
  ICON_EXPLOSION = 147
  ICON_EYE_OFF = 45
  ICON_EYE_ON = 44
  ICON_FILE = 218
  ICON_FILETYPE_ALPHA = 194
  ICON_FILETYPE_AUDIO = 11
  ICON_FILETYPE_BINARY = 200
  ICON_FILETYPE_HOME = 195
  ICON_FILETYPE_IMAGE = 12
  ICON_FILETYPE_INFO = 15
  ICON_FILETYPE_PLAY = 13
  ICON_FILETYPE_TEXT = 10
  ICON_FILETYPE_VIDEO = 14
  ICON_FILE_ADD = 8
  ICON_FILE_COPY = 16
  ICON_FILE_CUT = 17
  ICON_FILE_DELETE = 9
  ICON_FILE_EXPORT = 7
  ICON_FILE_NEW = 203
  ICON_FILE_OPEN = 5
  ICON_FILE_PASTE = 18
  ICON_FILE_SAVE = 6
  ICON_FILE_SAVE_CLASSIC = 2
  ICON_FILTER = 47
  ICON_FILTER_BILINEAR = 35
  ICON_FILTER_POINT = 34
  ICON_FILTER_TOP = 46
  ICON_FOLDER = 217
  ICON_FOLDER_ADD = 204
  ICON_FOLDER_FILE_OPEN = 1
  ICON_FOLDER_OPEN = 3
  ICON_FOLDER_SAVE = 4
  ICON_FOUR_BOXES = 100
  ICON_FX = 123
  ICON_GEAR = 141
  ICON_GEAR_BIG = 142
  ICON_GEAR_EX = 154
  ICON_GRID = 97
  ICON_GRID_FILL = 101
  ICON_HAND_POINTER = 144
  ICON_HEART = 186
  ICON_HELP = 193
  ICON_HELP_BOX = 221
  ICON_HEX = 201
  ICON_HIDPI = 199
  ICON_HOT = 228
  ICON_HOUSE = 185
  ICON_INFO = 191
  ICON_INFO_BOX = 222
  ICON_KEY = 151
  ICON_LASER = 145
  ICON_LAYERS = 197
  ICON_LAYERS2 = 225
  ICON_LAYERS_ISO = 224
  ICON_LAYERS_VISIBLE = 196
  ICON_LENS = 42
  ICON_LENS_BIG = 43
  ICON_LIFE_BARS = 190
  ICON_LINK = 174
  ICON_LINK_BOXES = 172
  ICON_LINK_BROKE = 175
  ICON_LINK_MULTI = 173
  ICON_LINK_NET = 171
  ICON_LOCK_CLOSE = 137
  ICON_LOCK_OPEN = 138
  ICON_MAGNET = 136
  ICON_MAILBOX = 180
  ICON_MAPS = 227
  ICON_MIPMAPS = 95
  ICON_MLAYERS = 226
  ICON_MODE_2D = 160
  ICON_MODE_3D = 161
  ICON_MONITOR = 181
  ICON_MUTATE = 59
  ICON_MUTATE_FILL = 75
  ICON_NONE = 0
  ICON_NOTEBOOK = 177
  ICON_OK_TICK = 112
  ICON_PENCIL = 22
  ICON_PENCIL_BIG = 23
  ICON_PHOTO_CAMERA = 183
  ICON_PHOTO_CAMERA_FLASH = 184
  ICON_PLAYER = 149
  ICON_PLAYER_JUMP = 150
  ICON_PLAYER_NEXT = 134
  ICON_PLAYER_PAUSE = 132
  ICON_PLAYER_PLAY = 131
  ICON_PLAYER_PLAY_BACK = 130
  ICON_PLAYER_PREVIOUS = 129
  ICON_PLAYER_RECORD = 135
  ICON_PLAYER_STOP = 133
  ICON_POT = 91
  ICON_PRINTER = 182
  ICON_PRIORITY = 223
  ICON_REDO = 57
  ICON_REDO_FILL = 73
  ICON_REG_EXP = 216
  ICON_REPEAT = 61
  ICON_REPEAT_FILL = 77
  ICON_REREDO = 58
  ICON_REREDO_FILL = 74
  ICON_RESIZE = 33
  ICON_RESTART = 211
  ICON_ROM = 207
  ICON_ROTATE = 60
  ICON_ROTATE_FILL = 76
  ICON_RUBBER = 28
  ICON_SAND_TIMER = 219
  ICON_SCALE = 32
  ICON_SHIELD = 202
  ICON_SHUFFLE = 62
  ICON_SHUFFLE_FILL = 78
  ICON_SPECIAL = 170
  ICON_SQUARE_TOGGLE = 38
  ICON_STAR = 157
  ICON_STEP_INTO = 209
  ICON_STEP_OUT = 210
  ICON_STEP_OVER = 208
  ICON_SUITCASE = 178
  ICON_SUITCASE_ZIP = 179
  ICON_SYMMETRY = 39
  ICON_SYMMETRY_HORIZONTAL = 40
  ICON_SYMMETRY_VERTICAL = 41
  ICON_TARGET = 64
  ICON_TARGET_BIG = 50
  ICON_TARGET_BIG_FILL = 66
  ICON_TARGET_MOVE = 51
  ICON_TARGET_MOVE_FILL = 67
  ICON_TARGET_POINT = 48
  ICON_TARGET_SMALL = 49
  ICON_TARGET_SMALL_FILL = 65
  ICON_TEXT_A = 31
  ICON_TEXT_NOTES = 176
  ICON_TEXT_POPUP = 153
  ICON_TEXT_T = 30
  ICON_TOOLS = 140
  ICON_UNDO = 56
  ICON_UNDO_FILL = 72
  ICON_VERTICAL_BARS = 188
  ICON_VERTICAL_BARS_FILL = 189
  ICON_WARNING = 220
  ICON_WATER_DROP = 26
  ICON_WAVE = 124
  ICON_WAVE_SINUS = 125
  ICON_WAVE_SQUARE = 126
  ICON_WAVE_TRIANGULAR = 127
  ICON_WINDOW = 198
  ICON_ZOOM_ALL = 106
  ICON_ZOOM_BIG = 105
  ICON_ZOOM_CENTER = 107
  ICON_ZOOM_MEDIUM = 104
  ICON_ZOOM_SMALL = 103

class pyray.GuiListViewProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  LIST_ITEMS_BORDER_WIDTH = 20
  LIST_ITEMS_HEIGHT = 16
  LIST_ITEMS_SPACING = 17
  SCROLLBAR_SIDE = 19
  SCROLLBAR_WIDTH = 18

class pyray.GuiProgressBarProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  PROGRESS_PADDING = 16

class pyray.GuiScrollBarProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  ARROWS_SIZE = 16
  ARROWS_VISIBLE = 17
  SCROLL_PADDING = 20
  SCROLL_SLIDER_PADDING = 18
  SCROLL_SLIDER_SIZE = 19
  SCROLL_SPEED = 21

class pyray.GuiSliderProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  SLIDER_PADDING = 17
  SLIDER_WIDTH = 16

class pyray.GuiSpinnerProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  SPIN_BUTTON_SPACING = 17
  SPIN_BUTTON_WIDTH = 16

class pyray.GuiState

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  STATE_DISABLED = 3
  STATE_FOCUSED = 1
  STATE_NORMAL = 0
  STATE_PRESSED = 2

class pyray.GuiStyleProp(controlId: int | None = None, propertyId: int | None = None, propertyValue: int | None = None)

  struct

  controlId: int
  propertyId: int
  propertyValue: int

class pyray.GuiTextAlignment

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXT_ALIGN_CENTER = 1
  TEXT_ALIGN_LEFT = 0
  TEXT_ALIGN_RIGHT = 2

class pyray.GuiTextAlignmentVertical

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXT_ALIGN_BOTTOM = 2
  TEXT_ALIGN_MIDDLE = 1
  TEXT_ALIGN_TOP = 0

class pyray.GuiTextBoxProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXT_READONLY = 16

class pyray.GuiTextWrapMode

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXT_WRAP_CHAR = 1
  TEXT_WRAP_NONE = 0
  TEXT_WRAP_WORD = 2

class pyray.GuiToggleProperty

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  GROUP_PADDING = 16

class pyray.Image(data: Any | None = None, width: int | None = None, height: int | None = None, mipmaps: int | None = None, format: int | None = None)

  struct

  data: Any
  format: int
  height: int
  mipmaps: int
  width: int

class pyray.KeyboardKey

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  KEY_A = 65
  KEY_APOSTROPHE = 39
  KEY_B = 66
  KEY_BACK = 4
  KEY_BACKSLASH = 92
  KEY_BACKSPACE = 259
  KEY_C = 67
  KEY_CAPS_LOCK = 280
  KEY_COMMA = 44
  KEY_D = 68
  KEY_DELETE = 261
  KEY_DOWN = 264
  KEY_E = 69
  KEY_EIGHT = 56
  KEY_END = 269
  KEY_ENTER = 257
  KEY_EQUAL = 61
  KEY_ESCAPE = 256
  KEY_F = 70
  KEY_F1 = 290
  KEY_F10 = 299
  KEY_F11 = 300
  KEY_F12 = 301
  KEY_F2 = 291
  KEY_F3 = 292
  KEY_F4 = 293
  KEY_F5 = 294
  KEY_F6 = 295
  KEY_F7 = 296
  KEY_F8 = 297
  KEY_F9 = 298
  KEY_FIVE = 53
  KEY_FOUR = 52
  KEY_G = 71
  KEY_GRAVE = 96
  KEY_H = 72
  KEY_HOME = 268
  KEY_I = 73
  KEY_INSERT = 260
  KEY_J = 74
  KEY_K = 75
  KEY_KB_MENU = 348
  KEY_KP_0 = 320
  KEY_KP_1 = 321
  KEY_KP_2 = 322
  KEY_KP_3 = 323
  KEY_KP_4 = 324
  KEY_KP_5 = 325
  KEY_KP_6 = 326
  KEY_KP_7 = 327
  KEY_KP_8 = 328
  KEY_KP_9 = 329
  KEY_KP_ADD = 334
  KEY_KP_DECIMAL = 330
  KEY_KP_DIVIDE = 331
  KEY_KP_ENTER = 335
  KEY_KP_EQUAL = 336
  KEY_KP_MULTIPLY = 332
  KEY_KP_SUBTRACT = 333
  KEY_L = 76
  KEY_LEFT = 263
  KEY_LEFT_ALT = 342
  KEY_LEFT_BRACKET = 91
  KEY_LEFT_CONTROL = 341
  KEY_LEFT_SHIFT = 340
  KEY_LEFT_SUPER = 343
  KEY_M = 77
  KEY_MENU = 5
  KEY_MINUS = 45
  KEY_N = 78
  KEY_NINE = 57
  KEY_NULL = 0
  KEY_NUM_LOCK = 282
  KEY_O = 79
  KEY_ONE = 49
  KEY_P = 80
  KEY_PAGE_DOWN = 267
  KEY_PAGE_UP = 266
  KEY_PAUSE = 284
  KEY_PERIOD = 46
  KEY_PRINT_SCREEN = 283
  KEY_Q = 81
  KEY_R = 82
  KEY_RIGHT = 262
  KEY_RIGHT_ALT = 346
  KEY_RIGHT_BRACKET = 93
  KEY_RIGHT_CONTROL = 345
  KEY_RIGHT_SHIFT = 344
  KEY_RIGHT_SUPER = 347
  KEY_S = 83
  KEY_SCROLL_LOCK = 281
  KEY_SEMICOLON = 59
  KEY_SEVEN = 55
  KEY_SIX = 54
  KEY_SLASH = 47
  KEY_SPACE = 32
  KEY_T = 84
  KEY_TAB = 258
  KEY_THREE = 51
  KEY_TWO = 50
  KEY_U = 85
  KEY_UP = 265
  KEY_V = 86
  KEY_VOLUME_DOWN = 25
  KEY_VOLUME_UP = 24
  KEY_W = 87
  KEY_X = 88
  KEY_Y = 89
  KEY_Z = 90
  KEY_ZERO = 48

pyray.LIGHTGRAY: Color

pyray.LIME: Color

pyray.MAGENTA: Color

pyray.MAROON: Color

class pyray.Material(shader: Shader | list | tuple | None = None, maps: Any | None = None, params: list | None = None)

  struct

  maps: Any
  params: list
  shader: Shader

class pyray.MaterialMap(texture: Texture | list | tuple | None = None, color: Color | list | tuple | None = None, value: float | None = None)

  struct

  color: Color
  texture: Texture
  value: float

class pyray.MaterialMapIndex

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  MATERIAL_MAP_ALBEDO = 0
  MATERIAL_MAP_BRDF = 10
  MATERIAL_MAP_CUBEMAP = 7
  MATERIAL_MAP_EMISSION = 5
  MATERIAL_MAP_HEIGHT = 6
  MATERIAL_MAP_IRRADIANCE = 8
  MATERIAL_MAP_METALNESS = 1
  MATERIAL_MAP_NORMAL = 2
  MATERIAL_MAP_OCCLUSION = 4
  MATERIAL_MAP_PREFILTER = 9
  MATERIAL_MAP_ROUGHNESS = 3

class pyray.Matrix(m0: float | None = None, m4: float | None = None, m8: float | None = None, m12: float | None = None, m1: float | None = None, m5: float | None = None, m9: float | None = None, m13: float | None = None, m2: float | None = None, m6: float | None = None, m10: float | None = None, m14: float | None = None, m3: float | None = None, m7: float | None = None, m11: float | None = None, m15: float | None = None)

  struct

  m0: float
  m1: float
  m10: float
  m11: float
  m12: float
  m13: float
  m14: float
  m15: float
  m2: float
  m3: float
  m4: float
  m5: float
  m6: float
  m7: float
  m8: float
  m9: float

class pyray.Matrix2x2(m00: float | None = None, m01: float | None = None, m10: float | None = None, m11: float | None = None)

  struct

  m00: float
  m01: float
  m10: float
  m11: float

class pyray.Mesh(vertexCount: int | None = None, triangleCount: int | None = None, vertices: Any | None = None, texcoords: Any | None = None, texcoords2: Any | None = None, normals: Any | None = None, tangents: Any | None = None, colors: str | None = None, indices: Any | None = None, animVertices: Any | None = None, animNormals: Any | None = None, boneIds: str | None = None, boneWeights: Any | None = None, boneMatrices: Any | None = None, boneCount: int | None = None, vaoId: int | None = None, vboId: Any | None = None)

  struct

  animNormals: Any
  animVertices: Any
  boneCount: int
  boneIds: str
  boneMatrices: Any
  boneWeights: Any
  colors: str
  indices: Any
  normals: Any
  tangents: Any
  texcoords: Any
  texcoords2: Any
  triangleCount: int
  vaoId: int
  vboId: Any
  vertexCount: int
  vertices: Any

class pyray.Model(transform: Matrix | list | tuple | None = None, meshCount: int | None = None, materialCount: int | None = None, meshes: Any | None = None, materials: Any | None = None, meshMaterial: Any | None = None, boneCount: int | None = None, bones: Any | None = None, bindPose: Any | None = None)

  struct

  bindPose: Any
  boneCount: int
  bones: Any
  materialCount: int
  materials: Any
  meshCount: int
  meshMaterial: Any
  meshes: Any
  transform: Matrix

class pyray.ModelAnimation(boneCount: int | None = None, frameCount: int | None = None, bones: Any | None = None, framePoses: Any | None = None, name: list | None = None)

  struct

  boneCount: int
  bones: Any
  frameCount: int
  framePoses: Any
  name: list

class pyray.MouseButton

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  MOUSE_BUTTON_BACK = 6
  MOUSE_BUTTON_EXTRA = 4
  MOUSE_BUTTON_FORWARD = 5
  MOUSE_BUTTON_LEFT = 0
  MOUSE_BUTTON_MIDDLE = 2
  MOUSE_BUTTON_RIGHT = 1
  MOUSE_BUTTON_SIDE = 3

class pyray.MouseCursor

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  MOUSE_CURSOR_ARROW = 1
  MOUSE_CURSOR_CROSSHAIR = 3
  MOUSE_CURSOR_DEFAULT = 0
  MOUSE_CURSOR_IBEAM = 2
  MOUSE_CURSOR_NOT_ALLOWED = 10
  MOUSE_CURSOR_POINTING_HAND = 4
  MOUSE_CURSOR_RESIZE_ALL = 9
  MOUSE_CURSOR_RESIZE_EW = 5
  MOUSE_CURSOR_RESIZE_NESW = 8
  MOUSE_CURSOR_RESIZE_NS = 6
  MOUSE_CURSOR_RESIZE_NWSE = 7

class pyray.Music(stream: AudioStream | list | tuple | None = None, frameCount: int | None = None, looping: bool | None = None, ctxType: int | None = None, ctxData: Any | None = None)

  struct

  ctxData: Any
  ctxType: int
  frameCount: int
  looping: bool
  stream: AudioStream

class pyray.NPatchInfo(source: Rectangle | list | tuple | None = None, left: int | None = None, top: int | None = None, right: int | None = None, bottom: int | None = None, layout: int | None = None)

  struct

  bottom: int
  layout: int
  left: int
  right: int
  source: Rectangle
  top: int

class pyray.NPatchLayout

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  NPATCH_NINE_PATCH = 0
  NPATCH_THREE_PATCH_HORIZONTAL = 2
  NPATCH_THREE_PATCH_VERTICAL = 1

pyray.ORANGE: Color

pyray.PINK: Color

pyray.PURPLE: Color

class pyray.PhysicsBodyData(id: int | None = None, enabled: bool | None = None, position: Vector2 | list | tuple | None = None, velocity: Vector2 | list | tuple | None = None, force: Vector2 | list | tuple | None = None, angularVelocity: float | None = None, torque: float | None = None, orient: float | None = None, inertia: float | None = None, inverseInertia: float | None = None, mass: float | None = None, inverseMass: float | None = None, staticFriction: float | None = None, dynamicFriction: float | None = None, restitution: float | None = None, useGravity: bool | None = None, isGrounded: bool | None = None, freezeOrient: bool | None = None, shape: PhysicsShape | list | tuple | None = None)

  struct

  angularVelocity: float
  dynamicFriction: float
  enabled: bool
  force: Vector2
  freezeOrient: bool
  id: int
  inertia: float
  inverseInertia: float
  inverseMass: float
  isGrounded: bool
  mass: float
  orient: float
  position: Vector2
  restitution: float
  shape: PhysicsShape
  staticFriction: float
  torque: float
  useGravity: bool
  velocity: Vector2

class pyray.PhysicsManifoldData(id: int | None = None, bodyA: Any | None = None, bodyB: Any | None = None, penetration: float | None = None, normal: Vector2 | list | tuple | None = None, contacts: list | None = None, contactsCount: int | None = None, restitution: float | None = None, dynamicFriction: float | None = None, staticFriction: float | None = None)

  struct

  bodyA: Any
  bodyB: Any
  contacts: list
  contactsCount: int
  dynamicFriction: float
  id: int
  normal: Vector2
  penetration: float
  restitution: float
  staticFriction: float

class pyray.PhysicsShape(type: PhysicsShapeType | None = None, body: Any | None = None, vertexData: PhysicsVertexData | list | tuple | None = None, radius: float | None = None, transform: Matrix2x2 | list | tuple | None = None)

  struct

  body: Any
  radius: float
  transform: Matrix2x2
  type: PhysicsShapeType
  vertexData: PhysicsVertexData

class pyray.PhysicsVertexData(vertexCount: int | None = None, positions: list | None = None, normals: list | None = None)

  struct

  normals: list
  positions: list
  vertexCount: int

class pyray.PixelFormat

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23
  PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24
  PIXELFORMAT_COMPRESSED_DXT1_RGB = 14
  PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15
  PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16
  PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17
  PIXELFORMAT_COMPRESSED_ETC1_RGB = 18
  PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20
  PIXELFORMAT_COMPRESSED_ETC2_RGB = 19
  PIXELFORMAT_COMPRESSED_PVRT_RGB = 21
  PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22
  PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
  PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
  PIXELFORMAT_UNCOMPRESSED_R16 = 11
  PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12
  PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13
  PIXELFORMAT_UNCOMPRESSED_R32 = 8
  PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
  PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
  PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
  PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
  PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
  PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
  PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7

pyray.RAYWHITE: Color

pyray.RED: Color

class pyray.Ray(position: Vector3 | list | tuple | None = None, direction: Vector3 | list | tuple | None = None)

  struct

  direction: Vector3
  position: Vector3

class pyray.RayCollision(hit: bool | None = None, distance: float | None = None, point: Vector3 | list | tuple | None = None, normal: Vector3 | list | tuple | None = None)

  struct

  distance: float
  hit: bool
  normal: Vector3
  point: Vector3

class pyray.Rectangle(x: float | None = None, y: float | None = None, width: float | None = None, height: float | None = None)

  struct

  height: float
  width: float
  x: float
  y: float

class pyray.RenderTexture(id: int | None = None, texture: Texture | list | tuple | None = None, depth: Texture | list | tuple | None = None)

  struct

  depth: Texture
  id: int
  texture: Texture

pyray.SKYBLUE: Color

class pyray.Shader(id: int | None = None, locs: Any | None = None)

  struct

  id: int
  locs: Any

class pyray.ShaderAttributeDataType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  SHADER_ATTRIB_FLOAT = 0
  SHADER_ATTRIB_VEC2 = 1
  SHADER_ATTRIB_VEC3 = 2
  SHADER_ATTRIB_VEC4 = 3

class pyray.ShaderLocationIndex

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  SHADER_LOC_BONE_MATRICES = 28
  SHADER_LOC_COLOR_AMBIENT = 14
  SHADER_LOC_COLOR_DIFFUSE = 12
  SHADER_LOC_COLOR_SPECULAR = 13
  SHADER_LOC_MAP_ALBEDO = 15
  SHADER_LOC_MAP_BRDF = 25
  SHADER_LOC_MAP_CUBEMAP = 22
  SHADER_LOC_MAP_EMISSION = 20
  SHADER_LOC_MAP_HEIGHT = 21
  SHADER_LOC_MAP_IRRADIANCE = 23
  SHADER_LOC_MAP_METALNESS = 16
  SHADER_LOC_MAP_NORMAL = 17
  SHADER_LOC_MAP_OCCLUSION = 19
  SHADER_LOC_MAP_PREFILTER = 24
  SHADER_LOC_MAP_ROUGHNESS = 18
  SHADER_LOC_MATRIX_MODEL = 9
  SHADER_LOC_MATRIX_MVP = 6
  SHADER_LOC_MATRIX_NORMAL = 10
  SHADER_LOC_MATRIX_PROJECTION = 8
  SHADER_LOC_MATRIX_VIEW = 7
  SHADER_LOC_VECTOR_VIEW = 11
  SHADER_LOC_VERTEX_BONEIDS = 26
  SHADER_LOC_VERTEX_BONEWEIGHTS = 27
  SHADER_LOC_VERTEX_COLOR = 5
  SHADER_LOC_VERTEX_NORMAL = 3
  SHADER_LOC_VERTEX_POSITION = 0
  SHADER_LOC_VERTEX_TANGENT = 4
  SHADER_LOC_VERTEX_TEXCOORD01 = 1
  SHADER_LOC_VERTEX_TEXCOORD02 = 2

class pyray.ShaderUniformDataType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  SHADER_UNIFORM_FLOAT = 0
  SHADER_UNIFORM_INT = 4
  SHADER_UNIFORM_IVEC2 = 5
  SHADER_UNIFORM_IVEC3 = 6
  SHADER_UNIFORM_IVEC4 = 7
  SHADER_UNIFORM_SAMPLER2D = 8
  SHADER_UNIFORM_VEC2 = 1
  SHADER_UNIFORM_VEC3 = 2
  SHADER_UNIFORM_VEC4 = 3

class pyray.Sound(stream: AudioStream | list | tuple | None = None, frameCount: int | None = None)

  struct

  frameCount: int
  stream: AudioStream

class pyray.Texture(id: int | None = None, width: int | None = None, height: int | None = None, mipmaps: int | None = None, format: int | None = None)

  struct

  format: int
  height: int
  id: int
  mipmaps: int
  width: int

class pyray.Texture2D(id: int | None = None, width: int | None = None, height: int | None = None, mipmaps: int | None = None, format: int | None = None)

  struct

  format: int
  height: int
  id: int
  mipmaps: int
  width: int

class pyray.TextureFilter

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXTURE_FILTER_ANISOTROPIC_16X = 5
  TEXTURE_FILTER_ANISOTROPIC_4X = 3
  TEXTURE_FILTER_ANISOTROPIC_8X = 4
  TEXTURE_FILTER_BILINEAR = 1
  TEXTURE_FILTER_POINT = 0
  TEXTURE_FILTER_TRILINEAR = 2

class pyray.TextureWrap

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  TEXTURE_WRAP_CLAMP = 1
  TEXTURE_WRAP_MIRROR_CLAMP = 3
  TEXTURE_WRAP_MIRROR_REPEAT = 2
  TEXTURE_WRAP_REPEAT = 0

class pyray.TraceLogLevel

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  LOG_ALL = 0
  LOG_DEBUG = 2
  LOG_ERROR = 5
  LOG_FATAL = 6
  LOG_INFO = 3
  LOG_NONE = 7
  LOG_TRACE = 1
  LOG_WARNING = 4

class pyray.Transform(translation: Vector3 | list | tuple | None = None, rotation: Vector4 | list | tuple | None = None, scale: Vector3 | list | tuple | None = None)

  struct

  rotation: Vector4
  scale: Vector3
  translation: Vector3

pyray.VIOLET: Color

class pyray.Vector2(x: float | None = None, y: float | None = None)

  struct

  x: float
  y: float

class pyray.Vector3(x: float | None = None, y: float | None = None, z: float | None = None)

  struct

  x: float
  y: float
  z: float

class pyray.Vector4(x: float | None = None, y: float | None = None, z: float | None = None, w: float | None = None)

  struct

  w: float
  x: float
  y: float
  z: float

class pyray.VrDeviceInfo(hResolution: int | None = None, vResolution: int | None = None, hScreenSize: float | None = None, vScreenSize: float | None = None, eyeToScreenDistance: float | None = None, lensSeparationDistance: float | None = None, interpupillaryDistance: float | None = None, lensDistortionValues: list | None = None, chromaAbCorrection: list | None = None)

  struct

  chromaAbCorrection: list
  eyeToScreenDistance: float
  hResolution: int
  hScreenSize: float
  interpupillaryDistance: float
  lensDistortionValues: list
  lensSeparationDistance: float
  vResolution: int
  vScreenSize: float

class pyray.VrStereoConfig(projection: list | None = None, viewOffset: list | None = None, leftLensCenter: list | None = None, rightLensCenter: list | None = None, leftScreenCenter: list | None = None, rightScreenCenter: list | None = None, scale: list | None = None, scaleIn: list | None = None)

  struct

  leftLensCenter: list
  leftScreenCenter: list
  projection: list
  rightLensCenter: list
  rightScreenCenter: list
  scale: list
  scaleIn: list
  viewOffset: list

pyray.WHITE: Color

class pyray.Wave(frameCount: int | None = None, sampleRate: int | None = None, sampleSize: int | None = None, channels: int | None = None, data: Any | None = None)

  struct

  channels: int
  data: Any
  frameCount: int
  sampleRate: int
  sampleSize: int

pyray.YELLOW: Color

pyray.attach_audio_mixed_processor(processor: Any) → None

  Attach audio stream processor to the entire audio pipeline, receives the samples as ‘float’

pyray.attach_audio_stream_processor(stream: AudioStream | list | tuple, processor: Any) → None

  Attach audio stream processor to stream, receives the samples as ‘float’

pyray.begin_blend_mode(mode: int) → None

  Begin blending mode (alpha, additive, multiplied, subtract, custom)

pyray.begin_drawing() → None

  Setup canvas (framebuffer) to start drawing

pyray.begin_mode_2d(camera: Camera2D | list | tuple) → None

  Begin 2D mode with custom camera (2D)

pyray.begin_mode_3d(camera: Camera3D | list | tuple) → None

  Begin 3D mode with custom camera (3D)

pyray.begin_scissor_mode(x: int, y: int, width: int, height: int) → None

  Begin scissor mode (define screen area for following drawing)

pyray.begin_shader_mode(shader: Shader | list | tuple) → None

  Begin custom shader drawing

pyray.begin_texture_mode(target: RenderTexture | list | tuple) → None

  Begin drawing to render texture

pyray.begin_vr_stereo_mode(config: VrStereoConfig | list | tuple) → None

  Begin stereo rendering (requires VR simulator)

pyray.change_directory(dir: str) → bool

  Change working directory, return true on success

pyray.check_collision_box_sphere(box: BoundingBox | list | tuple, center: Vector3 | list | tuple, radius: float) → bool

  Check collision between box and sphere

pyray.check_collision_boxes(box1: BoundingBox | list | tuple, box2: BoundingBox | list | tuple) → bool

  Check collision between two bounding boxes

pyray.check_collision_circle_line(center: Vector2 | list | tuple, radius: float, p1: Vector2 | list | tuple, p2: Vector2 | list | tuple) → bool

  Check if circle collides with a line created betweeen two points [p1] and [p2]

pyray.check_collision_circle_rec(center: Vector2 | list | tuple, radius: float, rec: Rectangle | list | tuple) → bool

  Check collision between circle and rectangle

pyray.check_collision_circles(center1: Vector2 | list | tuple, radius1: float, center2: Vector2 | list | tuple, radius2: float) → bool

  Check collision between two circles

pyray.check_collision_lines(startPos1: Vector2 | list | tuple, endPos1: Vector2 | list | tuple, startPos2: Vector2 | list | tuple, endPos2: Vector2 | list | tuple, collisionPoint: Any | list | tuple) → bool

  Check the collision between two lines defined by two points each, returns collision point by reference

pyray.check_collision_point_circle(point: Vector2 | list | tuple, center: Vector2 | list | tuple, radius: float) → bool

  Check if point is inside circle

pyray.check_collision_point_line(point: Vector2 | list | tuple, p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, threshold: int) → bool

  Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]

pyray.check_collision_point_poly(point: Vector2 | list | tuple, points: Any | list | tuple, pointCount: int) → bool

  Check if point is within a polygon described by array of vertices

pyray.check_collision_point_rec(point: Vector2 | list | tuple, rec: Rectangle | list | tuple) → bool

  Check if point is inside rectangle

pyray.check_collision_point_triangle(point: Vector2 | list | tuple, p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, p3: Vector2 | list | tuple) → bool

  Check if point is inside a triangle

pyray.check_collision_recs(rec1: Rectangle | list | tuple, rec2: Rectangle | list | tuple) → bool

  Check collision between two rectangles

pyray.check_collision_spheres(center1: Vector3 | list | tuple, radius1: float, center2: Vector3 | list | tuple, radius2: float) → bool

  Check collision between two spheres

pyray.clamp(value: float, min_1: float, max_2: float) → float

pyray.clear_background(color: Color | list | tuple) → None

  Set background color (framebuffer clear color)

pyray.clear_window_state(flags: int) → None

  Clear window configuration state flags

pyray.close_audio_device() → None

  Close the audio device and context

pyray.close_physics() → None

  Close physics system and unload used memory

pyray.close_window() → None

  Close window and unload OpenGL context

pyray.codepoint_to_utf8(codepoint: int, utf8Size: Any) → str

  Encode one codepoint into UTF-8 byte array (array length returned as parameter)

pyray.color_alpha(color: Color | list | tuple, alpha: float) → Color

  Get color with alpha applied, alpha goes from 0.0f to 1.0f

pyray.color_alpha_blend(dst: Color | list | tuple, src: Color | list | tuple, tint: Color | list | tuple) → Color

  Get src alpha-blended into dst color with tint

pyray.color_brightness(color: Color | list | tuple, factor: float) → Color

  Get color with brightness correction, brightness factor goes from -1.0f to 1.0f

pyray.color_contrast(color: Color | list | tuple, contrast: float) → Color

  Get color with contrast correction, contrast values between -1.0f and 1.0f

pyray.color_from_hsv(hue: float, saturation: float, value: float) → Color

  Get a Color from HSV values, hue [0..360], saturation/value [0..1]

pyray.color_from_normalized(normalized: Vector4 | list | tuple) → Color

  Get Color from normalized values [0..1]

pyray.color_is_equal(col1: Color | list | tuple, col2: Color | list | tuple) → bool

  Check if two colors are equal

pyray.color_lerp(color1: Color | list | tuple, color2: Color | list | tuple, factor: float) → Color

  Get color lerp interpolation between two colors, factor [0.0f..1.0f]

pyray.color_normalize(color: Color | list | tuple) → Vector4

  Get Color normalized as float [0..1]

pyray.color_tint(color: Color | list | tuple, tint: Color | list | tuple) → Color

  Get color multiplied with another color

pyray.color_to_hsv(color: Color | list | tuple) → Vector3

  Get HSV values for a Color, hue [0..360], saturation/value [0..1]

pyray.color_to_int(color: Color | list | tuple) → int

  Get hexadecimal value for a Color (0xRRGGBBAA)

pyray.compress_data(data: str, dataSize: int, compDataSize: Any) → str

  Compress data (DEFLATE algorithm), memory must be MemFree()

pyray.compute_crc32(data: str, dataSize: int) → int

  Compute CRC32 hash code

pyray.compute_md5(data: str, dataSize: int) → Any

  Compute MD5 hash code, returns static int[4] (16 bytes)

pyray.compute_sha1(data: str, dataSize: int) → Any

  Compute SHA1 hash code, returns static int[5] (20 bytes)

pyray.create_physics_body_circle(pos: Vector2 | list | tuple, radius: float, density: float) → Any

  Creates a new circle physics body with generic parameters

pyray.create_physics_body_polygon(pos: Vector2 | list | tuple, radius: float, sides: int, density: float) → Any

  Creates a new polygon physics body with generic parameters

pyray.create_physics_body_rectangle(pos: Vector2 | list | tuple, width: float, height: float, density: float) → Any

  Creates a new rectangle physics body with generic parameters

pyray.decode_data_base64(data: str, outputSize: Any) → str

  Decode Base64 string data, memory must be MemFree()

pyray.decompress_data(compData: str, compDataSize: int, dataSize: Any) → str

  Decompress data (DEFLATE algorithm), memory must be MemFree()

pyray.destroy_physics_body(body: Any | list | tuple) → None

  Destroy a physics body

pyray.detach_audio_mixed_processor(processor: Any) → None

  Detach audio stream processor from the entire audio pipeline

pyray.detach_audio_stream_processor(stream: AudioStream | list | tuple, processor: Any) → None

  Detach audio stream processor from stream

pyray.directory_exists(dirPath: str) → bool

  Check if a directory path exists

pyray.disable_cursor() → None

  Disables cursor (lock cursor)

pyray.disable_event_waiting() → None

  Disable waiting for events on EndDrawing(), automatic events polling

pyray.draw_billboard(camera: Camera3D | list | tuple, texture: Texture | list | tuple, position: Vector3 | list | tuple, scale: float, tint: Color | list | tuple) → None

  Draw a billboard texture

pyray.draw_billboard_pro(camera: Camera3D | list | tuple, texture: Texture | list | tuple, source: Rectangle | list | tuple, position: Vector3 | list | tuple, up: Vector3 | list | tuple, size: Vector2 | list | tuple, origin: Vector2 | list | tuple, rotation: float, tint: Color | list | tuple) → None

  Draw a billboard texture defined by source and rotation

pyray.draw_billboard_rec(camera: Camera3D | list | tuple, texture: Texture | list | tuple, source: Rectangle | list | tuple, position: Vector3 | list | tuple, size: Vector2 | list | tuple, tint: Color | list | tuple) → None

  Draw a billboard texture defined by source

pyray.draw_bounding_box(box: BoundingBox | list | tuple, color: Color | list | tuple) → None

  Draw bounding box (wires)

pyray.draw_capsule(startPos: Vector3 | list | tuple, endPos: Vector3 | list | tuple, radius: float, slices: int, rings: int, color: Color | list | tuple) → None

  Draw a capsule with the center of its sphere caps at startPos and endPos

pyray.draw_capsule_wires(startPos: Vector3 | list | tuple, endPos: Vector3 | list | tuple, radius: float, slices: int, rings: int, color: Color | list | tuple) → None

  Draw capsule wireframe with the center of its sphere caps at startPos and endPos

pyray.draw_circle(centerX: int, centerY: int, radius: float, color: Color | list | tuple) → None

  Draw a color-filled circle

pyray.draw_circle_3d(center: Vector3 | list | tuple, radius: float, rotationAxis: Vector3 | list | tuple, rotationAngle: float, color: Color | list | tuple) → None

  Draw a circle in 3D world space

pyray.draw_circle_gradient(centerX: int, centerY: int, radius: float, inner: Color | list | tuple, outer: Color | list | tuple) → None

  Draw a gradient-filled circle

pyray.draw_circle_lines(centerX: int, centerY: int, radius: float, color: Color | list | tuple) → None

  Draw circle outline

pyray.draw_circle_lines_v(center: Vector2 | list | tuple, radius: float, color: Color | list | tuple) → None

  Draw circle outline (Vector version)

pyray.draw_circle_sector(center: Vector2 | list | tuple, radius: float, startAngle: float, endAngle: float, segments: int, color: Color | list | tuple) → None

  Draw a piece of a circle

pyray.draw_circle_sector_lines(center: Vector2 | list | tuple, radius: float, startAngle: float, endAngle: float, segments: int, color: Color | list | tuple) → None

  Draw circle sector outline

pyray.draw_circle_v(center: Vector2 | list | tuple, radius: float, color: Color | list | tuple) → None

  Draw a color-filled circle (Vector version)

pyray.draw_cube(position: Vector3 | list | tuple, width: float, height: float, length: float, color: Color | list | tuple) → None

  Draw cube

pyray.draw_cube_v(position: Vector3 | list | tuple, size: Vector3 | list | tuple, color: Color | list | tuple) → None

  Draw cube (Vector version)

pyray.draw_cube_wires(position: Vector3 | list | tuple, width: float, height: float, length: float, color: Color | list | tuple) → None

  Draw cube wires

pyray.draw_cube_wires_v(position: Vector3 | list | tuple, size: Vector3 | list | tuple, color: Color | list | tuple) → None

  Draw cube wires (Vector version)

pyray.draw_cylinder(position: Vector3 | list | tuple, radiusTop: float, radiusBottom: float, height: float, slices: int, color: Color | list | tuple) → None

  Draw a cylinder/cone

pyray.draw_cylinder_ex(startPos: Vector3 | list | tuple, endPos: Vector3 | list | tuple, startRadius: float, endRadius: float, sides: int, color: Color | list | tuple) → None

  Draw a cylinder with base at startPos and top at endPos

pyray.draw_cylinder_wires(position: Vector3 | list | tuple, radiusTop: float, radiusBottom: float, height: float, slices: int, color: Color | list | tuple) → None

  Draw a cylinder/cone wires

pyray.draw_cylinder_wires_ex(startPos: Vector3 | list | tuple, endPos: Vector3 | list | tuple, startRadius: float, endRadius: float, sides: int, color: Color | list | tuple) → None

  Draw a cylinder wires with base at startPos and top at endPos

pyray.draw_ellipse(centerX: int, centerY: int, radiusH: float, radiusV: float, color: Color | list | tuple) → None

  Draw ellipse

pyray.draw_ellipse_lines(centerX: int, centerY: int, radiusH: float, radiusV: float, color: Color | list | tuple) → None

  Draw ellipse outline

pyray.draw_fps(posX: int, posY: int) → None

  Draw current FPS

pyray.draw_grid(slices: int, spacing: float) → None

  Draw a grid (centered at (0, 0, 0))

pyray.draw_line(startPosX: int, startPosY: int, endPosX: int, endPosY: int, color: Color | list | tuple) → None

  Draw a line

pyray.draw_line_3d(startPos: Vector3 | list | tuple, endPos: Vector3 | list | tuple, color: Color | list | tuple) → None

  Draw a line in 3D world space

pyray.draw_line_bezier(startPos: Vector2 | list | tuple, endPos: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw line segment cubic-bezier in-out interpolation

pyray.draw_line_ex(startPos: Vector2 | list | tuple, endPos: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw a line (using triangles/quads)

pyray.draw_line_strip(points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw lines sequence (using gl lines)

pyray.draw_line_v(startPos: Vector2 | list | tuple, endPos: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw a line (using gl lines)

pyray.draw_mesh(mesh: Mesh | list | tuple, material: Material | list | tuple, transform: Matrix | list | tuple) → None

  Draw a 3d mesh with material and transform

pyray.draw_mesh_instanced(mesh: Mesh | list | tuple, material: Material | list | tuple, transforms: Any | list | tuple, instances: int) → None

  Draw multiple mesh instances with material and different transforms

pyray.draw_model(model: Model | list | tuple, position: Vector3 | list | tuple, scale: float, tint: Color | list | tuple) → None

  Draw a model (with texture if set)

pyray.draw_model_ex(model: Model | list | tuple, position: Vector3 | list | tuple, rotationAxis: Vector3 | list | tuple, rotationAngle: float, scale: Vector3 | list | tuple, tint: Color | list | tuple) → None

  Draw a model with extended parameters

pyray.draw_model_points(model: Model | list | tuple, position: Vector3 | list | tuple, scale: float, tint: Color | list | tuple) → None

  Draw a model as points

pyray.draw_model_points_ex(model: Model | list | tuple, position: Vector3 | list | tuple, rotationAxis: Vector3 | list | tuple, rotationAngle: float, scale: Vector3 | list | tuple, tint: Color | list | tuple) → None

  Draw a model as points with extended parameters

pyray.draw_model_wires(model: Model | list | tuple, position: Vector3 | list | tuple, scale: float, tint: Color | list | tuple) → None

  Draw a model wires (with texture if set)

pyray.draw_model_wires_ex(model: Model | list | tuple, position: Vector3 | list | tuple, rotationAxis: Vector3 | list | tuple, rotationAngle: float, scale: Vector3 | list | tuple, tint: Color | list | tuple) → None

  Draw a model wires (with texture if set) with extended parameters

pyray.draw_pixel(posX: int, posY: int, color: Color | list | tuple) → None

  Draw a pixel using geometry [Can be slow, use with care]

pyray.draw_pixel_v(position: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw a pixel using geometry (Vector version) [Can be slow, use with care]

pyray.draw_plane(centerPos: Vector3 | list | tuple, size: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw a plane XZ

pyray.draw_point_3d(position: Vector3 | list | tuple, color: Color | list | tuple) → None

  Draw a point in 3D space, actually a small line

pyray.draw_poly(center: Vector2 | list | tuple, sides: int, radius: float, rotation: float, color: Color | list | tuple) → None

  Draw a regular polygon (Vector version)

pyray.draw_poly_lines(center: Vector2 | list | tuple, sides: int, radius: float, rotation: float, color: Color | list | tuple) → None

  Draw a polygon outline of n sides

pyray.draw_poly_lines_ex(center: Vector2 | list | tuple, sides: int, radius: float, rotation: float, lineThick: float, color: Color | list | tuple) → None

  Draw a polygon outline of n sides with extended parameters

pyray.draw_ray(ray: Ray | list | tuple, color: Color | list | tuple) → None

  Draw a ray line

pyray.draw_rectangle(posX: int, posY: int, width: int, height: int, color: Color | list | tuple) → None

  Draw a color-filled rectangle

pyray.draw_rectangle_gradient_ex(rec: Rectangle | list | tuple, topLeft: Color | list | tuple, bottomLeft: Color | list | tuple, topRight: Color | list | tuple, bottomRight: Color | list | tuple) → None

  Draw a gradient-filled rectangle with custom vertex colors

pyray.draw_rectangle_gradient_h(posX: int, posY: int, width: int, height: int, left: Color | list | tuple, right: Color | list | tuple) → None

  Draw a horizontal-gradient-filled rectangle

pyray.draw_rectangle_gradient_v(posX: int, posY: int, width: int, height: int, top: Color | list | tuple, bottom: Color | list | tuple) → None

  Draw a vertical-gradient-filled rectangle

pyray.draw_rectangle_lines(posX: int, posY: int, width: int, height: int, color: Color | list | tuple) → None

  Draw rectangle outline

pyray.draw_rectangle_lines_ex(rec: Rectangle | list | tuple, lineThick: float, color: Color | list | tuple) → None

  Draw rectangle outline with extended parameters

pyray.draw_rectangle_pro(rec: Rectangle | list | tuple, origin: Vector2 | list | tuple, rotation: float, color: Color | list | tuple) → None

  Draw a color-filled rectangle with pro parameters

pyray.draw_rectangle_rec(rec: Rectangle | list | tuple, color: Color | list | tuple) → None

  Draw a color-filled rectangle

pyray.draw_rectangle_rounded(rec: Rectangle | list | tuple, roundness: float, segments: int, color: Color | list | tuple) → None

  Draw rectangle with rounded edges

pyray.draw_rectangle_rounded_lines(rec: Rectangle | list | tuple, roundness: float, segments: int, color: Color | list | tuple) → None

  Draw rectangle lines with rounded edges

pyray.draw_rectangle_rounded_lines_ex(rec: Rectangle | list | tuple, roundness: float, segments: int, lineThick: float, color: Color | list | tuple) → None

  Draw rectangle with rounded edges outline

pyray.draw_rectangle_v(position: Vector2 | list | tuple, size: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw a color-filled rectangle (Vector version)

pyray.draw_ring(center: Vector2 | list | tuple, innerRadius: float, outerRadius: float, startAngle: float, endAngle: float, segments: int, color: Color | list | tuple) → None

  Draw ring

pyray.draw_ring_lines(center: Vector2 | list | tuple, innerRadius: float, outerRadius: float, startAngle: float, endAngle: float, segments: int, color: Color | list | tuple) → None

  Draw ring outline

pyray.draw_sphere(centerPos: Vector3 | list | tuple, radius: float, color: Color | list | tuple) → None

  Draw sphere

pyray.draw_sphere_ex(centerPos: Vector3 | list | tuple, radius: float, rings: int, slices: int, color: Color | list | tuple) → None

  Draw sphere with extended parameters

pyray.draw_sphere_wires(centerPos: Vector3 | list | tuple, radius: float, rings: int, slices: int, color: Color | list | tuple) → None

  Draw sphere wires

pyray.draw_spline_basis(points: Any | list | tuple, pointCount: int, thick: float, color: Color | list | tuple) → None

  Draw spline: B-Spline, minimum 4 points

pyray.draw_spline_bezier_cubic(points: Any | list | tuple, pointCount: int, thick: float, color: Color | list | tuple) → None

  Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6…]

pyray.draw_spline_bezier_quadratic(points: Any | list | tuple, pointCount: int, thick: float, color: Color | list | tuple) → None

  Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4…]

pyray.draw_spline_catmull_rom(points: Any | list | tuple, pointCount: int, thick: float, color: Color | list | tuple) → None

  Draw spline: Catmull-Rom, minimum 4 points

pyray.draw_spline_linear(points: Any | list | tuple, pointCount: int, thick: float, color: Color | list | tuple) → None

  Draw spline: Linear, minimum 2 points

pyray.draw_spline_segment_basis(p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, p3: Vector2 | list | tuple, p4: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw spline segment: B-Spline, 4 points

pyray.draw_spline_segment_bezier_cubic(p1: Vector2 | list | tuple, c2: Vector2 | list | tuple, c3: Vector2 | list | tuple, p4: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw spline segment: Cubic Bezier, 2 points, 2 control points

pyray.draw_spline_segment_bezier_quadratic(p1: Vector2 | list | tuple, c2: Vector2 | list | tuple, p3: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw spline segment: Quadratic Bezier, 2 points, 1 control point

pyray.draw_spline_segment_catmull_rom(p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, p3: Vector2 | list | tuple, p4: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw spline segment: Catmull-Rom, 4 points

pyray.draw_spline_segment_linear(p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, thick: float, color: Color | list | tuple) → None

  Draw spline segment: Linear, 2 points

pyray.draw_text(text: str, posX: int, posY: int, fontSize: int, color: Color | list | tuple) → None

  Draw text (using default font)

pyray.draw_text_codepoint(font: Font | list | tuple, codepoint: int, position: Vector2 | list | tuple, fontSize: float, tint: Color | list | tuple) → None

  Draw one character (codepoint)

pyray.draw_text_codepoints(font: Font | list | tuple, codepoints: Any, codepointCount: int, position: Vector2 | list | tuple, fontSize: float, spacing: float, tint: Color | list | tuple) → None

  Draw multiple character (codepoint)

pyray.draw_text_ex(font: Font | list | tuple, text: str, position: Vector2 | list | tuple, fontSize: float, spacing: float, tint: Color | list | tuple) → None

  Draw text using font and additional parameters

pyray.draw_text_pro(font: Font | list | tuple, text: str, position: Vector2 | list | tuple, origin: Vector2 | list | tuple, rotation: float, fontSize: float, spacing: float, tint: Color | list | tuple) → None

  Draw text using Font and pro parameters (rotation)

pyray.draw_texture(texture: Texture | list | tuple, posX: int, posY: int, tint: Color | list | tuple) → None

  Draw a Texture2D

pyray.draw_texture_ex(texture: Texture | list | tuple, position: Vector2 | list | tuple, rotation: float, scale: float, tint: Color | list | tuple) → None

  Draw a Texture2D with extended parameters

pyray.draw_texture_n_patch(texture: Texture | list | tuple, nPatchInfo: NPatchInfo | list | tuple, dest: Rectangle | list | tuple, origin: Vector2 | list | tuple, rotation: float, tint: Color | list | tuple) → None

  Draws a texture (or part of it) that stretches or shrinks nicely

pyray.draw_texture_pro(texture: Texture | list | tuple, source: Rectangle | list | tuple, dest: Rectangle | list | tuple, origin: Vector2 | list | tuple, rotation: float, tint: Color | list | tuple) → None

  Draw a part of a texture defined by a rectangle with ‘pro’ parameters

pyray.draw_texture_rec(texture: Texture | list | tuple, source: Rectangle | list | tuple, position: Vector2 | list | tuple, tint: Color | list | tuple) → None

  Draw a part of a texture defined by a rectangle

pyray.draw_texture_v(texture: Texture | list | tuple, position: Vector2 | list | tuple, tint: Color | list | tuple) → None

  Draw a Texture2D with position defined as Vector2

pyray.draw_triangle(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, v3: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw a color-filled triangle (vertex in counter-clockwise order!)

pyray.draw_triangle_3d(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple, v3: Vector3 | list | tuple, color: Color | list | tuple) → None

  Draw a color-filled triangle (vertex in counter-clockwise order!)

pyray.draw_triangle_fan(points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw a triangle fan defined by points (first vertex is the center)

pyray.draw_triangle_lines(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, v3: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw triangle outline (vertex in counter-clockwise order!)

pyray.draw_triangle_strip(points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw a triangle strip defined by points

pyray.draw_triangle_strip_3d(points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw a triangle strip defined by points

pyray.enable_cursor() → None

  Enables cursor (unlock cursor)

pyray.enable_event_waiting() → None

  Enable waiting for events on EndDrawing(), no automatic event polling

pyray.encode_data_base64(data: str, dataSize: int, outputSize: Any) → str

  Encode data to Base64 string, memory must be MemFree()

pyray.end_blend_mode() → None

  End blending mode (reset to default: alpha blending)

pyray.end_drawing() → None

  End canvas drawing and swap buffers (double buffering)

pyray.end_mode_2d() → None

  Ends 2D mode with custom camera

pyray.end_mode_3d() → None

  Ends 3D mode and returns to default 2D orthographic mode

pyray.end_scissor_mode() → None

  End scissor mode

pyray.end_shader_mode() → None

  End custom shader drawing (use default shader)

pyray.end_texture_mode() → None

  Ends drawing to render texture

pyray.end_vr_stereo_mode() → None

  End stereo rendering (requires VR simulator)

pyray.export_automation_event_list(list_0: AutomationEventList | list | tuple, fileName: str) → bool

  Export automation events list as text file

pyray.export_data_as_code(data: str, dataSize: int, fileName: str) → bool

  Export data to code (.h), returns true on success

pyray.export_font_as_code(font: Font | list | tuple, fileName: str) → bool

  Export font as code file, returns true on success

pyray.export_image(image: Image | list | tuple, fileName: str) → bool

  Export image data to file, returns true on success

pyray.export_image_as_code(image: Image | list | tuple, fileName: str) → bool

  Export image as code file defining an array of bytes, returns true on success

pyray.export_image_to_memory(image: Image | list | tuple, fileType: str, fileSize: Any) → str

  Export image to memory buffer

pyray.export_mesh(mesh: Mesh | list | tuple, fileName: str) → bool

  Export mesh data to file, returns true on success

pyray.export_mesh_as_code(mesh: Mesh | list | tuple, fileName: str) → bool

  Export mesh as code file (.h) defining multiple arrays of vertex attributes

pyray.export_wave(wave: Wave | list | tuple, fileName: str) → bool

  Export wave data to file, returns true on success

pyray.export_wave_as_code(wave: Wave | list | tuple, fileName: str) → bool

  Export wave sample data to code (.h), returns true on success

pyray.fade(color: Color | list | tuple, alpha: float) → Color

  Get color with alpha applied, alpha goes from 0.0f to 1.0f

pyray.ffi: _cffi_backend.FFI

pyray.file_exists(fileName: str) → bool

  Check if file exists

class pyray.float16(v: list | None = None)

  struct

  v: list

class pyray.float3(v: list | None = None)

  struct

  v: list

pyray.float_equals(x: float, y: float) → int

pyray.gen_image_cellular(width: int, height: int, tileSize: int) → Image

  Generate image: cellular algorithm, bigger tileSize means bigger cells

pyray.gen_image_checked(width: int, height: int, checksX: int, checksY: int, col1: Color | list | tuple, col2: Color | list | tuple) → Image

  Generate image: checked

pyray.gen_image_color(width: int, height: int, color: Color | list | tuple) → Image

  Generate image: plain color

pyray.gen_image_font_atlas(glyphs: Any | list | tuple, glyphRecs: Any | list | tuple, glyphCount: int, fontSize: int, padding: int, packMethod: int) → Image

  Generate image font atlas using chars info

pyray.gen_image_gradient_linear(width: int, height: int, direction: int, start: Color | list | tuple, end: Color | list | tuple) → Image

  Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient

pyray.gen_image_gradient_radial(width: int, height: int, density: float, inner: Color | list | tuple, outer: Color | list | tuple) → Image

  Generate image: radial gradient

pyray.gen_image_gradient_square(width: int, height: int, density: float, inner: Color | list | tuple, outer: Color | list | tuple) → Image

  Generate image: square gradient

pyray.gen_image_perlin_noise(width: int, height: int, offsetX: int, offsetY: int, scale: float) → Image

  Generate image: perlin noise

pyray.gen_image_text(width: int, height: int, text: str) → Image

  Generate image: grayscale image from text data

pyray.gen_image_white_noise(width: int, height: int, factor: float) → Image

  Generate image: white noise

pyray.gen_mesh_cone(radius: float, height: float, slices: int) → Mesh

  Generate cone/pyramid mesh

pyray.gen_mesh_cube(width: float, height: float, length: float) → Mesh

  Generate cuboid mesh

pyray.gen_mesh_cubicmap(cubicmap: Image | list | tuple, cubeSize: Vector3 | list | tuple) → Mesh

  Generate cubes-based map mesh from image data

pyray.gen_mesh_cylinder(radius: float, height: float, slices: int) → Mesh

  Generate cylinder mesh

pyray.gen_mesh_heightmap(heightmap: Image | list | tuple, size: Vector3 | list | tuple) → Mesh

  Generate heightmap mesh from image data

pyray.gen_mesh_hemi_sphere(radius: float, rings: int, slices: int) → Mesh

  Generate half-sphere mesh (no bottom cap)

pyray.gen_mesh_knot(radius: float, size: float, radSeg: int, sides: int) → Mesh

  Generate trefoil knot mesh

pyray.gen_mesh_plane(width: float, length: float, resX: int, resZ: int) → Mesh

  Generate plane mesh (with subdivisions)

pyray.gen_mesh_poly(sides: int, radius: float) → Mesh

  Generate polygonal mesh

pyray.gen_mesh_sphere(radius: float, rings: int, slices: int) → Mesh

  Generate sphere mesh (standard sphere)

pyray.gen_mesh_tangents(mesh: Any | list | tuple) → None

  Compute mesh tangents

pyray.gen_mesh_torus(radius: float, size: float, radSeg: int, sides: int) → Mesh

  Generate torus mesh

pyray.gen_texture_mipmaps(texture: Any | list | tuple) → None

  Generate GPU mipmaps for a texture

pyray.get_application_directory() → str

  Get the directory of the running application (uses static string)

pyray.get_camera_matrix(camera: Camera3D | list | tuple) → Matrix

  Get camera transform matrix (view matrix)

pyray.get_camera_matrix_2d(camera: Camera2D | list | tuple) → Matrix

  Get camera 2d transform matrix

pyray.get_char_pressed() → int

  Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty

pyray.get_clipboard_image() → Image

  Get clipboard image content

pyray.get_clipboard_text() → str

  Get clipboard text content

pyray.get_codepoint(text: str, codepointSize: Any) → int

  Get next codepoint in a UTF-8 encoded string, 0x3f(‘?’) is returned on failure

pyray.get_codepoint_count(text: str) → int

  Get total number of codepoints in a UTF-8 encoded string

pyray.get_codepoint_next(text: str, codepointSize: Any) → int

  Get next codepoint in a UTF-8 encoded string, 0x3f(‘?’) is returned on failure

pyray.get_codepoint_previous(text: str, codepointSize: Any) → int

  Get previous codepoint in a UTF-8 encoded string, 0x3f(‘?’) is returned on failure

pyray.get_collision_rec(rec1: Rectangle | list | tuple, rec2: Rectangle | list | tuple) → Rectangle

  Get collision rectangle for two rectangles collision

pyray.get_color(hexValue: int) → Color

  Get Color structure from hexadecimal value

pyray.get_current_monitor() → int

  Get current monitor where window is placed

pyray.get_directory_path(filePath: str) → str

  Get full path for a given fileName with path (uses static string)

pyray.get_file_extension(fileName: str) → str

  Get pointer to extension for a filename string (includes dot: ‘.png’)

pyray.get_file_length(fileName: str) → int

  Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)

pyray.get_file_mod_time(fileName: str) → int

  Get file modification time (last write time)

pyray.get_file_name(filePath: str) → str

  Get pointer to filename for a path string

pyray.get_file_name_without_ext(filePath: str) → str

  Get filename string without extension (uses static string)

pyray.get_font_default() → Font

  Get the default Font

pyray.get_fps() → int

  Get current FPS

pyray.get_frame_time() → float

  Get time in seconds for last frame drawn (delta time)

pyray.get_gamepad_axis_count(gamepad: int) → int

  Get gamepad axis count for a gamepad

pyray.get_gamepad_axis_movement(gamepad: int, axis: int) → float

  Get axis movement value for a gamepad axis

pyray.get_gamepad_button_pressed() → int

  Get the last gamepad button pressed

pyray.get_gamepad_name(gamepad: int) → str

  Get gamepad internal name id

pyray.get_gesture_detected() → int

  Get latest detected gesture

pyray.get_gesture_drag_angle() → float

  Get gesture drag angle

pyray.get_gesture_drag_vector() → Vector2

  Get gesture drag vector

pyray.get_gesture_hold_duration() → float

  Get gesture hold time in seconds

pyray.get_gesture_pinch_angle() → float

  Get gesture pinch angle

pyray.get_gesture_pinch_vector() → Vector2

  Get gesture pinch delta

pyray.get_glyph_atlas_rec(font: Font | list | tuple, codepoint: int) → Rectangle

  Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to ‘?’ if not found

pyray.get_glyph_index(font: Font | list | tuple, codepoint: int) → int

  Get glyph index position in font for a codepoint (unicode character), fallback to ‘?’ if not found

pyray.get_glyph_info(font: Font | list | tuple, codepoint: int) → GlyphInfo

  Get glyph font info data for a codepoint (unicode character), fallback to ‘?’ if not found

pyray.get_image_alpha_border(image: Image | list | tuple, threshold: float) → Rectangle

  Get image alpha border rectangle

pyray.get_image_color(image: Image | list | tuple, x: int, y: int) → Color

  Get image pixel color at (x, y) position

pyray.get_key_pressed() → int

  Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty

pyray.get_master_volume() → float

  Get master volume (listener)

pyray.get_mesh_bounding_box(mesh: Mesh | list | tuple) → BoundingBox

  Compute mesh bounding box limits

pyray.get_model_bounding_box(model: Model | list | tuple) → BoundingBox

  Compute model bounding box limits (considers all meshes)

pyray.get_monitor_count() → int

  Get number of connected monitors

pyray.get_monitor_height(monitor: int) → int

  Get specified monitor height (current video mode used by monitor)

pyray.get_monitor_name(monitor: int) → str

  Get the human-readable, UTF-8 encoded name of the specified monitor

pyray.get_monitor_physical_height(monitor: int) → int

  Get specified monitor physical height in millimetres

pyray.get_monitor_physical_width(monitor: int) → int

  Get specified monitor physical width in millimetres

pyray.get_monitor_position(monitor: int) → Vector2

  Get specified monitor position

pyray.get_monitor_refresh_rate(monitor: int) → int

  Get specified monitor refresh rate

pyray.get_monitor_width(monitor: int) → int

  Get specified monitor width (current video mode used by monitor)

pyray.get_mouse_delta() → Vector2

  Get mouse delta between frames

pyray.get_mouse_position() → Vector2

  Get mouse position XY

pyray.get_mouse_wheel_move() → float

  Get mouse wheel movement for X or Y, whichever is larger

pyray.get_mouse_wheel_move_v() → Vector2

  Get mouse wheel movement for both X and Y

pyray.get_mouse_x() → int

  Get mouse position X

pyray.get_mouse_y() → int

  Get mouse position Y

pyray.get_music_time_length(music: Music | list | tuple) → float

  Get music time length (in seconds)

pyray.get_music_time_played(music: Music | list | tuple) → float

  Get current music time played (in seconds)

pyray.get_physics_bodies_count() → int

  Returns the current amount of created physics bodies

pyray.get_physics_body(index: int) → Any

  Returns a physics body of the bodies pool at a specific index

pyray.get_physics_shape_type(index: int) → int

  Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON)

pyray.get_physics_shape_vertex(body: Any | list | tuple, vertex: int) → Vector2

  Returns transformed position of a body shape (body position + vertex transformed position)

pyray.get_physics_shape_vertices_count(index: int) → int

  Returns the amount of vertices of a physics body shape

pyray.get_pixel_color(srcPtr: Any, format: int) → Color

  Get Color from a source pixel pointer of certain format

pyray.get_pixel_data_size(width: int, height: int, format: int) → int

  Get pixel data size in bytes for certain format

pyray.get_prev_directory_path(dirPath: str) → str

  Get previous directory path for a given path (uses static string)

pyray.get_random_value(min_0: int, max_1: int) → int

  Get a random value between min and max (both included)

pyray.get_ray_collision_box(ray: Ray | list | tuple, box: BoundingBox | list | tuple) → RayCollision

  Get collision info between ray and box

pyray.get_ray_collision_mesh(ray: Ray | list | tuple, mesh: Mesh | list | tuple, transform: Matrix | list | tuple) → RayCollision

  Get collision info between ray and mesh

pyray.get_ray_collision_quad(ray: Ray | list | tuple, p1: Vector3 | list | tuple, p2: Vector3 | list | tuple, p3: Vector3 | list | tuple, p4: Vector3 | list | tuple) → RayCollision

  Get collision info between ray and quad

pyray.get_ray_collision_sphere(ray: Ray | list | tuple, center: Vector3 | list | tuple, radius: float) → RayCollision

  Get collision info between ray and sphere

pyray.get_ray_collision_triangle(ray: Ray | list | tuple, p1: Vector3 | list | tuple, p2: Vector3 | list | tuple, p3: Vector3 | list | tuple) → RayCollision

  Get collision info between ray and triangle

pyray.get_render_height() → int

  Get current render height (it considers HiDPI)

pyray.get_render_width() → int

  Get current render width (it considers HiDPI)

pyray.get_screen_height() → int

  Get current screen height

pyray.get_screen_to_world_2d(position: Vector2 | list | tuple, camera: Camera2D | list | tuple) → Vector2

  Get the world space position for a 2d camera screen space position

pyray.get_screen_to_world_ray(position: Vector2 | list | tuple, camera: Camera3D | list | tuple) → Ray

  Get a ray trace from screen position (i.e mouse)

pyray.get_screen_to_world_ray_ex(position: Vector2 | list | tuple, camera: Camera3D | list | tuple, width: int, height: int) → Ray

  Get a ray trace from screen position (i.e mouse) in a viewport

pyray.get_screen_width() → int

  Get current screen width

pyray.get_shader_location(shader: Shader | list | tuple, uniformName: str) → int

  Get shader uniform location

pyray.get_shader_location_attrib(shader: Shader | list | tuple, attribName: str) → int

  Get shader attribute location

pyray.get_shapes_texture() → Texture

  Get texture that is used for shapes drawing

pyray.get_shapes_texture_rectangle() → Rectangle

  Get texture source rectangle that is used for shapes drawing

pyray.get_spline_point_basis(p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, p3: Vector2 | list | tuple, p4: Vector2 | list | tuple, t: float) → Vector2

  Get (evaluate) spline point: B-Spline

pyray.get_spline_point_bezier_cubic(p1: Vector2 | list | tuple, c2: Vector2 | list | tuple, c3: Vector2 | list | tuple, p4: Vector2 | list | tuple, t: float) → Vector2

  Get (evaluate) spline point: Cubic Bezier

pyray.get_spline_point_bezier_quad(p1: Vector2 | list | tuple, c2: Vector2 | list | tuple, p3: Vector2 | list | tuple, t: float) → Vector2

  Get (evaluate) spline point: Quadratic Bezier

pyray.get_spline_point_catmull_rom(p1: Vector2 | list | tuple, p2: Vector2 | list | tuple, p3: Vector2 | list | tuple, p4: Vector2 | list | tuple, t: float) → Vector2

  Get (evaluate) spline point: Catmull-Rom

pyray.get_spline_point_linear(startPos: Vector2 | list | tuple, endPos: Vector2 | list | tuple, t: float) → Vector2

  Get (evaluate) spline point: Linear

pyray.get_time() → float

  Get elapsed time in seconds since InitWindow()

pyray.get_touch_point_count() → int

  Get number of touch points

pyray.get_touch_point_id(index: int) → int

  Get touch point identifier for given index

pyray.get_touch_position(index: int) → Vector2

  Get touch position XY for a touch point index (relative to screen size)

pyray.get_touch_x() → int

  Get touch position X for touch point 0 (relative to screen size)

pyray.get_touch_y() → int

  Get touch position Y for touch point 0 (relative to screen size)

pyray.get_window_handle() → Any

  Get native window handle

pyray.get_window_position() → Vector2

  Get window position XY on monitor

pyray.get_window_scale_dpi() → Vector2

  Get window scale DPI factor

pyray.get_working_directory() → str

  Get current working directory (uses static string)

pyray.get_world_to_screen(position: Vector3 | list | tuple, camera: Camera3D | list | tuple) → Vector2

  Get the screen space position for a 3d world space position

pyray.get_world_to_screen_2d(position: Vector2 | list | tuple, camera: Camera2D | list | tuple) → Vector2

  Get the screen space position for a 2d camera world space position

pyray.get_world_to_screen_ex(position: Vector3 | list | tuple, camera: Camera3D | list | tuple, width: int, height: int) → Vector2

  Get size position for a 3d world space position

pyray.glfw_create_cursor(image: Any | list | tuple, xhot: int, yhot: int) → Any

pyray.glfw_create_standard_cursor(shape: int) → Any

pyray.glfw_create_window(width: int, height: int, title: str, monitor: Any | list | tuple, share: Any | list | tuple) → Any

pyray.glfw_default_window_hints() → None

pyray.glfw_destroy_cursor(cursor: Any | list | tuple) → None

pyray.glfw_destroy_window(window: Any | list | tuple) → None

pyray.glfw_extension_supported(extension: str) → int

pyray.glfw_focus_window(window: Any | list | tuple) → None

pyray.glfw_get_clipboard_string(window: Any | list | tuple) → str

pyray.glfw_get_current_context() → Any

pyray.glfw_get_cursor_pos(window: Any | list | tuple, xpos: Any, ypos: Any) → None

pyray.glfw_get_error(description: list[str]) → int

pyray.glfw_get_framebuffer_size(window: Any | list | tuple, width: Any, height: Any) → None

pyray.glfw_get_gamepad_name(jid: int) → str

pyray.glfw_get_gamepad_state(jid: int, state: Any | list | tuple) → int

pyray.glfw_get_gamma_ramp(monitor: Any | list | tuple) → Any

pyray.glfw_get_input_mode(window: Any | list | tuple, mode: int) → int

pyray.glfw_get_joystick_axes(jid: int, count: Any) → Any

pyray.glfw_get_joystick_buttons(jid: int, count: Any) → str

pyray.glfw_get_joystick_guid(jid: int) → str

pyray.glfw_get_joystick_hats(jid: int, count: Any) → str

pyray.glfw_get_joystick_name(jid: int) → str

pyray.glfw_get_joystick_user_pointer(jid: int) → Any

pyray.glfw_get_key(window: Any | list | tuple, key: int) → int

pyray.glfw_get_key_name(key: int, scancode: int) → str

pyray.glfw_get_key_scancode(key: int) → int

pyray.glfw_get_monitor_content_scale(monitor: Any | list | tuple, xscale: Any, yscale: Any) → None

pyray.glfw_get_monitor_name(monitor: Any | list | tuple) → str

pyray.glfw_get_monitor_physical_size(monitor: Any | list | tuple, widthMM: Any, heightMM: Any) → None

pyray.glfw_get_monitor_pos(monitor: Any | list | tuple, xpos: Any, ypos: Any) → None

pyray.glfw_get_monitor_user_pointer(monitor: Any | list | tuple) → Any

pyray.glfw_get_monitor_workarea(monitor: Any | list | tuple, xpos: Any, ypos: Any, width: Any, height: Any) → None

pyray.glfw_get_monitors(count: Any) → Any

pyray.glfw_get_mouse_button(window: Any | list | tuple, button: int) → int

pyray.glfw_get_platform() → int

pyray.glfw_get_primary_monitor() → Any

pyray.glfw_get_proc_address(procname: str) → Any

pyray.glfw_get_required_instance_extensions(count: Any) → list[str]

pyray.glfw_get_time() → float

pyray.glfw_get_timer_frequency() → int

pyray.glfw_get_timer_value() → int

pyray.glfw_get_version(major: Any, minor: Any, rev: Any) → None

pyray.glfw_get_version_string() → str

pyray.glfw_get_video_mode(monitor: Any | list | tuple) → Any

pyray.glfw_get_video_modes(monitor: Any | list | tuple, count: Any) → Any

pyray.glfw_get_window_attrib(window: Any | list | tuple, attrib: int) → int

pyray.glfw_get_window_content_scale(window: Any | list | tuple, xscale: Any, yscale: Any) → None

pyray.glfw_get_window_frame_size(window: Any | list | tuple, left: Any, top: Any, right: Any, bottom: Any) → None

pyray.glfw_get_window_monitor(window: Any | list | tuple) → Any

pyray.glfw_get_window_opacity(window: Any | list | tuple) → float

pyray.glfw_get_window_pos(window: Any | list | tuple, xpos: Any, ypos: Any) → None

pyray.glfw_get_window_size(window: Any | list | tuple, width: Any, height: Any) → None

pyray.glfw_get_window_title(window: Any | list | tuple) → str

pyray.glfw_get_window_user_pointer(window: Any | list | tuple) → Any

pyray.glfw_hide_window(window: Any | list | tuple) → None

pyray.glfw_iconify_window(window: Any | list | tuple) → None

pyray.glfw_init() → int

pyray.glfw_init_allocator(allocator: Any | list | tuple) → None

pyray.glfw_init_hint(hint: int, value: int) → None

pyray.glfw_joystick_is_gamepad(jid: int) → int

pyray.glfw_joystick_present(jid: int) → int

pyray.glfw_make_context_current(window: Any | list | tuple) → None

pyray.glfw_maximize_window(window: Any | list | tuple) → None

pyray.glfw_platform_supported(platform: int) → int

pyray.glfw_poll_events() → None

pyray.glfw_post_empty_event() → None

pyray.glfw_raw_mouse_motion_supported() → int

pyray.glfw_request_window_attention(window: Any | list | tuple) → None

pyray.glfw_restore_window(window: Any | list | tuple) → None

pyray.glfw_set_char_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_char_mods_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_clipboard_string(window: Any | list | tuple, string: str) → None

pyray.glfw_set_cursor(window: Any | list | tuple, cursor: Any | list | tuple) → None

pyray.glfw_set_cursor_enter_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_cursor_pos(window: Any | list | tuple, xpos: float, ypos: float) → None

pyray.glfw_set_cursor_pos_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_drop_callback(window: Any | list | tuple, callback: list[str] | list | tuple) → list[str]

pyray.glfw_set_error_callback(callback: str) → str

pyray.glfw_set_framebuffer_size_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_gamma(monitor: Any | list | tuple, gamma: float) → None

pyray.glfw_set_gamma_ramp(monitor: Any | list | tuple, ramp: Any | list | tuple) → None

pyray.glfw_set_input_mode(window: Any | list | tuple, mode: int, value: int) → None

pyray.glfw_set_joystick_callback(callback: Any) → Any

pyray.glfw_set_joystick_user_pointer(jid: int, pointer: Any) → None

pyray.glfw_set_key_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_monitor_callback(callback: Any | list | tuple) → Any

pyray.glfw_set_monitor_user_pointer(monitor: Any | list | tuple, pointer: Any) → None

pyray.glfw_set_mouse_button_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_scroll_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_time(time: float) → None

pyray.glfw_set_window_aspect_ratio(window: Any | list | tuple, numer: int, denom: int) → None

pyray.glfw_set_window_attrib(window: Any | list | tuple, attrib: int, value: int) → None

pyray.glfw_set_window_close_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_content_scale_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_focus_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_icon(window: Any | list | tuple, count: int, images: Any | list | tuple) → None

pyray.glfw_set_window_iconify_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_maximize_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_monitor(window: Any | list | tuple, monitor: Any | list | tuple, xpos: int, ypos: int, width: int, height: int, refreshRate: int) → None

pyray.glfw_set_window_opacity(window: Any | list | tuple, opacity: float) → None

pyray.glfw_set_window_pos(window: Any | list | tuple, xpos: int, ypos: int) → None

pyray.glfw_set_window_pos_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_refresh_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_should_close(window: Any | list | tuple, value: int) → None

pyray.glfw_set_window_size(window: Any | list | tuple, width: int, height: int) → None

pyray.glfw_set_window_size_callback(window: Any | list | tuple, callback: Any | list | tuple) → Any

pyray.glfw_set_window_size_limits(window: Any | list | tuple, minwidth: int, minheight: int, maxwidth: int, maxheight: int) → None

pyray.glfw_set_window_title(window: Any | list | tuple, title: str) → None

pyray.glfw_set_window_user_pointer(window: Any | list | tuple, pointer: Any) → None

pyray.glfw_show_window(window: Any | list | tuple) → None

pyray.glfw_swap_buffers(window: Any | list | tuple) → None

pyray.glfw_swap_interval(interval: int) → None

pyray.glfw_terminate() → None

pyray.glfw_update_gamepad_mappings(string: str) → int

pyray.glfw_vulkan_supported() → int

pyray.glfw_wait_events() → None

pyray.glfw_wait_events_timeout(timeout: float) → None

pyray.glfw_window_hint(hint: int, value: int) → None

pyray.glfw_window_hint_string(hint: int, value: str) → None

pyray.glfw_window_should_close(window: Any | list | tuple) → int

pyray.gui_button(bounds: Rectangle | list | tuple, text: str) → int

  Button control, returns true when clicked

pyray.gui_check_box(bounds: Rectangle | list | tuple, text: str, checked: Any) → int

  Check Box control, returns true when active

pyray.gui_color_bar_alpha(bounds: Rectangle | list | tuple, text: str, alpha: Any) → int

  Color Bar Alpha control

pyray.gui_color_bar_hue(bounds: Rectangle | list | tuple, text: str, value: Any) → int

  Color Bar Hue control

pyray.gui_color_panel(bounds: Rectangle | list | tuple, text: str, color: Any | list | tuple) → int

  Color Panel control

pyray.gui_color_panel_hsv(bounds: Rectangle | list | tuple, text: str, colorHsv: Any | list | tuple) → int

  Color Panel control that updates Hue-Saturation-Value color value, used by GuiColorPickerHSV()

pyray.gui_color_picker(bounds: Rectangle | list | tuple, text: str, color: Any | list | tuple) → int

  Color Picker control (multiple color controls)

pyray.gui_color_picker_hsv(bounds: Rectangle | list | tuple, text: str, colorHsv: Any | list | tuple) → int

  Color Picker control that avoids conversion to RGB on each call (multiple color controls)

pyray.gui_combo_box(bounds: Rectangle | list | tuple, text: str, active: Any) → int

  Combo Box control

pyray.gui_disable() → None

  Disable gui controls (global state)

pyray.gui_disable_tooltip() → None

  Disable gui tooltips (global state)

pyray.gui_draw_icon(iconId: int, posX: int, posY: int, pixelSize: int, color: Color | list | tuple) → None

  Draw icon using pixel size at specified position

pyray.gui_dropdown_box(bounds: Rectangle | list | tuple, text: str, active: Any, editMode: bool) → int

  Dropdown Box control

pyray.gui_dummy_rec(bounds: Rectangle | list | tuple, text: str) → int

  Dummy control for placeholders

pyray.gui_enable() → None

  Enable gui controls (global state)

pyray.gui_enable_tooltip() → None

  Enable gui tooltips (global state)

pyray.gui_get_font() → Font

  Get gui custom font (global state)

pyray.gui_get_icons() → Any

  Get raygui icons data pointer

pyray.gui_get_state() → int

  Get gui state (global state)

pyray.gui_get_style(control: int, property: int) → int

  Get one style property

pyray.gui_grid(bounds: Rectangle | list | tuple, text: str, spacing: float, subdivs: int, mouseCell: Any | list | tuple) → int

  Grid control

pyray.gui_group_box(bounds: Rectangle | list | tuple, text: str) → int

  Group Box control with text name

pyray.gui_icon_text(iconId: int, text: str) → str

  Get text with icon id prepended (if supported)

pyray.gui_is_locked() → bool

  Check if gui is locked (global state)

pyray.gui_label(bounds: Rectangle | list | tuple, text: str) → int

  Label control

pyray.gui_label_button(bounds: Rectangle | list | tuple, text: str) → int

  Label button control, returns true when clicked

pyray.gui_line(bounds: Rectangle | list | tuple, text: str) → int

  Line separator control, could contain text

pyray.gui_list_view(bounds: Rectangle | list | tuple, text: str, scrollIndex: Any, active: Any) → int

  List View control

pyray.gui_list_view_ex(bounds: Rectangle | list | tuple, text: list[str], count: int, scrollIndex: Any, active: Any, focus: Any) → int

  List View with extended parameters

pyray.gui_load_icons(fileName: str, loadIconsName: bool) → list[str]

  Load raygui icons file (.rgi) into internal icons data

pyray.gui_load_style(fileName: str) → None

  Load style file over global style variable (.rgs)

pyray.gui_load_style_default() → None

  Load style default over global style

pyray.gui_lock() → None

  Lock gui controls (global state)

pyray.gui_message_box(bounds: Rectangle | list | tuple, title: str, message: str, buttons: str) → int

  Message Box control, displays a message

pyray.gui_panel(bounds: Rectangle | list | tuple, text: str) → int

  Panel control, useful to group controls

pyray.gui_progress_bar(bounds: Rectangle | list | tuple, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float) → int

  Progress Bar control

pyray.gui_scroll_panel(bounds: Rectangle | list | tuple, text: str, content: Rectangle | list | tuple, scroll: Any | list | tuple, view: Any | list | tuple) → int

  Scroll Panel control

pyray.gui_set_alpha(alpha: float) → None

  Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f

pyray.gui_set_font(font: Font | list | tuple) → None

  Set gui custom font (global state)

pyray.gui_set_icon_scale(scale: int) → None

  Set default icon drawing size

pyray.gui_set_state(state: int) → None

  Set gui state (global state)

pyray.gui_set_style(control: int, property: int, value: int) → None

  Set one style property

pyray.gui_set_tooltip(tooltip: str) → None

  Set tooltip string

pyray.gui_slider(bounds: Rectangle | list | tuple, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float) → int

  Slider control

pyray.gui_slider_bar(bounds: Rectangle | list | tuple, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float) → int

  Slider Bar control

pyray.gui_spinner(bounds: Rectangle | list | tuple, text: str, value: Any, minValue: int, maxValue: int, editMode: bool) → int

  Spinner control

pyray.gui_status_bar(bounds: Rectangle | list | tuple, text: str) → int

  Status Bar control, shows info text

pyray.gui_tab_bar(bounds: Rectangle | list | tuple, text: list[str], count: int, active: Any) → int

  Tab Bar control, returns TAB to be closed or -1

pyray.gui_text_box(bounds: Rectangle | list | tuple, text: str, textSize: int, editMode: bool) → int

  Text Box control, updates input text

pyray.gui_text_input_box(bounds: Rectangle | list | tuple, title: str, message: str, buttons: str, text: str, textMaxSize: int, secretViewActive: Any) → int

  Text Input Box control, ask for text, supports secret

pyray.gui_toggle(bounds: Rectangle | list | tuple, text: str, active: Any) → int

  Toggle Button control

pyray.gui_toggle_group(bounds: Rectangle | list | tuple, text: str, active: Any) → int

  Toggle Group control

pyray.gui_toggle_slider(bounds: Rectangle | list | tuple, text: str, active: Any) → int

  Toggle Slider control

pyray.gui_unlock() → None

  Unlock gui controls (global state)

pyray.gui_value_box(bounds: Rectangle | list | tuple, text: str, value: Any, minValue: int, maxValue: int, editMode: bool) → int

  Value Box control, updates input text with numbers

pyray.gui_value_box_float(bounds: Rectangle | list | tuple, text: str, textValue: str, value: Any, editMode: bool) → int

  Value box control for float values

pyray.gui_window_box(bounds: Rectangle | list | tuple, title: str) → int

  Window Box control, shows a window that can be closed

pyray.hide_cursor() → None

  Hides cursor

pyray.image_alpha_clear(image: Any | list | tuple, color: Color | list | tuple, threshold: float) → None

  Clear alpha channel to desired color

pyray.image_alpha_crop(image: Any | list | tuple, threshold: float) → None

  Crop image depending on alpha value

pyray.image_alpha_mask(image: Any | list | tuple, alphaMask: Image | list | tuple) → None

  Apply alpha mask to image

pyray.image_alpha_premultiply(image: Any | list | tuple) → None

  Premultiply alpha channel

pyray.image_blur_gaussian(image: Any | list | tuple, blurSize: int) → None

  Apply Gaussian blur using a box blur approximation

pyray.image_clear_background(dst: Any | list | tuple, color: Color | list | tuple) → None

  Clear image background with given color

pyray.image_color_brightness(image: Any | list | tuple, brightness: int) → None

  Modify image color: brightness (-255 to 255)

pyray.image_color_contrast(image: Any | list | tuple, contrast: float) → None

  Modify image color: contrast (-100 to 100)

pyray.image_color_grayscale(image: Any | list | tuple) → None

  Modify image color: grayscale

pyray.image_color_invert(image: Any | list | tuple) → None

  Modify image color: invert

pyray.image_color_replace(image: Any | list | tuple, color: Color | list | tuple, replace: Color | list | tuple) → None

  Modify image color: replace color

pyray.image_color_tint(image: Any | list | tuple, color: Color | list | tuple) → None

  Modify image color: tint

pyray.image_copy(image: Image | list | tuple) → Image

  Create an image duplicate (useful for transformations)

pyray.image_crop(image: Any | list | tuple, crop: Rectangle | list | tuple) → None

  Crop an image to a defined rectangle

pyray.image_dither(image: Any | list | tuple, rBpp: int, gBpp: int, bBpp: int, aBpp: int) → None

  Dither image data to 16bpp or lower (Floyd-Steinberg dithering)

pyray.image_draw(dst: Any | list | tuple, src: Image | list | tuple, srcRec: Rectangle | list | tuple, dstRec: Rectangle | list | tuple, tint: Color | list | tuple) → None

  Draw a source image within a destination image (tint applied to source)

pyray.image_draw_circle(dst: Any | list | tuple, centerX: int, centerY: int, radius: int, color: Color | list | tuple) → None

  Draw a filled circle within an image

pyray.image_draw_circle_lines(dst: Any | list | tuple, centerX: int, centerY: int, radius: int, color: Color | list | tuple) → None

  Draw circle outline within an image

pyray.image_draw_circle_lines_v(dst: Any | list | tuple, center: Vector2 | list | tuple, radius: int, color: Color | list | tuple) → None

  Draw circle outline within an image (Vector version)

pyray.image_draw_circle_v(dst: Any | list | tuple, center: Vector2 | list | tuple, radius: int, color: Color | list | tuple) → None

  Draw a filled circle within an image (Vector version)

pyray.image_draw_line(dst: Any | list | tuple, startPosX: int, startPosY: int, endPosX: int, endPosY: int, color: Color | list | tuple) → None

  Draw line within an image

pyray.image_draw_line_ex(dst: Any | list | tuple, start: Vector2 | list | tuple, end: Vector2 | list | tuple, thick: int, color: Color | list | tuple) → None

  Draw a line defining thickness within an image

pyray.image_draw_line_v(dst: Any | list | tuple, start: Vector2 | list | tuple, end: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw line within an image (Vector version)

pyray.image_draw_pixel(dst: Any | list | tuple, posX: int, posY: int, color: Color | list | tuple) → None

  Draw pixel within an image

pyray.image_draw_pixel_v(dst: Any | list | tuple, position: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw pixel within an image (Vector version)

pyray.image_draw_rectangle(dst: Any | list | tuple, posX: int, posY: int, width: int, height: int, color: Color | list | tuple) → None

  Draw rectangle within an image

pyray.image_draw_rectangle_lines(dst: Any | list | tuple, rec: Rectangle | list | tuple, thick: int, color: Color | list | tuple) → None

  Draw rectangle lines within an image

pyray.image_draw_rectangle_rec(dst: Any | list | tuple, rec: Rectangle | list | tuple, color: Color | list | tuple) → None

  Draw rectangle within an image

pyray.image_draw_rectangle_v(dst: Any | list | tuple, position: Vector2 | list | tuple, size: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw rectangle within an image (Vector version)

pyray.image_draw_text(dst: Any | list | tuple, text: str, posX: int, posY: int, fontSize: int, color: Color | list | tuple) → None

  Draw text (using default font) within an image (destination)

pyray.image_draw_text_ex(dst: Any | list | tuple, font: Font | list | tuple, text: str, position: Vector2 | list | tuple, fontSize: float, spacing: float, tint: Color | list | tuple) → None

  Draw text (custom sprite font) within an image (destination)

pyray.image_draw_triangle(dst: Any | list | tuple, v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, v3: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw triangle within an image

pyray.image_draw_triangle_ex(dst: Any | list | tuple, v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, v3: Vector2 | list | tuple, c1: Color | list | tuple, c2: Color | list | tuple, c3: Color | list | tuple) → None

  Draw triangle with interpolated colors within an image

pyray.image_draw_triangle_fan(dst: Any | list | tuple, points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw a triangle fan defined by points within an image (first vertex is the center)

pyray.image_draw_triangle_lines(dst: Any | list | tuple, v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, v3: Vector2 | list | tuple, color: Color | list | tuple) → None

  Draw triangle outline within an image

pyray.image_draw_triangle_strip(dst: Any | list | tuple, points: Any | list | tuple, pointCount: int, color: Color | list | tuple) → None

  Draw a triangle strip defined by points within an image

pyray.image_flip_horizontal(image: Any | list | tuple) → None

  Flip image horizontally

pyray.image_flip_vertical(image: Any | list | tuple) → None

  Flip image vertically

pyray.image_format(image: Any | list | tuple, newFormat: int) → None

  Convert image data to desired format

pyray.image_from_channel(image: Image | list | tuple, selectedChannel: int) → Image

  Create an image from a selected channel of another image (GRAYSCALE)

pyray.image_from_image(image: Image | list | tuple, rec: Rectangle | list | tuple) → Image

  Create an image from another image piece

pyray.image_kernel_convolution(image: Any | list | tuple, kernel: Any, kernelSize: int) → None

  Apply custom square convolution kernel to image

pyray.image_mipmaps(image: Any | list | tuple) → None

  Compute all mipmap levels for a provided image

pyray.image_resize(image: Any | list | tuple, newWidth: int, newHeight: int) → None

  Resize image (Bicubic scaling algorithm)

pyray.image_resize_canvas(image: Any | list | tuple, newWidth: int, newHeight: int, offsetX: int, offsetY: int, fill: Color | list | tuple) → None

  Resize canvas and fill with color

pyray.image_resize_nn(image: Any | list | tuple, newWidth: int, newHeight: int) → None

  Resize image (Nearest-Neighbor scaling algorithm)

pyray.image_rotate(image: Any | list | tuple, degrees: int) → None

  Rotate image by input angle in degrees (-359 to 359)

pyray.image_rotate_ccw(image: Any | list | tuple) → None

  Rotate image counter-clockwise 90deg

pyray.image_rotate_cw(image: Any | list | tuple) → None

  Rotate image clockwise 90deg

pyray.image_text(text: str, fontSize: int, color: Color | list | tuple) → Image

  Create an image from text (default font)

pyray.image_text_ex(font: Font | list | tuple, text: str, fontSize: float, spacing: float, tint: Color | list | tuple) → Image

  Create an image from text (custom sprite font)

pyray.image_to_pot(image: Any | list | tuple, fill: Color | list | tuple) → None

  Convert image to POT (power-of-two)

pyray.init_audio_device() → None

  Initialize audio device and context

pyray.init_physics() → None

  Initializes physics system

pyray.init_window(width: int, height: int, title: str) → None

  Initialize window and OpenGL context

pyray.is_audio_device_ready() → bool

  Check if audio device has been initialized successfully

pyray.is_audio_stream_playing(stream: AudioStream | list | tuple) → bool

  Check if audio stream is playing

pyray.is_audio_stream_processed(stream: AudioStream | list | tuple) → bool

  Check if any audio stream buffers requires refill

pyray.is_audio_stream_valid(stream: AudioStream | list | tuple) → bool

  Checks if an audio stream is valid (buffers initialized)

pyray.is_cursor_hidden() → bool

  Check if cursor is not visible

pyray.is_cursor_on_screen() → bool

  Check if cursor is on the screen

pyray.is_file_dropped() → bool

  Check if a file has been dropped into window

pyray.is_file_extension(fileName: str, ext: str) → bool

  Check file extension (including point: .png, .wav)

pyray.is_file_name_valid(fileName: str) → bool

  Check if fileName is valid for the platform/OS

pyray.is_font_valid(font: Font | list | tuple) → bool

  Check if a font is valid (font data loaded, WARNING: GPU texture not checked)

pyray.is_gamepad_available(gamepad: int) → bool

  Check if a gamepad is available

pyray.is_gamepad_button_down(gamepad: int, button: int) → bool

  Check if a gamepad button is being pressed

pyray.is_gamepad_button_pressed(gamepad: int, button: int) → bool

  Check if a gamepad button has been pressed once

pyray.is_gamepad_button_released(gamepad: int, button: int) → bool

  Check if a gamepad button has been released once

pyray.is_gamepad_button_up(gamepad: int, button: int) → bool

  Check if a gamepad button is NOT being pressed

pyray.is_gesture_detected(gesture: int) → bool

  Check if a gesture have been detected

pyray.is_image_valid(image: Image | list | tuple) → bool

  Check if an image is valid (data and parameters)

pyray.is_key_down(key: int) → bool

  Check if a key is being pressed

pyray.is_key_pressed(key: int) → bool

  Check if a key has been pressed once

pyray.is_key_pressed_repeat(key: int) → bool

  Check if a key has been pressed again

pyray.is_key_released(key: int) → bool

  Check if a key has been released once

pyray.is_key_up(key: int) → bool

  Check if a key is NOT being pressed

pyray.is_material_valid(material: Material | list | tuple) → bool

  Check if a material is valid (shader assigned, map textures loaded in GPU)

pyray.is_model_animation_valid(model: Model | list | tuple, anim: ModelAnimation | list | tuple) → bool

  Check model animation skeleton match

pyray.is_model_valid(model: Model | list | tuple) → bool

  Check if a model is valid (loaded in GPU, VAO/VBOs)

pyray.is_mouse_button_down(button: int) → bool

  Check if a mouse button is being pressed

pyray.is_mouse_button_pressed(button: int) → bool

  Check if a mouse button has been pressed once

pyray.is_mouse_button_released(button: int) → bool

  Check if a mouse button has been released once

pyray.is_mouse_button_up(button: int) → bool

  Check if a mouse button is NOT being pressed

pyray.is_music_stream_playing(music: Music | list | tuple) → bool

  Check if music is playing

pyray.is_music_valid(music: Music | list | tuple) → bool

  Checks if a music stream is valid (context and buffers initialized)

pyray.is_path_file(path: str) → bool

  Check if a given path is a file or a directory

pyray.is_render_texture_valid(target: RenderTexture | list | tuple) → bool

  Check if a render texture is valid (loaded in GPU)

pyray.is_shader_valid(shader: Shader | list | tuple) → bool

  Check if a shader is valid (loaded on GPU)

pyray.is_sound_playing(sound: Sound | list | tuple) → bool

  Check if a sound is currently playing

pyray.is_sound_valid(sound: Sound | list | tuple) → bool

  Checks if a sound is valid (data loaded and buffers initialized)

pyray.is_texture_valid(texture: Texture | list | tuple) → bool

  Check if a texture is valid (loaded in GPU)

pyray.is_wave_valid(wave: Wave | list | tuple) → bool

  Checks if wave data is valid (data loaded and parameters)

pyray.is_window_focused() → bool

  Check if window is currently focused

pyray.is_window_fullscreen() → bool

  Check if window is currently fullscreen

pyray.is_window_hidden() → bool

  Check if window is currently hidden

pyray.is_window_maximized() → bool

  Check if window is currently maximized

pyray.is_window_minimized() → bool

  Check if window is currently minimized

pyray.is_window_ready() → bool

  Check if window has been initialized successfully

pyray.is_window_resized() → bool

  Check if window has been resized last frame

pyray.is_window_state(flag: int) → bool

  Check if one specific window flag is enabled

pyray.lerp(start: float, end: float, amount: float) → float

pyray.load_audio_stream(sampleRate: int, sampleSize: int, channels: int) → AudioStream

  Load audio stream (to stream raw audio pcm data)

pyray.load_automation_event_list(fileName: str) → AutomationEventList

  Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS

pyray.load_codepoints(text: str, count: Any) → Any

  Load all codepoints from a UTF-8 text string, codepoints count returned by parameter

pyray.load_directory_files(dirPath: str) → FilePathList

  Load directory filepaths

pyray.load_directory_files_ex(basePath: str, filter: str, scanSubdirs: bool) → FilePathList

  Load directory filepaths with extension filtering and recursive directory scan. Use ‘DIR’ in the filter string to include directories in the result

pyray.load_dropped_files() → FilePathList

  Load dropped filepaths

pyray.load_file_data(fileName: str, dataSize: Any) → str

  Load file data as byte array (read)

pyray.load_file_text(fileName: str) → str

  Load text data from file (read), returns a ‘' terminated string

pyray.load_font(fileName: str) → Font

  Load font from file into GPU memory (VRAM)

pyray.load_font_data(fileData: str, dataSize: int, fontSize: int, codepoints: Any, codepointCount: int, type: int) → Any

  Load font data for further use

pyray.load_font_ex(fileName: str, fontSize: int, codepoints: Any, codepointCount: int) → Font

  Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height

pyray.load_font_from_image(image: Image | list | tuple, key: Color | list | tuple, firstChar: int) → Font

  Load font from Image (XNA style)

pyray.load_font_from_memory(fileType: str, fileData: str, dataSize: int, fontSize: int, codepoints: Any, codepointCount: int) → Font

  Load font from memory buffer, fileType refers to extension: i.e. ‘.ttf’

pyray.load_image(fileName: str) → Image

  Load image from file into CPU memory (RAM)

pyray.load_image_anim(fileName: str, frames: Any) → Image

  Load image sequence from file (frames appended to image.data)

pyray.load_image_anim_from_memory(fileType: str, fileData: str, dataSize: int, frames: Any) → Image

  Load image sequence from memory buffer

pyray.load_image_colors(image: Image | list | tuple) → Any

  Load color data from image as a Color array (RGBA - 32bit)

pyray.load_image_from_memory(fileType: str, fileData: str, dataSize: int) → Image

  Load image from memory buffer, fileType refers to extension: i.e. ‘.png’

pyray.load_image_from_screen() → Image

  Load image from screen buffer and (screenshot)

pyray.load_image_from_texture(texture: Texture | list | tuple) → Image

  Load image from GPU texture data

pyray.load_image_palette(image: Image | list | tuple, maxPaletteSize: int, colorCount: Any) → Any

  Load colors palette from image as a Color array (RGBA - 32bit)

pyray.load_image_raw(fileName: str, width: int, height: int, format: int, headerSize: int) → Image

  Load image from RAW file data

pyray.load_material_default() → Material

  Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)

pyray.load_materials(fileName: str, materialCount: Any) → Any

  Load materials from model file

pyray.load_model(fileName: str) → Model

  Load model from files (meshes and materials)

pyray.load_model_animations(fileName: str, animCount: Any) → Any

  Load model animations from file

pyray.load_model_from_mesh(mesh: Mesh | list | tuple) → Model

  Load model from generated mesh (default material)

pyray.load_music_stream(fileName: str) → Music

  Load music stream from file

pyray.load_music_stream_from_memory(fileType: str, data: str, dataSize: int) → Music

  Load music stream from data

pyray.load_random_sequence(count: int, min_1: int, max_2: int) → Any

  Load random values sequence, no values repeated

pyray.load_render_texture(width: int, height: int) → RenderTexture

  Load texture for rendering (framebuffer)

pyray.load_shader(vsFileName: str, fsFileName: str) → Shader

  Load shader from files and bind default locations

pyray.load_shader_from_memory(vsCode: str, fsCode: str) → Shader

  Load shader from code strings and bind default locations

pyray.load_sound(fileName: str) → Sound

  Load sound from file

pyray.load_sound_alias(source: Sound | list | tuple) → Sound

  Create a new sound that shares the same sample data as the source sound, does not own the sound data

pyray.load_sound_from_wave(wave: Wave | list | tuple) → Sound

  Load sound from wave data

pyray.load_texture(fileName: str) → Texture

  Load texture from file into GPU memory (VRAM)

pyray.load_texture_cubemap(image: Image | list | tuple, layout: int) → Texture

  Load cubemap from image, multiple image cubemap layouts supported

pyray.load_texture_from_image(image: Image | list | tuple) → Texture

  Load texture from image data

pyray.load_utf8(codepoints: Any, length: int) → str

  Load UTF-8 text encoded from codepoints array

pyray.load_vr_stereo_config(device: VrDeviceInfo | list | tuple) → VrStereoConfig

  Load VR stereo config for VR simulator device parameters

pyray.load_wave(fileName: str) → Wave

  Load wave data from file

pyray.load_wave_from_memory(fileType: str, fileData: str, dataSize: int) → Wave

  Load wave from memory buffer, fileType refers to extension: i.e. ‘.wav’

pyray.load_wave_samples(wave: Wave | list | tuple) → Any

  Load samples data from wave as a 32bit float data array

pyray.make_directory(dirPath: str) → int

  Create directories (including full path requested), returns 0 on success

pyray.matrix_add(left: Matrix | list | tuple, right: Matrix | list | tuple) → Matrix

pyray.matrix_decompose(mat: Matrix | list | tuple, translation: Any | list | tuple, rotation: Any | list | tuple, scale: Any | list | tuple) → None

pyray.matrix_determinant(mat: Matrix | list | tuple) → float

pyray.matrix_frustum(left: float, right: float, bottom: float, top: float, nearPlane: float, farPlane: float) → Matrix

pyray.matrix_identity() → Matrix

pyray.matrix_invert(mat: Matrix | list | tuple) → Matrix

pyray.matrix_look_at(eye: Vector3 | list | tuple, target: Vector3 | list | tuple, up: Vector3 | list | tuple) → Matrix

pyray.matrix_multiply(left: Matrix | list | tuple, right: Matrix | list | tuple) → Matrix

pyray.matrix_ortho(left: float, right: float, bottom: float, top: float, nearPlane: float, farPlane: float) → Matrix

pyray.matrix_perspective(fovY: float, aspect: float, nearPlane: float, farPlane: float) → Matrix

pyray.matrix_rotate(axis: Vector3 | list | tuple, angle: float) → Matrix

pyray.matrix_rotate_x(angle: float) → Matrix

pyray.matrix_rotate_xyz(angle: Vector3 | list | tuple) → Matrix

pyray.matrix_rotate_y(angle: float) → Matrix

pyray.matrix_rotate_z(angle: float) → Matrix

pyray.matrix_rotate_zyx(angle: Vector3 | list | tuple) → Matrix

pyray.matrix_scale(x: float, y: float, z: float) → Matrix

pyray.matrix_subtract(left: Matrix | list | tuple, right: Matrix | list | tuple) → Matrix

pyray.matrix_to_float_v(mat: Matrix | list | tuple) → float16

pyray.matrix_trace(mat: Matrix | list | tuple) → float

pyray.matrix_translate(x: float, y: float, z: float) → Matrix

pyray.matrix_transpose(mat: Matrix | list | tuple) → Matrix

pyray.maximize_window() → None

  Set window state: maximized, if resizable

pyray.measure_text(text: str, fontSize: int) → int

  Measure string width for default font

pyray.measure_text_ex(font: Font | list | tuple, text: str, fontSize: float, spacing: float) → Vector2

  Measure string size for Font

pyray.mem_alloc(size: int) → Any

  Internal memory allocator

pyray.mem_free(ptr: Any) → None

  Internal memory free

pyray.mem_realloc(ptr: Any, size: int) → Any

  Internal memory reallocator

pyray.minimize_window() → None

  Set window state: minimized, if resizable

pyray.normalize(value: float, start: float, end: float) → float

pyray.open_url(url: str) → None

  Open URL with default system browser (if available)

pyray.pause_audio_stream(stream: AudioStream | list | tuple) → None

  Pause audio stream

pyray.pause_music_stream(music: Music | list | tuple) → None

  Pause music playing

pyray.pause_sound(sound: Sound | list | tuple) → None

  Pause a sound

pyray.physics_add_force(body: Any | list | tuple, force: Vector2 | list | tuple) → None

  Adds a force to a physics body

pyray.physics_add_torque(body: Any | list | tuple, amount: float) → None

  Adds an angular force to a physics body

pyray.physics_shatter(body: Any | list | tuple, position: Vector2 | list | tuple, force: float) → None

  Shatters a polygon shape physics body to little physics bodies with explosion force

pyray.play_audio_stream(stream: AudioStream | list | tuple) → None

  Play audio stream

pyray.play_automation_event(event: AutomationEvent | list | tuple) → None

  Play a recorded automation event

pyray.play_music_stream(music: Music | list | tuple) → None

  Start music playing

pyray.play_sound(sound: Sound | list | tuple) → None

  Play a sound

pyray.poll_input_events() → None

  Register all input events

pyray.quaternion_add(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple) → Vector4

pyray.quaternion_add_value(q: Vector4 | list | tuple, add: float) → Vector4

pyray.quaternion_cubic_hermite_spline(q1: Vector4 | list | tuple, outTangent1: Vector4 | list | tuple, q2: Vector4 | list | tuple, inTangent2: Vector4 | list | tuple, t: float) → Vector4

pyray.quaternion_divide(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple) → Vector4

pyray.quaternion_equals(p: Vector4 | list | tuple, q: Vector4 | list | tuple) → int

pyray.quaternion_from_axis_angle(axis: Vector3 | list | tuple, angle: float) → Vector4

pyray.quaternion_from_euler(pitch: float, yaw: float, roll: float) → Vector4

pyray.quaternion_from_matrix(mat: Matrix | list | tuple) → Vector4

pyray.quaternion_from_vector3_to_vector3(from_0: Vector3 | list | tuple, to: Vector3 | list | tuple) → Vector4

pyray.quaternion_identity() → Vector4

pyray.quaternion_invert(q: Vector4 | list | tuple) → Vector4

pyray.quaternion_length(q: Vector4 | list | tuple) → float

pyray.quaternion_lerp(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple, amount: float) → Vector4

pyray.quaternion_multiply(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple) → Vector4

pyray.quaternion_nlerp(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple, amount: float) → Vector4

pyray.quaternion_normalize(q: Vector4 | list | tuple) → Vector4

pyray.quaternion_scale(q: Vector4 | list | tuple, mul: float) → Vector4

pyray.quaternion_slerp(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple, amount: float) → Vector4

pyray.quaternion_subtract(q1: Vector4 | list | tuple, q2: Vector4 | list | tuple) → Vector4

pyray.quaternion_subtract_value(q: Vector4 | list | tuple, sub: float) → Vector4

pyray.quaternion_to_axis_angle(q: Vector4 | list | tuple, outAxis: Any | list | tuple, outAngle: Any) → None

pyray.quaternion_to_euler(q: Vector4 | list | tuple) → Vector3

pyray.quaternion_to_matrix(q: Vector4 | list | tuple) → Matrix

pyray.quaternion_transform(q: Vector4 | list | tuple, mat: Matrix | list | tuple) → Vector4

pyray.remap(value: float, inputStart: float, inputEnd: float, outputStart: float, outputEnd: float) → float

pyray.reset_physics() → None

  Reset physics system (global variables)

pyray.restore_window() → None

  Set window state: not minimized/maximized

pyray.resume_audio_stream(stream: AudioStream | list | tuple) → None

  Resume audio stream

pyray.resume_music_stream(music: Music | list | tuple) → None

  Resume playing paused music

pyray.resume_sound(sound: Sound | list | tuple) → None

  Resume a paused sound

class pyray.rlBlendMode

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_BLEND_ADDITIVE = 1
  RL_BLEND_ADD_COLORS = 3
  RL_BLEND_ALPHA = 0
  RL_BLEND_ALPHA_PREMULTIPLY = 5
  RL_BLEND_CUSTOM = 6
  RL_BLEND_CUSTOM_SEPARATE = 7
  RL_BLEND_MULTIPLIED = 2
  RL_BLEND_SUBTRACT_COLORS = 4

class pyray.rlCullMode

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_CULL_FACE_BACK = 1
  RL_CULL_FACE_FRONT = 0

class pyray.rlDrawCall(mode: int | None = None, vertexCount: int | None = None, vertexAlignment: int | None = None, textureId: int | None = None)

  struct

  mode: int
  textureId: int
  vertexAlignment: int
  vertexCount: int

class pyray.rlFramebufferAttachTextureType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1
  RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3
  RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5
  RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0
  RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2
  RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4
  RL_ATTACHMENT_RENDERBUFFER = 200
  RL_ATTACHMENT_TEXTURE2D = 100

class pyray.rlFramebufferAttachType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_ATTACHMENT_COLOR_CHANNEL0 = 0
  RL_ATTACHMENT_COLOR_CHANNEL1 = 1
  RL_ATTACHMENT_COLOR_CHANNEL2 = 2
  RL_ATTACHMENT_COLOR_CHANNEL3 = 3
  RL_ATTACHMENT_COLOR_CHANNEL4 = 4
  RL_ATTACHMENT_COLOR_CHANNEL5 = 5
  RL_ATTACHMENT_COLOR_CHANNEL6 = 6
  RL_ATTACHMENT_COLOR_CHANNEL7 = 7
  RL_ATTACHMENT_DEPTH = 100
  RL_ATTACHMENT_STENCIL = 200

class pyray.rlGlVersion

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_OPENGL_11 = 1
  RL_OPENGL_21 = 2
  RL_OPENGL_33 = 3
  RL_OPENGL_43 = 4
  RL_OPENGL_ES_20 = 5
  RL_OPENGL_ES_30 = 6

class pyray.rlPixelFormat

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23
  RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24
  RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 14
  RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15
  RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16
  RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17
  RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 18
  RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20
  RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 19
  RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 21
  RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22
  RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
  RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
  RL_PIXELFORMAT_UNCOMPRESSED_R16 = 11
  RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12
  RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13
  RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8
  RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
  RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
  RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
  RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
  RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
  RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
  RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7

class pyray.rlRenderBatch(bufferCount: int | None = None, currentBuffer: int | None = None, vertexBuffer: Any | None = None, draws: Any | None = None, drawCounter: int | None = None, currentDepth: float | None = None)

  struct

  bufferCount: int
  currentBuffer: int
  currentDepth: float
  drawCounter: int
  draws: Any
  vertexBuffer: Any

class pyray.rlShaderAttributeDataType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_SHADER_ATTRIB_FLOAT = 0
  RL_SHADER_ATTRIB_VEC2 = 1
  RL_SHADER_ATTRIB_VEC3 = 2
  RL_SHADER_ATTRIB_VEC4 = 3

class pyray.rlShaderLocationIndex

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_SHADER_LOC_COLOR_AMBIENT = 14
  RL_SHADER_LOC_COLOR_DIFFUSE = 12
  RL_SHADER_LOC_COLOR_SPECULAR = 13
  RL_SHADER_LOC_MAP_ALBEDO = 15
  RL_SHADER_LOC_MAP_BRDF = 25
  RL_SHADER_LOC_MAP_CUBEMAP = 22
  RL_SHADER_LOC_MAP_EMISSION = 20
  RL_SHADER_LOC_MAP_HEIGHT = 21
  RL_SHADER_LOC_MAP_IRRADIANCE = 23
  RL_SHADER_LOC_MAP_METALNESS = 16
  RL_SHADER_LOC_MAP_NORMAL = 17
  RL_SHADER_LOC_MAP_OCCLUSION = 19
  RL_SHADER_LOC_MAP_PREFILTER = 24
  RL_SHADER_LOC_MAP_ROUGHNESS = 18
  RL_SHADER_LOC_MATRIX_MODEL = 9
  RL_SHADER_LOC_MATRIX_MVP = 6
  RL_SHADER_LOC_MATRIX_NORMAL = 10
  RL_SHADER_LOC_MATRIX_PROJECTION = 8
  RL_SHADER_LOC_MATRIX_VIEW = 7
  RL_SHADER_LOC_VECTOR_VIEW = 11
  RL_SHADER_LOC_VERTEX_COLOR = 5
  RL_SHADER_LOC_VERTEX_NORMAL = 3
  RL_SHADER_LOC_VERTEX_POSITION = 0
  RL_SHADER_LOC_VERTEX_TANGENT = 4
  RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1
  RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2

class pyray.rlShaderUniformDataType

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_SHADER_UNIFORM_FLOAT = 0
  RL_SHADER_UNIFORM_INT = 4
  RL_SHADER_UNIFORM_IVEC2 = 5
  RL_SHADER_UNIFORM_IVEC3 = 6
  RL_SHADER_UNIFORM_IVEC4 = 7
  RL_SHADER_UNIFORM_SAMPLER2D = 12
  RL_SHADER_UNIFORM_UINT = 8
  RL_SHADER_UNIFORM_UIVEC2 = 9
  RL_SHADER_UNIFORM_UIVEC3 = 10
  RL_SHADER_UNIFORM_UIVEC4 = 11
  RL_SHADER_UNIFORM_VEC2 = 1
  RL_SHADER_UNIFORM_VEC3 = 2
  RL_SHADER_UNIFORM_VEC4 = 3

class pyray.rlTextureFilter

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5
  RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3
  RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4
  RL_TEXTURE_FILTER_BILINEAR = 1
  RL_TEXTURE_FILTER_POINT = 0
  RL_TEXTURE_FILTER_TRILINEAR = 2

class pyray.rlTraceLogLevel

  int([x]) -> integer int(x, base=10) -> integer

  Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

  If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

  RL_LOG_ALL = 0
  RL_LOG_DEBUG = 2
  RL_LOG_ERROR = 5
  RL_LOG_FATAL = 6
  RL_LOG_INFO = 3
  RL_LOG_NONE = 7
  RL_LOG_TRACE = 1
  RL_LOG_WARNING = 4

class pyray.rlVertexBuffer(elementCount: int | None = None, vertices: Any | None = None, texcoords: Any | None = None, normals: Any | None = None, colors: str | None = None, indices: Any | None = None, vaoId: int | None = None, vboId: list | None = None)

  struct

  colors: str
  elementCount: int
  indices: Any
  normals: Any
  texcoords: Any
  vaoId: int
  vboId: list
  vertices: Any

pyray.rl_active_draw_buffers(count: int) → None

  Activate multiple draw color buffers

pyray.rl_active_texture_slot(slot: int) → None

  Select and active a texture slot

pyray.rl_begin(mode: int) → None

  Initialize drawing mode (how to organize vertex)

pyray.rl_bind_framebuffer(target: int, framebuffer: int) → None

  Bind framebuffer (FBO)

pyray.rl_bind_image_texture(id: int, index: int, format: int, readonly: bool) → None

  Bind image texture

pyray.rl_bind_shader_buffer(id: int, index: int) → None

  Bind SSBO buffer

pyray.rl_blit_framebuffer(srcX: int, srcY: int, srcWidth: int, srcHeight: int, dstX: int, dstY: int, dstWidth: int, dstHeight: int, bufferMask: int) → None

  Blit active framebuffer to main framebuffer

pyray.rl_check_errors() → None

  Check and log OpenGL error codes

pyray.rl_check_render_batch_limit(vCount: int) → bool

  Check internal buffer overflow for a given number of vertex

pyray.rl_clear_color(r: int, g: int, b: int, a: int) → None

  Clear color buffer with color

pyray.rl_clear_screen_buffers() → None

  Clear used screen buffers (color and depth)

pyray.rl_color3f(x: float, y: float, z: float) → None

  Define one vertex (color) - 3 float

pyray.rl_color4f(x: float, y: float, z: float, w: float) → None

  Define one vertex (color) - 4 float

pyray.rl_color4ub(r: int, g: int, b: int, a: int) → None

  Define one vertex (color) - 4 byte

pyray.rl_color_mask(r: bool, g: bool, b: bool, a: bool) → None

  Color mask control

pyray.rl_compile_shader(shaderCode: str, type: int) → int

  Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)

pyray.rl_compute_shader_dispatch(groupX: int, groupY: int, groupZ: int) → None

  Dispatch compute shader (equivalent to draw for graphics pipeline)

pyray.rl_copy_shader_buffer(destId: int, srcId: int, destOffset: int, srcOffset: int, count: int) → None

  Copy SSBO data between buffers

pyray.rl_cubemap_parameters(id: int, param: int, value: int) → None

  Set cubemap parameters (filter, wrap)

pyray.rl_disable_backface_culling() → None

  Disable backface culling

pyray.rl_disable_color_blend() → None

  Disable color blending

pyray.rl_disable_depth_mask() → None

  Disable depth write

pyray.rl_disable_depth_test() → None

  Disable depth test

pyray.rl_disable_framebuffer() → None

  Disable render texture (fbo), return to default framebuffer

pyray.rl_disable_scissor_test() → None

  Disable scissor test

pyray.rl_disable_shader() → None

  Disable shader program

pyray.rl_disable_smooth_lines() → None

  Disable line aliasing

pyray.rl_disable_stereo_render() → None

  Disable stereo rendering

pyray.rl_disable_texture() → None

  Disable texture

pyray.rl_disable_texture_cubemap() → None

  Disable texture cubemap

pyray.rl_disable_vertex_array() → None

  Disable vertex array (VAO, if supported)

pyray.rl_disable_vertex_attribute(index: int) → None

  Disable vertex attribute index

pyray.rl_disable_vertex_buffer() → None

  Disable vertex buffer (VBO)

pyray.rl_disable_vertex_buffer_element() → None

  Disable vertex buffer element (VBO element)

pyray.rl_disable_wire_mode() → None

  Disable wire (and point) mode

pyray.rl_draw_render_batch(batch: Any | list | tuple) → None

  Draw render batch data (Update->Draw->Reset)

pyray.rl_draw_render_batch_active() → None

  Update and draw internal render batch

pyray.rl_draw_vertex_array(offset: int, count: int) → None

  Draw vertex array (currently active vao)

pyray.rl_draw_vertex_array_elements(offset: int, count: int, buffer: Any) → None

  Draw vertex array elements

pyray.rl_draw_vertex_array_elements_instanced(offset: int, count: int, buffer: Any, instances: int) → None

  Draw vertex array elements with instancing

pyray.rl_draw_vertex_array_instanced(offset: int, count: int, instances: int) → None

  Draw vertex array (currently active vao) with instancing

pyray.rl_enable_backface_culling() → None

  Enable backface culling

pyray.rl_enable_color_blend() → None

  Enable color blending

pyray.rl_enable_depth_mask() → None

  Enable depth write

pyray.rl_enable_depth_test() → None

  Enable depth test

pyray.rl_enable_framebuffer(id: int) → None

  Enable render texture (fbo)

pyray.rl_enable_point_mode() → None

  Enable point mode

pyray.rl_enable_scissor_test() → None

  Enable scissor test

pyray.rl_enable_shader(id: int) → None

  Enable shader program

pyray.rl_enable_smooth_lines() → None

  Enable line aliasing

pyray.rl_enable_stereo_render() → None

  Enable stereo rendering

pyray.rl_enable_texture(id: int) → None

  Enable texture

pyray.rl_enable_texture_cubemap(id: int) → None

  Enable texture cubemap

pyray.rl_enable_vertex_array(vaoId: int) → bool

  Enable vertex array (VAO, if supported)

pyray.rl_enable_vertex_attribute(index: int) → None

  Enable vertex attribute index

pyray.rl_enable_vertex_buffer(id: int) → None

  Enable vertex buffer (VBO)

pyray.rl_enable_vertex_buffer_element(id: int) → None

  Enable vertex buffer element (VBO element)

pyray.rl_enable_wire_mode() → None

  Enable wire mode

pyray.rl_end() → None

  Finish vertex providing

pyray.rl_framebuffer_attach(fboId: int, texId: int, attachType: int, texType: int, mipLevel: int) → None

  Attach texture/renderbuffer to a framebuffer

pyray.rl_framebuffer_complete(id: int) → bool

  Verify framebuffer is complete

pyray.rl_frustum(left: float, right: float, bottom: float, top: float, znear: float, zfar: float) → None

pyray.rl_gen_texture_mipmaps(id: int, width: int, height: int, format: int, mipmaps: Any) → None

  Generate mipmap data for selected texture

pyray.rl_get_active_framebuffer() → int

  Get the currently active render texture (fbo), 0 for default framebuffer

pyray.rl_get_cull_distance_far() → float

  Get cull plane distance far

pyray.rl_get_cull_distance_near() → float

  Get cull plane distance near

pyray.rl_get_framebuffer_height() → int

  Get default framebuffer height

pyray.rl_get_framebuffer_width() → int

  Get default framebuffer width

pyray.rl_get_gl_texture_formats(format: int, glInternalFormat: Any, glFormat: Any, glType: Any) → None

  Get OpenGL internal formats

pyray.rl_get_line_width() → float

  Get the line drawing width

pyray.rl_get_location_attrib(shaderId: int, attribName: str) → int

  Get shader location attribute

pyray.rl_get_location_uniform(shaderId: int, uniformName: str) → int

  Get shader location uniform

pyray.rl_get_matrix_modelview() → Matrix

  Get internal modelview matrix

pyray.rl_get_matrix_projection() → Matrix

  Get internal projection matrix

pyray.rl_get_matrix_projection_stereo(eye: int) → Matrix

  Get internal projection matrix for stereo render (selected eye)

pyray.rl_get_matrix_transform() → Matrix

  Get internal accumulated transform matrix

pyray.rl_get_matrix_view_offset_stereo(eye: int) → Matrix

  Get internal view offset matrix for stereo render (selected eye)

pyray.rl_get_pixel_format_name(format: int) → str

  Get name string for pixel format

pyray.rl_get_shader_buffer_size(id: int) → int

  Get SSBO buffer size

pyray.rl_get_shader_id_default() → int

  Get default shader id

pyray.rl_get_shader_locs_default() → Any

  Get default shader locations

pyray.rl_get_texture_id_default() → int

  Get default texture id

pyray.rl_get_version() → int

  Get current OpenGL version

pyray.rl_is_stereo_render_enabled() → bool

  Check if stereo render is enabled

pyray.rl_load_compute_shader_program(shaderId: int) → int

  Load compute shader program

pyray.rl_load_draw_cube() → None

  Load and draw a cube

pyray.rl_load_draw_quad() → None

  Load and draw a quad

pyray.rl_load_extensions(loader: Any) → None

  Load OpenGL extensions (loader function required)

pyray.rl_load_framebuffer() → int

  Load an empty framebuffer

pyray.rl_load_identity() → None

  Reset current matrix to identity matrix

pyray.rl_load_render_batch(numBuffers: int, bufferElements: int) → rlRenderBatch

  Load a render batch system

pyray.rl_load_shader_buffer(size: int, data: Any, usageHint: int) → int

  Load shader storage buffer object (SSBO)

pyray.rl_load_shader_code(vsCode: str, fsCode: str) → int

  Load shader from code strings

pyray.rl_load_shader_program(vShaderId: int, fShaderId: int) → int

  Load custom shader program

pyray.rl_load_texture(data: Any, width: int, height: int, format: int, mipmapCount: int) → int

  Load texture data

pyray.rl_load_texture_cubemap(data: Any, size: int, format: int, mipmapCount: int) → int

  Load texture cubemap data

pyray.rl_load_texture_depth(width: int, height: int, useRenderBuffer: bool) → int

  Load depth texture/renderbuffer (to be attached to fbo)

pyray.rl_load_vertex_array() → int

  Load vertex array (vao) if supported

pyray.rl_load_vertex_buffer(buffer: Any, size: int, dynamic: bool) → int

  Load a vertex buffer object

pyray.rl_load_vertex_buffer_element(buffer: Any, size: int, dynamic: bool) → int

  Load vertex buffer elements object

pyray.rl_matrix_mode(mode: int) → None

  Choose the current matrix to be transformed

pyray.rl_mult_matrixf(matf: Any) → None

  Multiply the current matrix by another matrix

pyray.rl_normal3f(x: float, y: float, z: float) → None

  Define one vertex (normal) - 3 float

pyray.rl_ortho(left: float, right: float, bottom: float, top: float, znear: float, zfar: float) → None

pyray.rl_pop_matrix() → None

  Pop latest inserted matrix from stack

pyray.rl_push_matrix() → None

  Push the current matrix to stack

pyray.rl_read_screen_pixels(width: int, height: int) → str

  Read screen pixel data (color buffer)

pyray.rl_read_shader_buffer(id: int, dest: Any, count: int, offset: int) → None

  Read SSBO buffer data (GPU->CPU)

pyray.rl_read_texture_pixels(id: int, width: int, height: int, format: int) → Any

  Read texture pixel data

pyray.rl_rotatef(angle: float, x: float, y: float, z: float) → None

  Multiply the current matrix by a rotation matrix

pyray.rl_scalef(x: float, y: float, z: float) → None

  Multiply the current matrix by a scaling matrix

pyray.rl_scissor(x: int, y: int, width: int, height: int) → None

  Scissor test

pyray.rl_set_blend_factors(glSrcFactor: int, glDstFactor: int, glEquation: int) → None

  Set blending mode factor and equation (using OpenGL factors)

pyray.rl_set_blend_factors_separate(glSrcRGB: int, glDstRGB: int, glSrcAlpha: int, glDstAlpha: int, glEqRGB: int, glEqAlpha: int) → None

  Set blending mode factors and equations separately (using OpenGL factors)

pyray.rl_set_blend_mode(mode: int) → None

  Set blending mode

pyray.rl_set_clip_planes(nearPlane: float, farPlane: float) → None

  Set clip planes distances

pyray.rl_set_cull_face(mode: int) → None

  Set face culling mode

pyray.rl_set_framebuffer_height(height: int) → None

  Set current framebuffer height

pyray.rl_set_framebuffer_width(width: int) → None

  Set current framebuffer width

pyray.rl_set_line_width(width: float) → None

  Set the line drawing width

pyray.rl_set_matrix_modelview(view: Matrix | list | tuple) → None

  Set a custom modelview matrix (replaces internal modelview matrix)

pyray.rl_set_matrix_projection(proj: Matrix | list | tuple) → None

  Set a custom projection matrix (replaces internal projection matrix)

pyray.rl_set_matrix_projection_stereo(right: Matrix | list | tuple, left: Matrix | list | tuple) → None

  Set eyes projection matrices for stereo rendering

pyray.rl_set_matrix_view_offset_stereo(right: Matrix | list | tuple, left: Matrix | list | tuple) → None

  Set eyes view offsets matrices for stereo rendering

pyray.rl_set_render_batch_active(batch: Any | list | tuple) → None

  Set the active render batch for rlgl (NULL for default internal)

pyray.rl_set_shader(id: int, locs: Any) → None

  Set shader currently active (id and locations)

pyray.rl_set_texture(id: int) → None

  Set current texture for render batch and check buffers limits

pyray.rl_set_uniform(locIndex: int, value: Any, uniformType: int, count: int) → None

  Set shader value uniform

pyray.rl_set_uniform_matrices(locIndex: int, mat: Any | list | tuple, count: int) → None

  Set shader value matrices

pyray.rl_set_uniform_matrix(locIndex: int, mat: Matrix | list | tuple) → None

  Set shader value matrix

pyray.rl_set_uniform_sampler(locIndex: int, textureId: int) → None

  Set shader value sampler

pyray.rl_set_vertex_attribute(index: int, compSize: int, type: int, normalized: bool, stride: int, offset: int) → None

  Set vertex attribute data configuration

pyray.rl_set_vertex_attribute_default(locIndex: int, value: Any, attribType: int, count: int) → None

  Set vertex attribute default value, when attribute to provided

pyray.rl_set_vertex_attribute_divisor(index: int, divisor: int) → None

  Set vertex attribute data divisor

pyray.rl_tex_coord2f(x: float, y: float) → None

  Define one vertex (texture coordinate) - 2 float

pyray.rl_texture_parameters(id: int, param: int, value: int) → None

  Set texture parameters (filter, wrap)

pyray.rl_translatef(x: float, y: float, z: float) → None

  Multiply the current matrix by a translation matrix

pyray.rl_unload_framebuffer(id: int) → None

  Delete framebuffer from GPU

pyray.rl_unload_render_batch(batch: rlRenderBatch | list | tuple) → None

  Unload render batch system

pyray.rl_unload_shader_buffer(ssboId: int) → None

  Unload shader storage buffer object (SSBO)

pyray.rl_unload_shader_program(id: int) → None

  Unload shader program

pyray.rl_unload_texture(id: int) → None

  Unload texture from GPU memory

pyray.rl_unload_vertex_array(vaoId: int) → None

  Unload vertex array (vao)

pyray.rl_unload_vertex_buffer(vboId: int) → None

  Unload vertex buffer object

pyray.rl_update_shader_buffer(id: int, data: Any, dataSize: int, offset: int) → None

  Update SSBO buffer data

pyray.rl_update_texture(id: int, offsetX: int, offsetY: int, width: int, height: int, format: int, data: Any) → None

  Update texture with new data on GPU

pyray.rl_update_vertex_buffer(bufferId: int, data: Any, dataSize: int, offset: int) → None

  Update vertex buffer object data on GPU buffer

pyray.rl_update_vertex_buffer_elements(id: int, data: Any, dataSize: int, offset: int) → None

  Update vertex buffer elements data on GPU buffer

pyray.rl_vertex2f(x: float, y: float) → None

  Define one vertex (position) - 2 float

pyray.rl_vertex2i(x: int, y: int) → None

  Define one vertex (position) - 2 int

pyray.rl_vertex3f(x: float, y: float, z: float) → None

  Define one vertex (position) - 3 float

pyray.rl_viewport(x: int, y: int, width: int, height: int) → None

  Set the viewport area

pyray.rlgl_close() → None

  De-initialize rlgl (buffers, shaders, textures)

pyray.rlgl_init(width: int, height: int) → None

  Initialize rlgl (buffers, shaders, textures, states)

pyray.save_file_data(fileName: str, data: Any, dataSize: int) → bool

  Save data to file from byte array (write), returns true on success

pyray.save_file_text(fileName: str, text: str) → bool

  Save text data to file (write), string must be ‘' terminated, returns true on success

pyray.seek_music_stream(music: Music | list | tuple, position: float) → None

  Seek music to a position (in seconds)

pyray.set_audio_stream_buffer_size_default(size: int) → None

  Default size for new audio streams

pyray.set_audio_stream_callback(stream: AudioStream | list | tuple, callback: Any) → None

  Audio thread callback to request new data

pyray.set_audio_stream_pan(stream: AudioStream | list | tuple, pan: float) → None

  Set pan for audio stream (0.5 is centered)

pyray.set_audio_stream_pitch(stream: AudioStream | list | tuple, pitch: float) → None

  Set pitch for audio stream (1.0 is base level)

pyray.set_audio_stream_volume(stream: AudioStream | list | tuple, volume: float) → None

  Set volume for audio stream (1.0 is max level)

pyray.set_automation_event_base_frame(frame: int) → None

  Set automation event internal base frame to start recording

pyray.set_automation_event_list(list_0: Any | list | tuple) → None

  Set automation event list to record to

pyray.set_clipboard_text(text: str) → None

  Set clipboard text content

pyray.set_config_flags(flags: int) → None

  Setup init configuration flags (view FLAGS)

pyray.set_exit_key(key: int) → None

  Set a custom key to exit program (default is ESC)

pyray.set_gamepad_mappings(mappings: str) → int

  Set internal gamepad mappings (SDL_GameControllerDB)

pyray.set_gamepad_vibration(gamepad: int, leftMotor: float, rightMotor: float, duration: float) → None

  Set gamepad vibration for both motors (duration in seconds)

pyray.set_gestures_enabled(flags: int) → None

  Enable a set of gestures using flags

pyray.set_load_file_data_callback(callback: str) → None

  Set custom file binary data loader

pyray.set_load_file_text_callback(callback: str) → None

  Set custom file text data loader

pyray.set_master_volume(volume: float) → None

  Set master volume (listener)

pyray.set_material_texture(material: Any | list | tuple, mapType: int, texture: Texture | list | tuple) → None

  Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR…)

pyray.set_model_mesh_material(model: Any | list | tuple, meshId: int, materialId: int) → None

  Set material for a mesh

pyray.set_mouse_cursor(cursor: int) → None

  Set mouse cursor

pyray.set_mouse_offset(offsetX: int, offsetY: int) → None

  Set mouse offset

pyray.set_mouse_position(x: int, y: int) → None

  Set mouse position XY

pyray.set_mouse_scale(scaleX: float, scaleY: float) → None

  Set mouse scaling

pyray.set_music_pan(music: Music | list | tuple, pan: float) → None

  Set pan for a music (0.5 is center)

pyray.set_music_pitch(music: Music | list | tuple, pitch: float) → None

  Set pitch for a music (1.0 is base level)

pyray.set_music_volume(music: Music | list | tuple, volume: float) → None

  Set volume for music (1.0 is max level)

pyray.set_physics_body_rotation(body: Any | list | tuple, radians: float) → None

  Sets physics body shape transform based on radians parameter

pyray.set_physics_gravity(x: float, y: float) → None

  Sets physics global gravity force

pyray.set_physics_time_step(delta: float) → None

  Sets physics fixed time step in milliseconds. 1.666666 by default

pyray.set_pixel_color(dstPtr: Any, color: Color | list | tuple, format: int) → None

  Set color formatted into destination pixel pointer

pyray.set_random_seed(seed: int) → None

  Set the seed for the random number generator

pyray.set_save_file_data_callback(callback: str) → None

  Set custom file binary data saver

pyray.set_save_file_text_callback(callback: str) → None

  Set custom file text data saver

pyray.set_shader_value(shader: Shader | list | tuple, locIndex: int, value: Any, uniformType: int) → None

  Set shader uniform value

pyray.set_shader_value_matrix(shader: Shader | list | tuple, locIndex: int, mat: Matrix | list | tuple) → None

  Set shader uniform value (matrix 4x4)

pyray.set_shader_value_texture(shader: Shader | list | tuple, locIndex: int, texture: Texture | list | tuple) → None

  Set shader uniform value for texture (sampler2d)

pyray.set_shader_value_v(shader: Shader | list | tuple, locIndex: int, value: Any, uniformType: int, count: int) → None

  Set shader uniform value vector

pyray.set_shapes_texture(texture: Texture | list | tuple, source: Rectangle | list | tuple) → None

  Set texture and rectangle to be used on shapes drawing

pyray.set_sound_pan(sound: Sound | list | tuple, pan: float) → None

  Set pan for a sound (0.5 is center)

pyray.set_sound_pitch(sound: Sound | list | tuple, pitch: float) → None

  Set pitch for a sound (1.0 is base level)

pyray.set_sound_volume(sound: Sound | list | tuple, volume: float) → None

  Set volume for a sound (1.0 is max level)

pyray.set_target_fps(fps: int) → None

  Set target FPS (maximum)

pyray.set_text_line_spacing(spacing: int) → None

  Set vertical line spacing when drawing with line-breaks

pyray.set_texture_filter(texture: Texture | list | tuple, filter: int) → None

  Set texture scaling filter mode

pyray.set_texture_wrap(texture: Texture | list | tuple, wrap: int) → None

  Set texture wrapping mode

pyray.set_trace_log_callback(callback: str) → None

  Set custom trace log

pyray.set_trace_log_level(logLevel: int) → None

  Set the current threshold (minimum) log level

pyray.set_window_focused() → None

  Set window focused

pyray.set_window_icon(image: Image | list | tuple) → None

  Set icon for window (single image, RGBA 32bit)

pyray.set_window_icons(images: Any | list | tuple, count: int) → None

  Set icon for window (multiple images, RGBA 32bit)

pyray.set_window_max_size(width: int, height: int) → None

  Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)

pyray.set_window_min_size(width: int, height: int) → None

  Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)

pyray.set_window_monitor(monitor: int) → None

  Set monitor for the current window

pyray.set_window_opacity(opacity: float) → None

  Set window opacity [0.0f..1.0f]

pyray.set_window_position(x: int, y: int) → None

  Set window position on screen

pyray.set_window_size(width: int, height: int) → None

  Set window dimensions

pyray.set_window_state(flags: int) → None

  Set window configuration state using flags

pyray.set_window_title(title: str) → None

  Set title for window

pyray.show_cursor() → None

  Shows cursor

pyray.start_automation_event_recording() → None

  Start recording automation events (AutomationEventList must be set)

pyray.stop_audio_stream(stream: AudioStream | list | tuple) → None

  Stop audio stream

pyray.stop_automation_event_recording() → None

  Stop recording automation events

pyray.stop_music_stream(music: Music | list | tuple) → None

  Stop music playing

pyray.stop_sound(sound: Sound | list | tuple) → None

  Stop playing a sound

pyray.swap_screen_buffer() → None

  Swap back buffer with front buffer (screen drawing)

pyray.take_screenshot(fileName: str) → None

  Takes a screenshot of current screen (filename extension defines format)

pyray.text_append(text: str, append: str, position: Any) → None

  Append text at specific position and move cursor!

pyray.text_copy(dst: str, src: str) → int

  Copy one string to another, returns bytes copied

pyray.text_find_index(text: str, find: str) → int

  Find first text occurrence within a string

pyray.text_format(*args) → str

  VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI

pyray.text_insert(text: str, insert: str, position: int) → str

  Insert text in a position (WARNING: memory must be freed!)

pyray.text_is_equal(text1: str, text2: str) → bool

  Check if two text string are equal

pyray.text_join(textList: list[str], count: int, delimiter: str) → str

  Join text strings with delimiter

pyray.text_length(text: str) → int

  Get text length, checks for ‘' ending

pyray.text_replace(text: str, replace: str, by: str) → str

  Replace text string (WARNING: memory must be freed!)

pyray.text_split(text: str, delimiter: str, count: Any) → list[str]

  Split text into multiple strings

pyray.text_subtext(text: str, position: int, length: int) → str

  Get a piece of a text string

pyray.text_to_camel(text: str) → str

  Get Camel case notation version of provided string

pyray.text_to_float(text: str) → float

  Get float value from text (negative values not supported)

pyray.text_to_integer(text: str) → int

  Get integer value from text (negative values not supported)

pyray.text_to_lower(text: str) → str

  Get lower case version of provided string

pyray.text_to_pascal(text: str) → str

  Get Pascal case notation version of provided string

pyray.text_to_snake(text: str) → str

  Get Snake case notation version of provided string

pyray.text_to_upper(text: str) → str

  Get upper case version of provided string

pyray.toggle_borderless_windowed() → None

  Toggle window state: borderless windowed, resizes window to match monitor resolution

pyray.toggle_fullscreen() → None

  Toggle window state: fullscreen/windowed, resizes monitor to match window resolution

pyray.trace_log(*args) → None

  VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI

pyray.unload_audio_stream(stream: AudioStream | list | tuple) → None

  Unload audio stream and free memory

pyray.unload_automation_event_list(list_0: AutomationEventList | list | tuple) → None

  Unload automation events list from file

pyray.unload_codepoints(codepoints: Any) → None

  Unload codepoints data from memory

pyray.unload_directory_files(files: FilePathList | list | tuple) → None

  Unload filepaths

pyray.unload_dropped_files(files: FilePathList | list | tuple) → None

  Unload dropped filepaths

pyray.unload_file_data(data: str) → None

  Unload file data allocated by LoadFileData()

pyray.unload_file_text(text: str) → None

  Unload file text data allocated by LoadFileText()

pyray.unload_font(font: Font | list | tuple) → None

  Unload font from GPU memory (VRAM)

pyray.unload_font_data(glyphs: Any | list | tuple, glyphCount: int) → None

  Unload font chars info data (RAM)

pyray.unload_image(image: Image | list | tuple) → None

  Unload image from CPU memory (RAM)

pyray.unload_image_colors(colors: Any | list | tuple) → None

  Unload color data loaded with LoadImageColors()

pyray.unload_image_palette(colors: Any | list | tuple) → None

  Unload colors palette loaded with LoadImagePalette()

pyray.unload_material(material: Material | list | tuple) → None

  Unload material from GPU memory (VRAM)

pyray.unload_mesh(mesh: Mesh | list | tuple) → None

  Unload mesh data from CPU and GPU

pyray.unload_model(model: Model | list | tuple) → None

  Unload model (including meshes) from memory (RAM and/or VRAM)

pyray.unload_model_animation(anim: ModelAnimation | list | tuple) → None

  Unload animation data

pyray.unload_model_animations(animations: Any | list | tuple, animCount: int) → None

  Unload animation array data

pyray.unload_music_stream(music: Music | list | tuple) → None

  Unload music stream

pyray.unload_random_sequence(sequence: Any) → None

  Unload random values sequence

pyray.unload_render_texture(target: RenderTexture | list | tuple) → None

  Unload render texture from GPU memory (VRAM)

pyray.unload_shader(shader: Shader | list | tuple) → None

  Unload shader from GPU memory (VRAM)

pyray.unload_sound(sound: Sound | list | tuple) → None

  Unload sound

pyray.unload_sound_alias(alias: Sound | list | tuple) → None

  Unload a sound alias (does not deallocate sample data)

pyray.unload_texture(texture: Texture | list | tuple) → None

  Unload texture from GPU memory (VRAM)

pyray.unload_utf8(text: str) → None

  Unload UTF-8 text encoded from codepoints array

pyray.unload_vr_stereo_config(config: VrStereoConfig | list | tuple) → None

  Unload VR stereo config

pyray.unload_wave(wave: Wave | list | tuple) → None

  Unload wave data

pyray.unload_wave_samples(samples: Any) → None

  Unload samples data loaded with LoadWaveSamples()

pyray.update_audio_stream(stream: AudioStream | list | tuple, data: Any, frameCount: int) → None

  Update audio stream buffers with data

pyray.update_camera(camera: Any | list | tuple, mode: int) → None

  Update camera position for selected mode

pyray.update_camera_pro(camera: Any | list | tuple, movement: Vector3 | list | tuple, rotation: Vector3 | list | tuple, zoom: float) → None

  Update camera movement/rotation

pyray.update_mesh_buffer(mesh: Mesh | list | tuple, index: int, data: Any, dataSize: int, offset: int) → None

  Update mesh vertex data in GPU for a specific buffer index

pyray.update_model_animation(model: Model | list | tuple, anim: ModelAnimation | list | tuple, frame: int) → None

  Update model animation pose (CPU)

pyray.update_model_animation_bones(model: Model | list | tuple, anim: ModelAnimation | list | tuple, frame: int) → None

  Update model animation mesh bone matrices (GPU skinning)

pyray.update_music_stream(music: Music | list | tuple) → None

  Updates buffers for music streaming

pyray.update_physics() → None

  Update physics system

pyray.update_sound(sound: Sound | list | tuple, data: Any, sampleCount: int) → None

  Update sound buffer with new data

pyray.update_texture(texture: Texture | list | tuple, pixels: Any) → None

  Update GPU texture with new data

pyray.update_texture_rec(texture: Texture | list | tuple, rec: Rectangle | list | tuple, pixels: Any) → None

  Update GPU texture rectangle with new data

pyray.upload_mesh(mesh: Any | list | tuple, dynamic: bool) → None

  Upload mesh vertex data in GPU and provide VAO/VBO ids

pyray.vector2_add(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector2_add_value(v: Vector2 | list | tuple, add: float) → Vector2

pyray.vector2_angle(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → float

pyray.vector2_clamp(v: Vector2 | list | tuple, min_1: Vector2 | list | tuple, max_2: Vector2 | list | tuple) → Vector2

pyray.vector2_clamp_value(v: Vector2 | list | tuple, min_1: float, max_2: float) → Vector2

pyray.vector2_equals(p: Vector2 | list | tuple, q: Vector2 | list | tuple) → int

pyray.vector2_invert(v: Vector2 | list | tuple) → Vector2

pyray.vector2_length(v: Vector2 | list | tuple) → float

pyray.vector2_length_sqr(v: Vector2 | list | tuple) → float

pyray.vector2_lerp(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple, amount: float) → Vector2

pyray.vector2_line_angle(start: Vector2 | list | tuple, end: Vector2 | list | tuple) → float

pyray.vector2_max(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector2_min(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector2_move_towards(v: Vector2 | list | tuple, target: Vector2 | list | tuple, maxDistance: float) → Vector2

pyray.vector2_multiply(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector2_negate(v: Vector2 | list | tuple) → Vector2

pyray.vector2_normalize(v: Vector2 | list | tuple) → Vector2

pyray.vector2_one() → Vector2

pyray.vector2_reflect(v: Vector2 | list | tuple, normal: Vector2 | list | tuple) → Vector2

pyray.vector2_refract(v: Vector2 | list | tuple, n: Vector2 | list | tuple, r: float) → Vector2

pyray.vector2_rotate(v: Vector2 | list | tuple, angle: float) → Vector2

pyray.vector2_scale(v: Vector2 | list | tuple, scale: float) → Vector2

pyray.vector2_subtract(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector2_subtract_value(v: Vector2 | list | tuple, sub: float) → Vector2

pyray.vector2_transform(v: Vector2 | list | tuple, mat: Matrix | list | tuple) → Vector2

pyray.vector2_zero() → Vector2

pyray.vector3_add(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_add_value(v: Vector3 | list | tuple, add: float) → Vector3

pyray.vector3_angle(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → float

pyray.vector3_barycenter(p: Vector3 | list | tuple, a: Vector3 | list | tuple, b: Vector3 | list | tuple, c: Vector3 | list | tuple) → Vector3

pyray.vector3_clamp(v: Vector3 | list | tuple, min_1: Vector3 | list | tuple, max_2: Vector3 | list | tuple) → Vector3

pyray.vector3_clamp_value(v: Vector3 | list | tuple, min_1: float, max_2: float) → Vector3

pyray.vector3_cross_product(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_cubic_hermite(v1: Vector3 | list | tuple, tangent1: Vector3 | list | tuple, v2: Vector3 | list | tuple, tangent2: Vector3 | list | tuple, amount: float) → Vector3

pyray.vector3_equals(p: Vector3 | list | tuple, q: Vector3 | list | tuple) → int

pyray.vector3_invert(v: Vector3 | list | tuple) → Vector3

pyray.vector3_length(v: Vector3 | list | tuple) → float

pyray.vector3_length_sqr(v: Vector3 | list | tuple) → float

pyray.vector3_lerp(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple, amount: float) → Vector3

pyray.vector3_max(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_min(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_move_towards(v: Vector3 | list | tuple, target: Vector3 | list | tuple, maxDistance: float) → Vector3

pyray.vector3_multiply(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_negate(v: Vector3 | list | tuple) → Vector3

pyray.vector3_normalize(v: Vector3 | list | tuple) → Vector3

pyray.vector3_one() → Vector3

pyray.vector3_ortho_normalize(v1: Any | list | tuple, v2: Any | list | tuple) → None

pyray.vector3_perpendicular(v: Vector3 | list | tuple) → Vector3

pyray.vector3_project(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_reflect(v: Vector3 | list | tuple, normal: Vector3 | list | tuple) → Vector3

pyray.vector3_refract(v: Vector3 | list | tuple, n: Vector3 | list | tuple, r: float) → Vector3

pyray.vector3_reject(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_rotate_by_axis_angle(v: Vector3 | list | tuple, axis: Vector3 | list | tuple, angle: float) → Vector3

pyray.vector3_rotate_by_quaternion(v: Vector3 | list | tuple, q: Vector4 | list | tuple) → Vector3

pyray.vector3_scale(v: Vector3 | list | tuple, scalar: float) → Vector3

pyray.vector3_subtract(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector3_subtract_value(v: Vector3 | list | tuple, sub: float) → Vector3

pyray.vector3_to_float_v(v: Vector3 | list | tuple) → float3

pyray.vector3_transform(v: Vector3 | list | tuple, mat: Matrix | list | tuple) → Vector3

pyray.vector3_unproject(source: Vector3 | list | tuple, projection: Matrix | list | tuple, view: Matrix | list | tuple) → Vector3

pyray.vector3_zero() → Vector3

pyray.vector4_add(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_add_value(v: Vector4 | list | tuple, add: float) → Vector4

pyray.vector4_distance(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → float

pyray.vector4_distance_sqr(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → float

pyray.vector4_divide(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_dot_product(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → float

pyray.vector4_equals(p: Vector4 | list | tuple, q: Vector4 | list | tuple) → int

pyray.vector4_invert(v: Vector4 | list | tuple) → Vector4

pyray.vector4_length(v: Vector4 | list | tuple) → float

pyray.vector4_length_sqr(v: Vector4 | list | tuple) → float

pyray.vector4_lerp(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple, amount: float) → Vector4

pyray.vector4_max(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_min(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_move_towards(v: Vector4 | list | tuple, target: Vector4 | list | tuple, maxDistance: float) → Vector4

pyray.vector4_multiply(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_negate(v: Vector4 | list | tuple) → Vector4

pyray.vector4_normalize(v: Vector4 | list | tuple) → Vector4

pyray.vector4_one() → Vector4

pyray.vector4_scale(v: Vector4 | list | tuple, scale: float) → Vector4

pyray.vector4_subtract(v1: Vector4 | list | tuple, v2: Vector4 | list | tuple) → Vector4

pyray.vector4_subtract_value(v: Vector4 | list | tuple, add: float) → Vector4

pyray.vector4_zero() → Vector4

pyray.vector_2distance(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → float

pyray.vector_2distance_sqr(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → float

pyray.vector_2divide(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → Vector2

pyray.vector_2dot_product(v1: Vector2 | list | tuple, v2: Vector2 | list | tuple) → float

pyray.vector_3distance(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → float

pyray.vector_3distance_sqr(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → float

pyray.vector_3divide(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → Vector3

pyray.vector_3dot_product(v1: Vector3 | list | tuple, v2: Vector3 | list | tuple) → float

pyray.wait_time(seconds: float) → None

  Wait for some time (halt program execution)

pyray.wave_copy(wave: Wave | list | tuple) → Wave

  Copy a wave to a new wave

pyray.wave_crop(wave: Any | list | tuple, initFrame: int, finalFrame: int) → None

  Crop a wave to defined frames range

pyray.wave_format(wave: Any | list | tuple, sampleRate: int, sampleSize: int, channels: int) → None

  Convert wave data to desired format

pyray.window_should_close() → bool

  Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)

pyray.wrap(value: float, min_1: float, max_2: float) → float