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 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")
...

(You don’t need to use the PyRay() class anymore.)

See all examples here

API reference

class pyray.AudioStream(buffer, processor, sampleRate, sampleSize, channels)

struct

class pyray.AutomationEvent(frame, type, params)

struct

class pyray.AutomationEventList(capacity, count, events)

struct

pyray.BEIGE = (211, 176, 131, 255)
pyray.BLACK = (0, 0, 0, 255)
pyray.BLANK = (0, 0, 0, 0)
pyray.BLUE = (0, 121, 241, 255)
pyray.BROWN = (127, 106, 79, 255)
class pyray.BlendMode

Enum where members are also (and must be) ints

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, parent)

struct

class pyray.BoundingBox(min, max)

struct

class pyray.Camera2D(offset, target, rotation, zoom)

struct

class pyray.Camera3D(position, target, up, fovy, projection)

struct

class pyray.CameraMode

Enum where members are also (and must be) ints

CAMERA_CUSTOM = 0
CAMERA_FIRST_PERSON = 3
CAMERA_FREE = 1
CAMERA_ORBITAL = 2
CAMERA_THIRD_PERSON = 4
class pyray.CameraProjection

Enum where members are also (and must be) ints

CAMERA_ORTHOGRAPHIC = 1
CAMERA_PERSPECTIVE = 0
class pyray.Color(r, g, b, a)

struct

class pyray.ConfigFlags

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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
CUBEMAP_LAYOUT_PANORAMA = 5
pyray.DARKBLUE = (0, 82, 172, 255)
pyray.DARKBROWN = (76, 63, 47, 255)
pyray.DARKGRAY = (80, 80, 80, 255)
pyray.DARKGREEN = (0, 117, 44, 255)
pyray.DARKPURPLE = (112, 31, 126, 255)
class pyray.FilePathList(capacity, count, paths)

struct

class pyray.Font(baseSize, glyphCount, glyphPadding, texture, recs, glyphs)

struct

class pyray.FontType

Enum where members are also (and must be) ints

FONT_BITMAP = 1
FONT_DEFAULT = 0
FONT_SDF = 2
pyray.GOLD = (255, 203, 0, 255)
pyray.GRAY = (130, 130, 130, 255)
pyray.GREEN = (0, 228, 48, 255)
class pyray.GamepadAxis

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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, offsetX, offsetY, advanceX, image)

struct

class pyray.GuiCheckBoxProperty

Enum where members are also (and must be) ints

CHECK_PADDING = 16
class pyray.GuiColorPickerProperty

Enum where members are also (and must be) ints

COLOR_SELECTOR_SIZE = 16
HUEBAR_PADDING = 18
HUEBAR_SELECTOR_HEIGHT = 19
HUEBAR_SELECTOR_OVERFLOW = 20
HUEBAR_WIDTH = 17
class pyray.GuiComboBoxProperty

Enum where members are also (and must be) ints

COMBO_BUTTON_SPACING = 17
COMBO_BUTTON_WIDTH = 16
class pyray.GuiControl

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

ARROW_PADDING = 16
DROPDOWN_ITEMS_SPACING = 17
class pyray.GuiIconName

Enum where members are also (and must be) ints

ICON_1UP = 148
ICON_220 = 220
ICON_221 = 221
ICON_222 = 222
ICON_223 = 223
ICON_224 = 224
ICON_225 = 225
ICON_226 = 226
ICON_227 = 227
ICON_228 = 228
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_HEX = 201
ICON_HIDPI = 199
ICON_HOUSE = 185
ICON_INFO = 191
ICON_KEY = 151
ICON_LASER = 145
ICON_LAYERS = 197
ICON_LAYERS_VISIBLE = 196
ICON_LENS = 42
ICON_LENS_BIG = 43
ICON_LIFE_BARS = 190
ICON_LOCK_CLOSE = 137
ICON_LOCK_OPEN = 138
ICON_MAGNET = 136
ICON_MAILBOX = 180
ICON_MIPMAPS = 95
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_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_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

Enum where members are also (and must be) ints

LIST_ITEMS_HEIGHT = 16
LIST_ITEMS_SPACING = 17
SCROLLBAR_SIDE = 19
SCROLLBAR_WIDTH = 18
class pyray.GuiProgressBarProperty

Enum where members are also (and must be) ints

PROGRESS_PADDING = 16
class pyray.GuiScrollBarProperty

Enum where members are also (and must be) ints

ARROWS_SIZE = 16
ARROWS_VISIBLE = 17
SCROLL_PADDING = 20
SCROLL_SLIDER_PADDING = 18
SCROLL_SLIDER_SIZE = 19
SCROLL_SPEED = 21
class pyray.GuiSliderProperty

Enum where members are also (and must be) ints

SLIDER_PADDING = 17
SLIDER_WIDTH = 16
class pyray.GuiSpinnerProperty

Enum where members are also (and must be) ints

SPIN_BUTTON_SPACING = 17
SPIN_BUTTON_WIDTH = 16
class pyray.GuiState

Enum where members are also (and must be) ints

STATE_DISABLED = 3
STATE_FOCUSED = 1
STATE_NORMAL = 0
STATE_PRESSED = 2
class pyray.GuiStyleProp(controlId, propertyId, propertyValue)

struct

class pyray.GuiTextAlignment

Enum where members are also (and must be) ints

TEXT_ALIGN_CENTER = 1
TEXT_ALIGN_LEFT = 0
TEXT_ALIGN_RIGHT = 2
class pyray.GuiTextAlignmentVertical

Enum where members are also (and must be) ints

TEXT_ALIGN_BOTTOM = 2
TEXT_ALIGN_MIDDLE = 1
TEXT_ALIGN_TOP = 0
class pyray.GuiTextBoxProperty

Enum where members are also (and must be) ints

TEXT_READONLY = 16
class pyray.GuiTextWrapMode

Enum where members are also (and must be) ints

TEXT_WRAP_CHAR = 1
TEXT_WRAP_NONE = 0
TEXT_WRAP_WORD = 2
class pyray.GuiToggleProperty

Enum where members are also (and must be) ints

GROUP_PADDING = 16
class pyray.Image(data, width, height, mipmaps, format)

struct

class pyray.KeyboardKey

Enum where members are also (and must be) ints

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 = 82
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 = (200, 200, 200, 255)
pyray.LIME = (0, 158, 47, 255)
pyray.MAGENTA = (255, 0, 255, 255)
pyray.MAROON = (190, 33, 55, 255)
class pyray.Material(shader, maps, params)

struct

class pyray.MaterialMap(texture, color, value)

struct

class pyray.MaterialMapIndex

Enum where members are also (and must be) ints

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, m4, m8, m12, m1, m5, m9, m13, m2, m6, m10, m14, m3, m7, m11, m15)

struct

class pyray.Matrix2x2(m00, m01, m10, m11)

struct

class pyray.Mesh(vertexCount, triangleCount, vertices, texcoords, texcoords2, normals, tangents, colors, indices, animVertices, animNormals, boneIds, boneWeights, vaoId, vboId)

struct

class pyray.Model(transform, meshCount, materialCount, meshes, materials, meshMaterial, boneCount, bones, bindPose)

struct

class pyray.ModelAnimation(boneCount, frameCount, bones, framePoses, name)

struct

class pyray.MouseButton

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

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, frameCount, looping, ctxType, ctxData)

struct

class pyray.NPatchInfo(source, left, top, right, bottom, layout)

struct

class pyray.NPatchLayout

Enum where members are also (and must be) ints

NPATCH_NINE_PATCH = 0
NPATCH_THREE_PATCH_HORIZONTAL = 2
NPATCH_THREE_PATCH_VERTICAL = 1
pyray.ORANGE = (255, 161, 0, 255)
pyray.PINK = (255, 109, 194, 255)
pyray.PURPLE = (200, 122, 255, 255)
class pyray.PhysicsBodyData(id, enabled, position, velocity, force, angularVelocity, torque, orient, inertia, inverseInertia, mass, inverseMass, staticFriction, dynamicFriction, restitution, useGravity, isGrounded, freezeOrient, shape)

struct

class pyray.PhysicsManifoldData(id, bodyA, bodyB, penetration, normal, contacts, contactsCount, restitution, dynamicFriction, staticFriction)

struct

class pyray.PhysicsShape(type, body, vertexData, radius, transform)

struct

class pyray.PhysicsVertexData(vertexCount, positions, normals)

struct

class pyray.PixelFormat

Enum where members are also (and must be) ints

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 = (245, 245, 245, 255)
pyray.RED = (230, 41, 55, 255)
class pyray.Ray(position, direction)

struct

class pyray.RayCollision(hit, distance, point, normal)

struct

class pyray.Rectangle(x, y, width, height)

struct

class pyray.RenderTexture(id, texture, depth)

struct

pyray.SKYBLUE = (102, 191, 255, 255)
class pyray.Shader(id, locs)

struct

class pyray.ShaderAttributeDataType

Enum where members are also (and must be) ints

SHADER_ATTRIB_FLOAT = 0
SHADER_ATTRIB_VEC2 = 1
SHADER_ATTRIB_VEC3 = 2
SHADER_ATTRIB_VEC4 = 3
class pyray.ShaderLocationIndex

Enum where members are also (and must be) ints

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_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

Enum where members are also (and must be) ints

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, frameCount)

struct

class pyray.Texture(id, width, height, mipmaps, format)

struct

class pyray.Texture2D(id, width, height, mipmaps, format)

struct

class pyray.TextureFilter

Enum where members are also (and must be) ints

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

Enum where members are also (and must be) ints

TEXTURE_WRAP_CLAMP = 1
TEXTURE_WRAP_MIRROR_CLAMP = 3
TEXTURE_WRAP_MIRROR_REPEAT = 2
TEXTURE_WRAP_REPEAT = 0
class pyray.TraceLogLevel

Enum where members are also (and must be) ints

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, rotation, scale)

struct

pyray.VIOLET = (135, 60, 190, 255)
class pyray.Vector2(x, y)

struct

class pyray.Vector3(x, y, z)

struct

class pyray.Vector4(x, y, z, w)

struct

class pyray.VrDeviceInfo(hResolution, vResolution, hScreenSize, vScreenSize, vScreenCenter, eyeToScreenDistance, lensSeparationDistance, interpupillaryDistance, lensDistortionValues, chromaAbCorrection)

struct

class pyray.VrStereoConfig(projection, viewOffset, leftLensCenter, rightLensCenter, leftScreenCenter, rightScreenCenter, scale, scaleIn)

struct

pyray.WHITE = (255, 255, 255, 255)
class pyray.Wave(frameCount, sampleRate, sampleSize, channels, data)

struct

pyray.YELLOW = (253, 249, 0, 255)
pyray.attach_audio_mixed_processor(processor: Any)

Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s

pyray.attach_audio_stream_processor(stream: AudioStream, processor: Any)

Attach audio stream processor to stream, receives the samples as <float>s

pyray.begin_blend_mode(mode: int)

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

pyray.begin_drawing()

Setup canvas (framebuffer) to start drawing

pyray.begin_mode_2d(camera: Camera2D)

Begin 2D mode with custom camera (2D)

pyray.begin_mode_3d(camera: Camera3D)

Begin 3D mode with custom camera (3D)

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

Begin scissor mode (define screen area for following drawing)

pyray.begin_shader_mode(shader: Shader)

Begin custom shader drawing

pyray.begin_texture_mode(target: RenderTexture)

Begin drawing to render texture

pyray.begin_vr_stereo_mode(config: VrStereoConfig)

Begin stereo rendering (requires VR simulator)

pyray.change_directory(dir: str)

Change working directory, return true on success

pyray.check_collision_box_sphere(box: BoundingBox, center: Vector3, radius: float)

Check collision between box and sphere

pyray.check_collision_boxes(box1: BoundingBox, box2: BoundingBox)

Check collision between two bounding boxes

pyray.check_collision_circle_rec(center: Vector2, radius: float, rec: Rectangle)

Check collision between circle and rectangle

pyray.check_collision_circles(center1: Vector2, radius1: float, center2: Vector2, radius2: float)

Check collision between two circles

pyray.check_collision_lines(startPos1: Vector2, endPos1: Vector2, startPos2: Vector2, endPos2: Vector2, collisionPoint: Any)

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

pyray.check_collision_point_circle(point: Vector2, center: Vector2, radius: float)

Check if point is inside circle

pyray.check_collision_point_line(point: Vector2, p1: Vector2, p2: Vector2, threshold: int)

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, points: Any, pointCount: int)

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

pyray.check_collision_point_rec(point: Vector2, rec: Rectangle)

Check if point is inside rectangle

pyray.check_collision_point_triangle(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2)

Check if point is inside a triangle

pyray.check_collision_recs(rec1: Rectangle, rec2: Rectangle)

Check collision between two rectangles

pyray.check_collision_spheres(center1: Vector3, radius1: float, center2: Vector3, radius2: float)

Check collision between two spheres

pyray.clamp(value: float, min_1: float, max_2: float)
pyray.clear_background(color: Color)

Set background color (framebuffer clear color)

pyray.clear_window_state(flags: int)

Clear window configuration state flags

pyray.close_audio_device()

Close the audio device and context

pyray.close_physics()

Close physics system and unload used memory

pyray.close_window()

Close window and unload OpenGL context

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

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

pyray.color_alpha(color: Color, alpha: float)

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

pyray.color_alpha_blend(dst: Color, src: Color, tint: Color)

Get src alpha-blended into dst color with tint

pyray.color_brightness(color: Color, factor: float)

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

pyray.color_contrast(color: Color, contrast: float)

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

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

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

pyray.color_from_normalized(normalized: Vector4)

Get Color from normalized values [0..1]

pyray.color_normalize(color: Color)

Get Color normalized as float [0..1]

pyray.color_tint(color: Color, tint: Color)

Get color multiplied with another color

pyray.color_to_hsv(color: Color)

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

pyray.color_to_int(color: Color)

Get hexadecimal value for a Color

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

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

pyray.create_physics_body_circle(pos: Vector2, radius: float, density: float)

Creates a new circle physics body with generic parameters

pyray.create_physics_body_polygon(pos: Vector2, radius: float, sides: int, density: float)

Creates a new polygon physics body with generic parameters

pyray.create_physics_body_rectangle(pos: Vector2, width: float, height: float, density: float)

Creates a new rectangle physics body with generic parameters

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

Decode Base64 string data, memory must be MemFree()

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

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

pyray.destroy_physics_body(body: Any)

Destroy a physics body

pyray.detach_audio_mixed_processor(processor: Any)

Detach audio stream processor from the entire audio pipeline

pyray.detach_audio_stream_processor(stream: AudioStream, processor: Any)

Detach audio stream processor from stream

pyray.directory_exists(dirPath: str)

Check if a directory path exists

pyray.disable_cursor()

Disables cursor (lock cursor)

pyray.disable_event_waiting()

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

pyray.draw_billboard(camera: Camera3D, texture: Texture, position: Vector3, size: float, tint: Color)

Draw a billboard texture

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

Draw a billboard texture defined by source and rotation

pyray.draw_billboard_rec(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, size: Vector2, tint: Color)

Draw a billboard texture defined by source

pyray.draw_bounding_box(box: BoundingBox, color: Color)

Draw bounding box (wires)

pyray.draw_capsule(startPos: Vector3, endPos: Vector3, radius: float, slices: int, rings: int, color: Color)

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

pyray.draw_capsule_wires(startPos: Vector3, endPos: Vector3, radius: float, slices: int, rings: int, color: Color)

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)

Draw a color-filled circle

pyray.draw_circle_3d(center: Vector3, radius: float, rotationAxis: Vector3, rotationAngle: float, color: Color)

Draw a circle in 3D world space

pyray.draw_circle_gradient(centerX: int, centerY: int, radius: float, color1: Color, color2: Color)

Draw a gradient-filled circle

pyray.draw_circle_lines(centerX: int, centerY: int, radius: float, color: Color)

Draw circle outline

pyray.draw_circle_lines_v(center: Vector2, radius: float, color: Color)

Draw circle outline (Vector version)

pyray.draw_circle_sector(center: Vector2, radius: float, startAngle: float, endAngle: float, segments: int, color: Color)

Draw a piece of a circle

pyray.draw_circle_sector_lines(center: Vector2, radius: float, startAngle: float, endAngle: float, segments: int, color: Color)

Draw circle sector outline

pyray.draw_circle_v(center: Vector2, radius: float, color: Color)

Draw a color-filled circle (Vector version)

pyray.draw_cube(position: Vector3, width: float, height: float, length: float, color: Color)

Draw cube

pyray.draw_cube_v(position: Vector3, size: Vector3, color: Color)

Draw cube (Vector version)

pyray.draw_cube_wires(position: Vector3, width: float, height: float, length: float, color: Color)

Draw cube wires

pyray.draw_cube_wires_v(position: Vector3, size: Vector3, color: Color)

Draw cube wires (Vector version)

pyray.draw_cylinder(position: Vector3, radiusTop: float, radiusBottom: float, height: float, slices: int, color: Color)

Draw a cylinder/cone

pyray.draw_cylinder_ex(startPos: Vector3, endPos: Vector3, startRadius: float, endRadius: float, sides: int, color: Color)

Draw a cylinder with base at startPos and top at endPos

pyray.draw_cylinder_wires(position: Vector3, radiusTop: float, radiusBottom: float, height: float, slices: int, color: Color)

Draw a cylinder/cone wires

pyray.draw_cylinder_wires_ex(startPos: Vector3, endPos: Vector3, startRadius: float, endRadius: float, sides: int, color: Color)

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)

Draw ellipse

pyray.draw_ellipse_lines(centerX: int, centerY: int, radiusH: float, radiusV: float, color: Color)

Draw ellipse outline

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

Draw current FPS

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

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

pyray.draw_line(startPosX: int, startPosY: int, endPosX: int, endPosY: int, color: Color)

Draw a line

pyray.draw_line_3d(startPos: Vector3, endPos: Vector3, color: Color)

Draw a line in 3D world space

pyray.draw_line_bezier(startPos: Vector2, endPos: Vector2, thick: float, color: Color)

Draw line segment cubic-bezier in-out interpolation

pyray.draw_line_ex(startPos: Vector2, endPos: Vector2, thick: float, color: Color)

Draw a line (using triangles/quads)

pyray.draw_line_strip(points: Any, pointCount: int, color: Color)

Draw lines sequence (using gl lines)

pyray.draw_line_v(startPos: Vector2, endPos: Vector2, color: Color)

Draw a line (using gl lines)

pyray.draw_mesh(mesh: Mesh, material: Material, transform: Matrix)

Draw a 3d mesh with material and transform

pyray.draw_mesh_instanced(mesh: Mesh, material: Material, transforms: Any, instances: int)

Draw multiple mesh instances with material and different transforms

pyray.draw_model(model: Model, position: Vector3, scale: float, tint: Color)

Draw a model (with texture if set)

pyray.draw_model_ex(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: float, scale: Vector3, tint: Color)

Draw a model with extended parameters

pyray.draw_model_wires(model: Model, position: Vector3, scale: float, tint: Color)

Draw a model wires (with texture if set)

pyray.draw_model_wires_ex(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: float, scale: Vector3, tint: Color)

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

pyray.draw_pixel(posX: int, posY: int, color: Color)

Draw a pixel

pyray.draw_pixel_v(position: Vector2, color: Color)

Draw a pixel (Vector version)

pyray.draw_plane(centerPos: Vector3, size: Vector2, color: Color)

Draw a plane XZ

pyray.draw_point_3d(position: Vector3, color: Color)

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

pyray.draw_poly(center: Vector2, sides: int, radius: float, rotation: float, color: Color)

Draw a regular polygon (Vector version)

pyray.draw_poly_lines(center: Vector2, sides: int, radius: float, rotation: float, color: Color)

Draw a polygon outline of n sides

pyray.draw_poly_lines_ex(center: Vector2, sides: int, radius: float, rotation: float, lineThick: float, color: Color)

Draw a polygon outline of n sides with extended parameters

pyray.draw_ray(ray: Ray, color: Color)

Draw a ray line

pyray.draw_rectangle(posX: int, posY: int, width: int, height: int, color: Color)

Draw a color-filled rectangle

pyray.draw_rectangle_gradient_ex(rec: Rectangle, col1: Color, col2: Color, col3: Color, col4: Color)

Draw a gradient-filled rectangle with custom vertex colors

pyray.draw_rectangle_gradient_h(posX: int, posY: int, width: int, height: int, color1: Color, color2: Color)

Draw a horizontal-gradient-filled rectangle

pyray.draw_rectangle_gradient_v(posX: int, posY: int, width: int, height: int, color1: Color, color2: Color)

Draw a vertical-gradient-filled rectangle

pyray.draw_rectangle_lines(posX: int, posY: int, width: int, height: int, color: Color)

Draw rectangle outline

pyray.draw_rectangle_lines_ex(rec: Rectangle, lineThick: float, color: Color)

Draw rectangle outline with extended parameters

pyray.draw_rectangle_pro(rec: Rectangle, origin: Vector2, rotation: float, color: Color)

Draw a color-filled rectangle with pro parameters

pyray.draw_rectangle_rec(rec: Rectangle, color: Color)

Draw a color-filled rectangle

pyray.draw_rectangle_rounded(rec: Rectangle, roundness: float, segments: int, color: Color)

Draw rectangle with rounded edges

pyray.draw_rectangle_rounded_lines(rec: Rectangle, roundness: float, segments: int, lineThick: float, color: Color)

Draw rectangle with rounded edges outline

pyray.draw_rectangle_v(position: Vector2, size: Vector2, color: Color)

Draw a color-filled rectangle (Vector version)

pyray.draw_ring(center: Vector2, innerRadius: float, outerRadius: float, startAngle: float, endAngle: float, segments: int, color: Color)

Draw ring

pyray.draw_ring_lines(center: Vector2, innerRadius: float, outerRadius: float, startAngle: float, endAngle: float, segments: int, color: Color)

Draw ring outline

pyray.draw_sphere(centerPos: Vector3, radius: float, color: Color)

Draw sphere

pyray.draw_sphere_ex(centerPos: Vector3, radius: float, rings: int, slices: int, color: Color)

Draw sphere with extended parameters

pyray.draw_sphere_wires(centerPos: Vector3, radius: float, rings: int, slices: int, color: Color)

Draw sphere wires

pyray.draw_spline_basis(points: Any, pointCount: int, thick: float, color: Color)

Draw spline: B-Spline, minimum 4 points

pyray.draw_spline_bezier_cubic(points: Any, pointCount: int, thick: float, color: Color)

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

pyray.draw_spline_bezier_quadratic(points: Any, pointCount: int, thick: float, color: Color)

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

pyray.draw_spline_catmull_rom(points: Any, pointCount: int, thick: float, color: Color)

Draw spline: Catmull-Rom, minimum 4 points

pyray.draw_spline_linear(points: Any, pointCount: int, thick: float, color: Color)

Draw spline: Linear, minimum 2 points

pyray.draw_spline_segment_basis(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: float, color: Color)

Draw spline segment: B-Spline, 4 points

pyray.draw_spline_segment_bezier_cubic(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, thick: float, color: Color)

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

pyray.draw_spline_segment_bezier_quadratic(p1: Vector2, c2: Vector2, p3: Vector2, thick: float, color: Color)

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

pyray.draw_spline_segment_catmull_rom(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: float, color: Color)

Draw spline segment: Catmull-Rom, 4 points

pyray.draw_spline_segment_linear(p1: Vector2, p2: Vector2, thick: float, color: Color)

Draw spline segment: Linear, 2 points

pyray.draw_text(text: str, posX: int, posY: int, fontSize: int, color: Color)

Draw text (using default font)

pyray.draw_text_codepoint(font: Font, codepoint: int, position: Vector2, fontSize: float, tint: Color)

Draw one character (codepoint)

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

Draw multiple character (codepoint)

pyray.draw_text_ex(font: Font, text: str, position: Vector2, fontSize: float, spacing: float, tint: Color)

Draw text using font and additional parameters

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

Draw text using Font and pro parameters (rotation)

pyray.draw_texture(texture: Texture, posX: int, posY: int, tint: Color)

Draw a Texture2D

pyray.draw_texture_ex(texture: Texture, position: Vector2, rotation: float, scale: float, tint: Color)

Draw a Texture2D with extended parameters

pyray.draw_texture_n_patch(texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: Vector2, rotation: float, tint: Color)

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

pyray.draw_texture_pro(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: float, tint: Color)

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

pyray.draw_texture_rec(texture: Texture, source: Rectangle, position: Vector2, tint: Color)

Draw a part of a texture defined by a rectangle

pyray.draw_texture_v(texture: Texture, position: Vector2, tint: Color)

Draw a Texture2D with position defined as Vector2

pyray.draw_triangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)

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

pyray.draw_triangle_3d(v1: Vector3, v2: Vector3, v3: Vector3, color: Color)

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

pyray.draw_triangle_fan(points: Any, pointCount: int, color: Color)

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

pyray.draw_triangle_lines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color)

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

pyray.draw_triangle_strip(points: Any, pointCount: int, color: Color)

Draw a triangle strip defined by points

pyray.draw_triangle_strip_3d(points: Any, pointCount: int, color: Color)

Draw a triangle strip defined by points

pyray.enable_cursor()

Enables cursor (unlock cursor)

pyray.enable_event_waiting()

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

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

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

pyray.end_blend_mode()

End blending mode (reset to default: alpha blending)

pyray.end_drawing()

End canvas drawing and swap buffers (double buffering)

pyray.end_mode_2d()

Ends 2D mode with custom camera

pyray.end_mode_3d()

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

pyray.end_scissor_mode()

End scissor mode

pyray.end_shader_mode()

End custom shader drawing (use default shader)

pyray.end_texture_mode()

Ends drawing to render texture

pyray.end_vr_stereo_mode()

End stereo rendering (requires VR simulator)

pyray.export_automation_event_list(list_0: AutomationEventList, fileName: str)

Export automation events list as text file

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

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

pyray.export_font_as_code(font: Font, fileName: str)

Export font as code file, returns true on success

pyray.export_image(image: Image, fileName: str)

Export image data to file, returns true on success

pyray.export_image_as_code(image: Image, fileName: str)

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

pyray.export_image_to_memory(image: Image, fileType: str, fileSize: Any)

Export image to memory buffer

pyray.export_mesh(mesh: Mesh, fileName: str)

Export mesh data to file, returns true on success

pyray.export_wave(wave: Wave, fileName: str)

Export wave data to file, returns true on success

pyray.export_wave_as_code(wave: Wave, fileName: str)

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

pyray.fade(color: Color, alpha: float)

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

pyray.file_exists(fileName: str)

Check if file exists

class pyray.float16(v)

struct

class pyray.float3(v)

struct

pyray.float_equals(x: float, y: float)
pyray.gen_image_cellular(width: int, height: int, tileSize: int)

Generate image: cellular algorithm, bigger tileSize means bigger cells

pyray.gen_image_checked(width: int, height: int, checksX: int, checksY: int, col1: Color, col2: Color)

Generate image: checked

pyray.gen_image_color(width: int, height: int, color: Color)

Generate image: plain color

pyray.gen_image_font_atlas(glyphs: Any, glyphRecs: Any, glyphCount: int, fontSize: int, padding: int, packMethod: int)

Generate image font atlas using chars info

pyray.gen_image_gradient_linear(width: int, height: int, direction: int, start: Color, end: Color)

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, outer: Color)

Generate image: radial gradient

pyray.gen_image_gradient_square(width: int, height: int, density: float, inner: Color, outer: Color)

Generate image: square gradient

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

Generate image: perlin noise

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

Generate image: grayscale image from text data

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

Generate image: white noise

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

Generate cone/pyramid mesh

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

Generate cuboid mesh

pyray.gen_mesh_cubicmap(cubicmap: Image, cubeSize: Vector3)

Generate cubes-based map mesh from image data

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

Generate cylinder mesh

pyray.gen_mesh_heightmap(heightmap: Image, size: Vector3)

Generate heightmap mesh from image data

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

Generate half-sphere mesh (no bottom cap)

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

Generate trefoil knot mesh

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

Generate plane mesh (with subdivisions)

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

Generate polygonal mesh

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

Generate sphere mesh (standard sphere)

pyray.gen_mesh_tangents(mesh: Any)

Compute mesh tangents

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

Generate torus mesh

pyray.gen_texture_mipmaps(texture: Any)

Generate GPU mipmaps for a texture

pyray.get_application_directory()

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

pyray.get_camera_matrix(camera: Camera3D)

Get camera transform matrix (view matrix)

pyray.get_camera_matrix_2d(camera: Camera2D)

Get camera 2d transform matrix

pyray.get_char_pressed()

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

pyray.get_clipboard_text()

Get clipboard text content

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

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

pyray.get_codepoint_count(text: str)

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

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

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

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

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

pyray.get_collision_rec(rec1: Rectangle, rec2: Rectangle)

Get collision rectangle for two rectangles collision

pyray.get_color(hexValue: int)

Get Color structure from hexadecimal value

pyray.get_current_monitor()

Get current connected monitor

pyray.get_directory_path(filePath: str)

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

pyray.get_file_extension(fileName: str)

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

pyray.get_file_length(fileName: str)

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

pyray.get_file_mod_time(fileName: str)

Get file modification time (last write time)

pyray.get_file_name(filePath: str)

Get pointer to filename for a path string

pyray.get_file_name_without_ext(filePath: str)

Get filename string without extension (uses static string)

pyray.get_font_default()

Get the default Font

pyray.get_fps()

Get current FPS

pyray.get_frame_time()

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

pyray.get_gamepad_axis_count(gamepad: int)

Get gamepad axis count for a gamepad

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

Get axis movement value for a gamepad axis

pyray.get_gamepad_button_pressed()

Get the last gamepad button pressed

pyray.get_gamepad_name(gamepad: int)

Get gamepad internal name id

pyray.get_gesture_detected()

Get latest detected gesture

pyray.get_gesture_drag_angle()

Get gesture drag angle

pyray.get_gesture_drag_vector()

Get gesture drag vector

pyray.get_gesture_hold_duration()

Get gesture hold time in milliseconds

pyray.get_gesture_pinch_angle()

Get gesture pinch angle

pyray.get_gesture_pinch_vector()

Get gesture pinch delta

pyray.get_glyph_atlas_rec(font: Font, codepoint: int)

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

pyray.get_glyph_index(font: Font, codepoint: int)

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

pyray.get_glyph_info(font: Font, codepoint: int)

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

pyray.get_image_alpha_border(image: Image, threshold: float)

Get image alpha border rectangle

pyray.get_image_color(image: Image, x: int, y: int)

Get image pixel color at (x, y) position

pyray.get_key_pressed()

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

pyray.get_master_volume()

Get master volume (listener)

pyray.get_mesh_bounding_box(mesh: Mesh)

Compute mesh bounding box limits

pyray.get_model_bounding_box(model: Model)

Compute model bounding box limits (considers all meshes)

pyray.get_monitor_count()

Get number of connected monitors

pyray.get_monitor_height(monitor: int)

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

pyray.get_monitor_name(monitor: int)

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

pyray.get_monitor_physical_height(monitor: int)

Get specified monitor physical height in millimetres

pyray.get_monitor_physical_width(monitor: int)

Get specified monitor physical width in millimetres

pyray.get_monitor_position(monitor: int)

Get specified monitor position

pyray.get_monitor_refresh_rate(monitor: int)

Get specified monitor refresh rate

pyray.get_monitor_width(monitor: int)

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

pyray.get_mouse_delta()

Get mouse delta between frames

pyray.get_mouse_position()

Get mouse position XY

pyray.get_mouse_ray(mousePosition: Vector2, camera: Camera3D)

Get a ray trace from mouse position

pyray.get_mouse_wheel_move()

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

pyray.get_mouse_wheel_move_v()

Get mouse wheel movement for both X and Y

pyray.get_mouse_x()

Get mouse position X

pyray.get_mouse_y()

Get mouse position Y

pyray.get_music_time_length(music: Music)

Get music time length (in seconds)

pyray.get_music_time_played(music: Music)

Get current music time played (in seconds)

pyray.get_physics_bodies_count()

Returns the current amount of created physics bodies

pyray.get_physics_body(index: int)

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

pyray.get_physics_shape_type(index: int)

Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON)

pyray.get_physics_shape_vertex(body: Any, vertex: int)

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

pyray.get_physics_shape_vertices_count(index: int)

Returns the amount of vertices of a physics body shape

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

Get Color from a source pixel pointer of certain format

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

Get pixel data size in bytes for certain format

pyray.get_prev_directory_path(dirPath: str)

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

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

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

pyray.get_ray_collision_box(ray: Ray, box: BoundingBox)

Get collision info between ray and box

pyray.get_ray_collision_mesh(ray: Ray, mesh: Mesh, transform: Matrix)

Get collision info between ray and mesh

pyray.get_ray_collision_quad(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3)

Get collision info between ray and quad

pyray.get_ray_collision_sphere(ray: Ray, center: Vector3, radius: float)

Get collision info between ray and sphere

pyray.get_ray_collision_triangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3)

Get collision info between ray and triangle

pyray.get_render_height()

Get current render height (it considers HiDPI)

pyray.get_render_width()

Get current render width (it considers HiDPI)

pyray.get_screen_height()

Get current screen height

pyray.get_screen_to_world_2d(position: Vector2, camera: Camera2D)

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

pyray.get_screen_width()

Get current screen width

pyray.get_shader_location(shader: Shader, uniformName: str)

Get shader uniform location

pyray.get_shader_location_attrib(shader: Shader, attribName: str)

Get shader attribute location

pyray.get_spline_point_basis(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: float)

Get (evaluate) spline point: B-Spline

pyray.get_spline_point_bezier_cubic(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, t: float)

Get (evaluate) spline point: Cubic Bezier

pyray.get_spline_point_bezier_quad(p1: Vector2, c2: Vector2, p3: Vector2, t: float)

Get (evaluate) spline point: Quadratic Bezier

pyray.get_spline_point_catmull_rom(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: float)

Get (evaluate) spline point: Catmull-Rom

pyray.get_spline_point_linear(startPos: Vector2, endPos: Vector2, t: float)

Get (evaluate) spline point: Linear

pyray.get_time()

Get elapsed time in seconds since InitWindow()

pyray.get_touch_point_count()

Get number of touch points

pyray.get_touch_point_id(index: int)

Get touch point identifier for given index

pyray.get_touch_position(index: int)

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

pyray.get_touch_x()

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

pyray.get_touch_y()

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

pyray.get_window_handle()

Get native window handle

pyray.get_window_position()

Get window position XY on monitor

pyray.get_window_scale_dpi()

Get window scale DPI factor

pyray.get_working_directory()

Get current working directory (uses static string)

pyray.get_world_to_screen(position: Vector3, camera: Camera3D)

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

pyray.get_world_to_screen_2d(position: Vector2, camera: Camera2D)

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

pyray.get_world_to_screen_ex(position: Vector3, camera: Camera3D, width: int, height: int)

Get size position for a 3d world space position

pyray.glfw_create_cursor(image: Any, xhot: int, yhot: int)
pyray.glfw_create_standard_cursor(shape: int)
pyray.glfw_create_window(width: int, height: int, title: str, monitor: Any, share: Any)
pyray.glfw_default_window_hints()
pyray.glfw_destroy_cursor(cursor: Any)
pyray.glfw_destroy_window(window: Any)
pyray.glfw_extension_supported(extension: str)
pyray.glfw_focus_window(window: Any)
pyray.glfw_get_clipboard_string(window: Any)
pyray.glfw_get_current_context()
pyray.glfw_get_cursor_pos(window: Any, xpos: Any, ypos: Any)
pyray.glfw_get_error(description: str)
pyray.glfw_get_framebuffer_size(window: Any, width: Any, height: Any)
pyray.glfw_get_gamepad_name(jid: int)
pyray.glfw_get_gamepad_state(jid: int, state: Any)
pyray.glfw_get_gamma_ramp(monitor: Any)
pyray.glfw_get_input_mode(window: Any, mode: int)
pyray.glfw_get_joystick_axes(jid: int, count: Any)
pyray.glfw_get_joystick_buttons(jid: int, count: Any)
pyray.glfw_get_joystick_guid(jid: int)
pyray.glfw_get_joystick_hats(jid: int, count: Any)
pyray.glfw_get_joystick_name(jid: int)
pyray.glfw_get_joystick_user_pointer(jid: int)
pyray.glfw_get_key(window: Any, key: int)
pyray.glfw_get_key_name(key: int, scancode: int)
pyray.glfw_get_key_scancode(key: int)
pyray.glfw_get_monitor_content_scale(monitor: Any, xscale: Any, yscale: Any)
pyray.glfw_get_monitor_name(monitor: Any)
pyray.glfw_get_monitor_physical_size(monitor: Any, widthMM: Any, heightMM: Any)
pyray.glfw_get_monitor_pos(monitor: Any, xpos: Any, ypos: Any)
pyray.glfw_get_monitor_user_pointer(monitor: Any)
pyray.glfw_get_monitor_workarea(monitor: Any, xpos: Any, ypos: Any, width: Any, height: Any)
pyray.glfw_get_monitors(count: Any)
pyray.glfw_get_mouse_button(window: Any, button: int)
pyray.glfw_get_platform()
pyray.glfw_get_primary_monitor()
pyray.glfw_get_proc_address(procname: str)
pyray.glfw_get_required_instance_extensions(count: Any)
pyray.glfw_get_time()
pyray.glfw_get_timer_frequency()
pyray.glfw_get_timer_value()
pyray.glfw_get_version(major: Any, minor: Any, rev: Any)
pyray.glfw_get_version_string()
pyray.glfw_get_video_mode(monitor: Any)
pyray.glfw_get_video_modes(monitor: Any, count: Any)
pyray.glfw_get_window_attrib(window: Any, attrib: int)
pyray.glfw_get_window_content_scale(window: Any, xscale: Any, yscale: Any)
pyray.glfw_get_window_frame_size(window: Any, left: Any, top: Any, right: Any, bottom: Any)
pyray.glfw_get_window_monitor(window: Any)
pyray.glfw_get_window_opacity(window: Any)
pyray.glfw_get_window_pos(window: Any, xpos: Any, ypos: Any)
pyray.glfw_get_window_size(window: Any, width: Any, height: Any)
pyray.glfw_get_window_user_pointer(window: Any)
pyray.glfw_hide_window(window: Any)
pyray.glfw_iconify_window(window: Any)
pyray.glfw_init()
pyray.glfw_init_allocator(allocator: Any)
pyray.glfw_init_hint(hint: int, value: int)
pyray.glfw_joystick_is_gamepad(jid: int)
pyray.glfw_joystick_present(jid: int)
pyray.glfw_make_context_current(window: Any)
pyray.glfw_maximize_window(window: Any)
pyray.glfw_platform_supported(platform: int)
pyray.glfw_poll_events()
pyray.glfw_post_empty_event()
pyray.glfw_raw_mouse_motion_supported()
pyray.glfw_request_window_attention(window: Any)
pyray.glfw_restore_window(window: Any)
pyray.glfw_set_char_callback(window: Any, callback: Any)
pyray.glfw_set_char_mods_callback(window: Any, callback: Any)
pyray.glfw_set_clipboard_string(window: Any, string: str)
pyray.glfw_set_cursor(window: Any, cursor: Any)
pyray.glfw_set_cursor_enter_callback(window: Any, callback: Any)
pyray.glfw_set_cursor_pos(window: Any, xpos: float, ypos: float)
pyray.glfw_set_cursor_pos_callback(window: Any, callback: Any)
pyray.glfw_set_drop_callback(window: Any, callback: str)
pyray.glfw_set_error_callback(callback: str)
pyray.glfw_set_framebuffer_size_callback(window: Any, callback: Any)
pyray.glfw_set_gamma(monitor: Any, gamma: float)
pyray.glfw_set_gamma_ramp(monitor: Any, ramp: Any)
pyray.glfw_set_input_mode(window: Any, mode: int, value: int)
pyray.glfw_set_joystick_callback(callback: Any)
pyray.glfw_set_joystick_user_pointer(jid: int, pointer: Any)
pyray.glfw_set_key_callback(window: Any, callback: Any)
pyray.glfw_set_monitor_callback(callback: Any)
pyray.glfw_set_monitor_user_pointer(monitor: Any, pointer: Any)
pyray.glfw_set_mouse_button_callback(window: Any, callback: Any)
pyray.glfw_set_scroll_callback(window: Any, callback: Any)
pyray.glfw_set_time(time: float)
pyray.glfw_set_window_aspect_ratio(window: Any, numer: int, denom: int)
pyray.glfw_set_window_attrib(window: Any, attrib: int, value: int)
pyray.glfw_set_window_close_callback(window: Any, callback: Any)
pyray.glfw_set_window_content_scale_callback(window: Any, callback: Any)
pyray.glfw_set_window_focus_callback(window: Any, callback: Any)
pyray.glfw_set_window_icon(window: Any, count: int, images: Any)
pyray.glfw_set_window_iconify_callback(window: Any, callback: Any)
pyray.glfw_set_window_maximize_callback(window: Any, callback: Any)
pyray.glfw_set_window_monitor(window: Any, monitor: Any, xpos: int, ypos: int, width: int, height: int, refreshRate: int)
pyray.glfw_set_window_opacity(window: Any, opacity: float)
pyray.glfw_set_window_pos(window: Any, xpos: int, ypos: int)
pyray.glfw_set_window_pos_callback(window: Any, callback: Any)
pyray.glfw_set_window_refresh_callback(window: Any, callback: Any)
pyray.glfw_set_window_should_close(window: Any, value: int)
pyray.glfw_set_window_size(window: Any, width: int, height: int)
pyray.glfw_set_window_size_callback(window: Any, callback: Any)
pyray.glfw_set_window_size_limits(window: Any, minwidth: int, minheight: int, maxwidth: int, maxheight: int)
pyray.glfw_set_window_title(window: Any, title: str)
pyray.glfw_set_window_user_pointer(window: Any, pointer: Any)
pyray.glfw_show_window(window: Any)
pyray.glfw_swap_buffers(window: Any)
pyray.glfw_swap_interval(interval: int)
pyray.glfw_terminate()
pyray.glfw_update_gamepad_mappings(string: str)
pyray.glfw_vulkan_supported()
pyray.glfw_wait_events()
pyray.glfw_wait_events_timeout(timeout: float)
pyray.glfw_window_hint(hint: int, value: int)
pyray.glfw_window_hint_string(hint: int, value: str)
pyray.glfw_window_should_close(window: Any)
pyray.gui_button(bounds: Rectangle, text: str)

Button control, returns true when clicked

pyray.gui_check_box(bounds: Rectangle, text: str, checked: Any)

Check Box control, returns true when active

pyray.gui_color_bar_alpha(bounds: Rectangle, text: str, alpha: Any)

Color Bar Alpha control

pyray.gui_color_bar_hue(bounds: Rectangle, text: str, value: Any)

Color Bar Hue control

pyray.gui_color_panel(bounds: Rectangle, text: str, color: Any)

Color Panel control

pyray.gui_color_panel_hsv(bounds: Rectangle, text: str, colorHsv: Any)

Color Panel control that returns HSV color value, used by GuiColorPickerHSV()

pyray.gui_color_picker(bounds: Rectangle, text: str, color: Any)

Color Picker control (multiple color controls)

pyray.gui_color_picker_hsv(bounds: Rectangle, text: str, colorHsv: Any)

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

pyray.gui_combo_box(bounds: Rectangle, text: str, active: Any)

Combo Box control, returns selected item index

pyray.gui_disable()

Disable gui controls (global state)

pyray.gui_disable_tooltip()

Disable gui tooltips (global state)

pyray.gui_draw_icon(iconId: int, posX: int, posY: int, pixelSize: int, color: Color)

Draw icon using pixel size at specified position

pyray.gui_dropdown_box(bounds: Rectangle, text: str, active: Any, editMode: bool)

Dropdown Box control, returns selected item

pyray.gui_dummy_rec(bounds: Rectangle, text: str)

Dummy control for placeholders

pyray.gui_enable()

Enable gui controls (global state)

pyray.gui_enable_tooltip()

Enable gui tooltips (global state)

pyray.gui_get_font()

Get gui custom font (global state)

pyray.gui_get_icons()

Get raygui icons data pointer

pyray.gui_get_state()

Get gui state (global state)

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

Get one style property

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

Grid control, returns mouse cell position

pyray.gui_group_box(bounds: Rectangle, text: str)

Group Box control with text name

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

Get text with icon id prepended (if supported)

pyray.gui_is_locked()

Check if gui is locked (global state)

pyray.gui_label(bounds: Rectangle, text: str)

Label control, shows text

pyray.gui_label_button(bounds: Rectangle, text: str)

Label button control, show true when clicked

pyray.gui_line(bounds: Rectangle, text: str)

Line separator control, could contain text

pyray.gui_list_view(bounds: Rectangle, text: str, scrollIndex: Any, active: Any)

List View control, returns selected list item index

pyray.gui_list_view_ex(bounds: Rectangle, text: str, count: int, scrollIndex: Any, active: Any, focus: Any)

List View with extended parameters

pyray.gui_load_icons(fileName: str, loadIconsName: bool)

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

pyray.gui_load_style(fileName: str)

Load style file over global style variable (.rgs)

pyray.gui_load_style_default()

Load style default over global style

pyray.gui_lock()

Lock gui controls (global state)

pyray.gui_message_box(bounds: Rectangle, title: str, message: str, buttons: str)

Message Box control, displays a message

pyray.gui_panel(bounds: Rectangle, text: str)

Panel control, useful to group controls

pyray.gui_progress_bar(bounds: Rectangle, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float)

Progress Bar control, shows current progress value

pyray.gui_scroll_panel(bounds: Rectangle, text: str, content: Rectangle, scroll: Any, view: Any)

Scroll Panel control

pyray.gui_set_alpha(alpha: float)

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

pyray.gui_set_font(font: Font)

Set gui custom font (global state)

pyray.gui_set_icon_scale(scale: int)

Set default icon drawing size

pyray.gui_set_state(state: int)

Set gui state (global state)

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

Set one style property

pyray.gui_set_tooltip(tooltip: str)

Set tooltip string

pyray.gui_slider(bounds: Rectangle, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float)

Slider control, returns selected value

pyray.gui_slider_bar(bounds: Rectangle, textLeft: str, textRight: str, value: Any, minValue: float, maxValue: float)

Slider Bar control, returns selected value

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

Spinner control, returns selected value

pyray.gui_status_bar(bounds: Rectangle, text: str)

Status Bar control, shows info text

pyray.gui_tab_bar(bounds: Rectangle, text: str, count: int, active: Any)

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

pyray.gui_text_box(bounds: Rectangle, text: str, textSize: int, editMode: bool)

Text Box control, updates input text

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

Text Input Box control, ask for text, supports secret

pyray.gui_toggle(bounds: Rectangle, text: str, active: Any)

Toggle Button control, returns true when active

pyray.gui_toggle_group(bounds: Rectangle, text: str, active: Any)

Toggle Group control, returns active toggle index

pyray.gui_toggle_slider(bounds: Rectangle, text: str, active: Any)

Toggle Slider control, returns true when clicked

pyray.gui_unlock()

Unlock gui controls (global state)

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

Value Box control, updates input text with numbers

pyray.gui_window_box(bounds: Rectangle, title: str)

Window Box control, shows a window that can be closed

pyray.hide_cursor()

Hides cursor

pyray.image_alpha_clear(image: Any, color: Color, threshold: float)

Clear alpha channel to desired color

pyray.image_alpha_crop(image: Any, threshold: float)

Crop image depending on alpha value

pyray.image_alpha_mask(image: Any, alphaMask: Image)

Apply alpha mask to image

pyray.image_alpha_premultiply(image: Any)

Premultiply alpha channel

pyray.image_blur_gaussian(image: Any, blurSize: int)

Apply Gaussian blur using a box blur approximation

pyray.image_clear_background(dst: Any, color: Color)

Clear image background with given color

pyray.image_color_brightness(image: Any, brightness: int)

Modify image color: brightness (-255 to 255)

pyray.image_color_contrast(image: Any, contrast: float)

Modify image color: contrast (-100 to 100)

pyray.image_color_grayscale(image: Any)

Modify image color: grayscale

pyray.image_color_invert(image: Any)

Modify image color: invert

pyray.image_color_replace(image: Any, color: Color, replace: Color)

Modify image color: replace color

pyray.image_color_tint(image: Any, color: Color)

Modify image color: tint

pyray.image_copy(image: Image)

Create an image duplicate (useful for transformations)

pyray.image_crop(image: Any, crop: Rectangle)

Crop an image to a defined rectangle

pyray.image_dither(image: Any, rBpp: int, gBpp: int, bBpp: int, aBpp: int)

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

pyray.image_draw(dst: Any, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color)

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

pyray.image_draw_circle(dst: Any, centerX: int, centerY: int, radius: int, color: Color)

Draw a filled circle within an image

pyray.image_draw_circle_lines(dst: Any, centerX: int, centerY: int, radius: int, color: Color)

Draw circle outline within an image

pyray.image_draw_circle_lines_v(dst: Any, center: Vector2, radius: int, color: Color)

Draw circle outline within an image (Vector version)

pyray.image_draw_circle_v(dst: Any, center: Vector2, radius: int, color: Color)

Draw a filled circle within an image (Vector version)

pyray.image_draw_line(dst: Any, startPosX: int, startPosY: int, endPosX: int, endPosY: int, color: Color)

Draw line within an image

pyray.image_draw_line_v(dst: Any, start: Vector2, end: Vector2, color: Color)

Draw line within an image (Vector version)

pyray.image_draw_pixel(dst: Any, posX: int, posY: int, color: Color)

Draw pixel within an image

pyray.image_draw_pixel_v(dst: Any, position: Vector2, color: Color)

Draw pixel within an image (Vector version)

pyray.image_draw_rectangle(dst: Any, posX: int, posY: int, width: int, height: int, color: Color)

Draw rectangle within an image

pyray.image_draw_rectangle_lines(dst: Any, rec: Rectangle, thick: int, color: Color)

Draw rectangle lines within an image

pyray.image_draw_rectangle_rec(dst: Any, rec: Rectangle, color: Color)

Draw rectangle within an image

pyray.image_draw_rectangle_v(dst: Any, position: Vector2, size: Vector2, color: Color)

Draw rectangle within an image (Vector version)

pyray.image_draw_text(dst: Any, text: str, posX: int, posY: int, fontSize: int, color: Color)

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

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

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

pyray.image_flip_horizontal(image: Any)

Flip image horizontally

pyray.image_flip_vertical(image: Any)

Flip image vertically

pyray.image_format(image: Any, newFormat: int)

Convert image data to desired format

pyray.image_from_image(image: Image, rec: Rectangle)

Create an image from another image piece

pyray.image_mipmaps(image: Any)

Compute all mipmap levels for a provided image

pyray.image_resize(image: Any, newWidth: int, newHeight: int)

Resize image (Bicubic scaling algorithm)

pyray.image_resize_canvas(image: Any, newWidth: int, newHeight: int, offsetX: int, offsetY: int, fill: Color)

Resize canvas and fill with color

pyray.image_resize_nn(image: Any, newWidth: int, newHeight: int)

Resize image (Nearest-Neighbor scaling algorithm)

pyray.image_rotate(image: Any, degrees: int)

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

pyray.image_rotate_ccw(image: Any)

Rotate image counter-clockwise 90deg

pyray.image_rotate_cw(image: Any)

Rotate image clockwise 90deg

pyray.image_text(text: str, fontSize: int, color: Color)

Create an image from text (default font)

pyray.image_text_ex(font: Font, text: str, fontSize: float, spacing: float, tint: Color)

Create an image from text (custom sprite font)

pyray.image_to_pot(image: Any, fill: Color)

Convert image to POT (power-of-two)

pyray.init_audio_device()

Initialize audio device and context

pyray.init_physics()

Initializes physics system

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

Initialize window and OpenGL context

pyray.is_audio_device_ready()

Check if audio device has been initialized successfully

pyray.is_audio_stream_playing(stream: AudioStream)

Check if audio stream is playing

pyray.is_audio_stream_processed(stream: AudioStream)

Check if any audio stream buffers requires refill

pyray.is_audio_stream_ready(stream: AudioStream)

Checks if an audio stream is ready

pyray.is_cursor_hidden()

Check if cursor is not visible

pyray.is_cursor_on_screen()

Check if cursor is on the screen

pyray.is_file_dropped()

Check if a file has been dropped into window

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

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

pyray.is_font_ready(font: Font)

Check if a font is ready

pyray.is_gamepad_available(gamepad: int)

Check if a gamepad is available

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

Check if a gamepad button is being pressed

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

Check if a gamepad button has been pressed once

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

Check if a gamepad button has been released once

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

Check if a gamepad button is NOT being pressed

pyray.is_gesture_detected(gesture: int)

Check if a gesture have been detected

pyray.is_image_ready(image: Image)

Check if an image is ready

pyray.is_key_down(key: int)

Check if a key is being pressed

pyray.is_key_pressed(key: int)

Check if a key has been pressed once

pyray.is_key_pressed_repeat(key: int)

Check if a key has been pressed again (Only PLATFORM_DESKTOP)

pyray.is_key_released(key: int)

Check if a key has been released once

pyray.is_key_up(key: int)

Check if a key is NOT being pressed

pyray.is_material_ready(material: Material)

Check if a material is ready

pyray.is_model_animation_valid(model: Model, anim: ModelAnimation)

Check model animation skeleton match

pyray.is_model_ready(model: Model)

Check if a model is ready

pyray.is_mouse_button_down(button: int)

Check if a mouse button is being pressed

pyray.is_mouse_button_pressed(button: int)

Check if a mouse button has been pressed once

pyray.is_mouse_button_released(button: int)

Check if a mouse button has been released once

pyray.is_mouse_button_up(button: int)

Check if a mouse button is NOT being pressed

pyray.is_music_ready(music: Music)

Checks if a music stream is ready

pyray.is_music_stream_playing(music: Music)

Check if music is playing

pyray.is_path_file(path: str)

Check if a given path is a file or a directory

pyray.is_render_texture_ready(target: RenderTexture)

Check if a render texture is ready

pyray.is_shader_ready(shader: Shader)

Check if a shader is ready

pyray.is_sound_playing(sound: Sound)

Check if a sound is currently playing

pyray.is_sound_ready(sound: Sound)

Checks if a sound is ready

pyray.is_texture_ready(texture: Texture)

Check if a texture is ready

pyray.is_wave_ready(wave: Wave)

Checks if wave data is ready

pyray.is_window_focused()

Check if window is currently focused (only PLATFORM_DESKTOP)

pyray.is_window_fullscreen()

Check if window is currently fullscreen

pyray.is_window_hidden()

Check if window is currently hidden (only PLATFORM_DESKTOP)

pyray.is_window_maximized()

Check if window is currently maximized (only PLATFORM_DESKTOP)

pyray.is_window_minimized()

Check if window is currently minimized (only PLATFORM_DESKTOP)

pyray.is_window_ready()

Check if window has been initialized successfully

pyray.is_window_resized()

Check if window has been resized last frame

pyray.is_window_state(flag: int)

Check if one specific window flag is enabled

pyray.lerp(start: float, end: float, amount: float)
pyray.load_audio_stream(sampleRate: int, sampleSize: int, channels: int)

Load audio stream (to stream raw audio pcm data)

pyray.load_automation_event_list(fileName: str)

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

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

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

pyray.load_directory_files(dirPath: str)

Load directory filepaths

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

Load directory filepaths with extension filtering and recursive directory scan

pyray.load_dropped_files()

Load dropped filepaths

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

Load file data as byte array (read)

pyray.load_file_text(fileName: str)

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

pyray.load_font(fileName: str)

Load font from file into GPU memory (VRAM)

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

Load font data for further use

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

Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont

pyray.load_font_from_image(image: Image, key: Color, firstChar: int)

Load font from Image (XNA style)

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

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

pyray.load_image(fileName: str)

Load image from file into CPU memory (RAM)

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

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

pyray.load_image_colors(image: Image)

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

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

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

pyray.load_image_from_screen()

Load image from screen buffer and (screenshot)

pyray.load_image_from_texture(texture: Texture)

Load image from GPU texture data

pyray.load_image_palette(image: Image, maxPaletteSize: int, colorCount: 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)

Load image from RAW file data

pyray.load_image_svg(fileNameOrString: str, width: int, height: int)

Load image from SVG file data or string with specified size

pyray.load_material_default()

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

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

Load materials from model file

pyray.load_model(fileName: str)

Load model from files (meshes and materials)

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

Load model animations from file

pyray.load_model_from_mesh(mesh: Mesh)

Load model from generated mesh (default material)

pyray.load_music_stream(fileName: str)

Load music stream from file

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

Load music stream from data

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

Load random values sequence, no values repeated

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

Load texture for rendering (framebuffer)

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

Load shader from files and bind default locations

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

Load shader from code strings and bind default locations

pyray.load_sound(fileName: str)

Load sound from file

pyray.load_sound_alias(source: 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)

Load sound from wave data

pyray.load_texture(fileName: str)

Load texture from file into GPU memory (VRAM)

pyray.load_texture_cubemap(image: Image, layout: int)

Load cubemap from image, multiple image cubemap layouts supported

pyray.load_texture_from_image(image: Image)

Load texture from image data

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

Load UTF-8 text encoded from codepoints array

pyray.load_vr_stereo_config(device: VrDeviceInfo)

Load VR stereo config for VR simulator device parameters

pyray.load_wave(fileName: str)

Load wave data from file

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

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

pyray.load_wave_samples(wave: Wave)

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

pyray.matrix_add(left: Matrix, right: Matrix)
pyray.matrix_determinant(mat: Matrix)
pyray.matrix_frustum(left: float, right: float, bottom: float, top: float, near: float, far: float)
pyray.matrix_identity()
pyray.matrix_invert(mat: Matrix)
pyray.matrix_look_at(eye: Vector3, target: Vector3, up: Vector3)
pyray.matrix_multiply(left: Matrix, right: Matrix)
pyray.matrix_ortho(left: float, right: float, bottom: float, top: float, nearPlane: float, farPlane: float)
pyray.matrix_perspective(fovY: float, aspect: float, nearPlane: float, farPlane: float)
pyray.matrix_rotate(axis: Vector3, angle: float)
pyray.matrix_rotate_x(angle: float)
pyray.matrix_rotate_xyz(angle: Vector3)
pyray.matrix_rotate_y(angle: float)
pyray.matrix_rotate_z(angle: float)
pyray.matrix_rotate_zyx(angle: Vector3)
pyray.matrix_scale(x: float, y: float, z: float)
pyray.matrix_subtract(left: Matrix, right: Matrix)
pyray.matrix_to_float_v(mat: Matrix)
pyray.matrix_trace(mat: Matrix)
pyray.matrix_translate(x: float, y: float, z: float)
pyray.matrix_transpose(mat: Matrix)
pyray.maximize_window()

Set window state: maximized, if resizable (only PLATFORM_DESKTOP)

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

Measure string width for default font

pyray.measure_text_ex(font: Font, text: str, fontSize: float, spacing: float)

Measure string size for Font

pyray.mem_alloc(size: int)

Internal memory allocator

pyray.mem_free(ptr: Any)

Internal memory free

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

Internal memory reallocator

pyray.minimize_window()

Set window state: minimized, if resizable (only PLATFORM_DESKTOP)

pyray.normalize(value: float, start: float, end: float)
pyray.open_url(url: str)

Open URL with default system browser (if available)

pyray.pause_audio_stream(stream: AudioStream)

Pause audio stream

pyray.pause_music_stream(music: Music)

Pause music playing

pyray.pause_sound(sound: Sound)

Pause a sound

pyray.physics_add_force(body: Any, force: Vector2)

Adds a force to a physics body

pyray.physics_add_torque(body: Any, amount: float)

Adds an angular force to a physics body

pyray.physics_shatter(body: Any, position: Vector2, force: float)

Shatters a polygon shape physics body to little physics bodies with explosion force

pyray.play_audio_stream(stream: AudioStream)

Play audio stream

pyray.play_automation_event(event: AutomationEvent)

Play a recorded automation event

pyray.play_music_stream(music: Music)

Start music playing

pyray.play_sound(sound: Sound)

Play a sound

pyray.pointer(struct)
pyray.poll_input_events()

Register all input events

pyray.quaternion_add(q1: Vector4, q2: Vector4)
pyray.quaternion_add_value(q: Vector4, add: float)
pyray.quaternion_divide(q1: Vector4, q2: Vector4)
pyray.quaternion_equals(p: Vector4, q: Vector4)
pyray.quaternion_from_axis_angle(axis: Vector3, angle: float)
pyray.quaternion_from_euler(pitch: float, yaw: float, roll: float)
pyray.quaternion_from_matrix(mat: Matrix)
pyray.quaternion_from_vector3_to_vector3(from_0: Vector3, to: Vector3)
pyray.quaternion_identity()
pyray.quaternion_invert(q: Vector4)
pyray.quaternion_length(q: Vector4)
pyray.quaternion_lerp(q1: Vector4, q2: Vector4, amount: float)
pyray.quaternion_multiply(q1: Vector4, q2: Vector4)
pyray.quaternion_nlerp(q1: Vector4, q2: Vector4, amount: float)
pyray.quaternion_normalize(q: Vector4)
pyray.quaternion_scale(q: Vector4, mul: float)
pyray.quaternion_slerp(q1: Vector4, q2: Vector4, amount: float)
pyray.quaternion_subtract(q1: Vector4, q2: Vector4)
pyray.quaternion_subtract_value(q: Vector4, sub: float)
pyray.quaternion_to_axis_angle(q: Vector4, outAxis: Any, outAngle: Any)
pyray.quaternion_to_euler(q: Vector4)
pyray.quaternion_to_matrix(q: Vector4)
pyray.quaternion_transform(q: Vector4, mat: Matrix)
pyray.remap(value: float, inputStart: float, inputEnd: float, outputStart: float, outputEnd: float)
pyray.reset_physics()

Reset physics system (global variables)

pyray.restore_window()

Set window state: not minimized/maximized (only PLATFORM_DESKTOP)

pyray.resume_audio_stream(stream: AudioStream)

Resume audio stream

pyray.resume_music_stream(music: Music)

Resume playing paused music

pyray.resume_sound(sound: Sound)

Resume a paused sound

class pyray.rlDrawCall(mode, vertexCount, vertexAlignment, textureId)

struct

class pyray.rlRenderBatch(bufferCount, currentBuffer, vertexBuffer, draws, drawCounter, currentDepth)

struct

class pyray.rlVertexBuffer(elementCount, vertices, texcoords, colors, indices, vaoId, vboId)

struct

pyray.rl_active_draw_buffers(count: int)

Activate multiple draw color buffers

pyray.rl_active_texture_slot(slot: int)

Select and active a texture slot

pyray.rl_begin(mode: int)

Initialize drawing mode (how to organize vertex)

pyray.rl_bind_image_texture(id: int, index: int, format: int, readonly: bool)

Bind image texture

pyray.rl_bind_shader_buffer(id: int, index: int)

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)

Blit active framebuffer to main framebuffer

pyray.rl_check_errors()

Check and log OpenGL error codes

pyray.rl_check_render_batch_limit(vCount: int)

Check internal buffer overflow for a given number of vertex

pyray.rl_clear_color(r: str, g: str, b: str, a: str)

Clear color buffer with color

pyray.rl_clear_screen_buffers()

Clear used screen buffers (color and depth)

pyray.rl_color3f(x: float, y: float, z: float)

Define one vertex (color) - 3 float

pyray.rl_color4f(x: float, y: float, z: float, w: float)

Define one vertex (color) - 4 float

pyray.rl_color4ub(r: str, g: str, b: str, a: str)

Define one vertex (color) - 4 byte

pyray.rl_compile_shader(shaderCode: str, type: 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)

Dispatch compute shader (equivalent to draw for graphics pipeline)

pyray.rl_copy_shader_buffer(destId: int, srcId: int, destOffset: int, srcOffset: int, count: int)

Copy SSBO data between buffers

pyray.rl_cubemap_parameters(id: int, param: int, value: int)

Set cubemap parameters (filter, wrap)

pyray.rl_disable_backface_culling()

Disable backface culling

pyray.rl_disable_color_blend()

Disable color blending

pyray.rl_disable_depth_mask()

Disable depth write

pyray.rl_disable_depth_test()

Disable depth test

pyray.rl_disable_framebuffer()

Disable render texture (fbo), return to default framebuffer

pyray.rl_disable_scissor_test()

Disable scissor test

pyray.rl_disable_shader()

Disable shader program

pyray.rl_disable_smooth_lines()

Disable line aliasing

pyray.rl_disable_stereo_render()

Disable stereo rendering

pyray.rl_disable_texture()

Disable texture

pyray.rl_disable_texture_cubemap()

Disable texture cubemap

pyray.rl_disable_vertex_array()

Disable vertex array (VAO, if supported)

pyray.rl_disable_vertex_attribute(index: int)

Disable vertex attribute index

pyray.rl_disable_vertex_buffer()

Disable vertex buffer (VBO)

pyray.rl_disable_vertex_buffer_element()

Disable vertex buffer element (VBO element)

pyray.rl_disable_wire_mode()

Disable wire mode ( and point ) maybe rename

pyray.rl_draw_render_batch(batch: Any)

Draw render batch data (Update->Draw->Reset)

pyray.rl_draw_render_batch_active()

Update and draw internal render batch

pyray.rl_draw_vertex_array(offset: int, count: int)
pyray.rl_draw_vertex_array_elements(offset: int, count: int, buffer: Any)
pyray.rl_draw_vertex_array_elements_instanced(offset: int, count: int, buffer: Any, instances: int)
pyray.rl_draw_vertex_array_instanced(offset: int, count: int, instances: int)
pyray.rl_enable_backface_culling()

Enable backface culling

pyray.rl_enable_color_blend()

Enable color blending

pyray.rl_enable_depth_mask()

Enable depth write

pyray.rl_enable_depth_test()

Enable depth test

pyray.rl_enable_framebuffer(id: int)

Enable render texture (fbo)

pyray.rl_enable_point_mode()

Enable point mode

pyray.rl_enable_scissor_test()

Enable scissor test

pyray.rl_enable_shader(id: int)

Enable shader program

pyray.rl_enable_smooth_lines()

Enable line aliasing

pyray.rl_enable_stereo_render()

Enable stereo rendering

pyray.rl_enable_texture(id: int)

Enable texture

pyray.rl_enable_texture_cubemap(id: int)

Enable texture cubemap

pyray.rl_enable_vertex_array(vaoId: int)

Enable vertex array (VAO, if supported)

pyray.rl_enable_vertex_attribute(index: int)

Enable vertex attribute index

pyray.rl_enable_vertex_buffer(id: int)

Enable vertex buffer (VBO)

pyray.rl_enable_vertex_buffer_element(id: int)

Enable vertex buffer element (VBO element)

pyray.rl_enable_wire_mode()

Enable wire mode

pyray.rl_end()

Finish vertex providing

pyray.rl_framebuffer_attach(fboId: int, texId: int, attachType: int, texType: int, mipLevel: int)

Attach texture/renderbuffer to a framebuffer

pyray.rl_framebuffer_complete(id: int)

Verify framebuffer is complete

pyray.rl_frustum(left: float, right: float, bottom: float, top: float, znear: float, zfar: float)
pyray.rl_gen_texture_mipmaps(id: int, width: int, height: int, format: int, mipmaps: Any)

Generate mipmap data for selected texture

pyray.rl_get_framebuffer_height()

Get default framebuffer height

pyray.rl_get_framebuffer_width()

Get default framebuffer width

pyray.rl_get_gl_texture_formats(format: int, glInternalFormat: Any, glFormat: Any, glType: Any)

Get OpenGL internal formats

pyray.rl_get_line_width()

Get the line drawing width

pyray.rl_get_location_attrib(shaderId: int, attribName: str)

Get shader location attribute

pyray.rl_get_location_uniform(shaderId: int, uniformName: str)

Get shader location uniform

pyray.rl_get_matrix_modelview()

Get internal modelview matrix

pyray.rl_get_matrix_projection()

Get internal projection matrix

pyray.rl_get_matrix_projection_stereo(eye: int)

Get internal projection matrix for stereo render (selected eye)

pyray.rl_get_matrix_transform()

Get internal accumulated transform matrix

pyray.rl_get_matrix_view_offset_stereo(eye: int)

Get internal view offset matrix for stereo render (selected eye)

pyray.rl_get_pixel_format_name(format: int)

Get name string for pixel format

pyray.rl_get_shader_buffer_size(id: int)

Get SSBO buffer size

pyray.rl_get_shader_id_default()

Get default shader id

pyray.rl_get_shader_locs_default()

Get default shader locations

pyray.rl_get_texture_id_default()

Get default texture id

pyray.rl_get_version()

Get current OpenGL version

pyray.rl_is_stereo_render_enabled()

Check if stereo render is enabled

pyray.rl_load_compute_shader_program(shaderId: int)

Load compute shader program

pyray.rl_load_draw_cube()

Load and draw a cube

pyray.rl_load_draw_quad()

Load and draw a quad

pyray.rl_load_extensions(loader: Any)

Load OpenGL extensions (loader function required)

pyray.rl_load_framebuffer(width: int, height: int)

Load an empty framebuffer

pyray.rl_load_identity()

Reset current matrix to identity matrix

pyray.rl_load_render_batch(numBuffers: int, bufferElements: int)

Load a render batch system

pyray.rl_load_shader_buffer(size: int, data: Any, usageHint: int)

Load shader storage buffer object (SSBO)

pyray.rl_load_shader_code(vsCode: str, fsCode: str)

Load shader from code strings

pyray.rl_load_shader_program(vShaderId: int, fShaderId: int)

Load custom shader program

pyray.rl_load_texture(data: Any, width: int, height: int, format: int, mipmapCount: int)

Load texture in GPU

pyray.rl_load_texture_cubemap(data: Any, size: int, format: int)

Load texture cubemap

pyray.rl_load_texture_depth(width: int, height: int, useRenderBuffer: bool)

Load depth texture/renderbuffer (to be attached to fbo)

pyray.rl_load_vertex_array()

Load vertex array (vao) if supported

pyray.rl_load_vertex_buffer(buffer: Any, size: int, dynamic: bool)

Load a vertex buffer attribute

pyray.rl_load_vertex_buffer_element(buffer: Any, size: int, dynamic: bool)

Load a new attributes element buffer

pyray.rl_matrix_mode(mode: int)

Choose the current matrix to be transformed

pyray.rl_mult_matrixf(matf: Any)

Multiply the current matrix by another matrix

pyray.rl_normal3f(x: float, y: float, z: float)

Define one vertex (normal) - 3 float

pyray.rl_ortho(left: float, right: float, bottom: float, top: float, znear: float, zfar: float)
pyray.rl_pop_matrix()

Pop latest inserted matrix from stack

pyray.rl_push_matrix()

Push the current matrix to stack

pyray.rl_read_screen_pixels(width: int, height: int)

Read screen pixel data (color buffer)

pyray.rl_read_shader_buffer(id: int, dest: Any, count: int, offset: int)

Read SSBO buffer data (GPU->CPU)

pyray.rl_read_texture_pixels(id: int, width: int, height: int, format: int)

Read texture pixel data

pyray.rl_rotatef(angle: float, x: float, y: float, z: float)

Multiply the current matrix by a rotation matrix

pyray.rl_scalef(x: float, y: float, z: float)

Multiply the current matrix by a scaling matrix

pyray.rl_scissor(x: int, y: int, width: int, height: int)

Scissor test

pyray.rl_set_blend_factors(glSrcFactor: int, glDstFactor: int, glEquation: int)

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)

Set blending mode factors and equations separately (using OpenGL factors)

pyray.rl_set_blend_mode(mode: int)

Set blending mode

pyray.rl_set_cull_face(mode: int)

Set face culling mode

pyray.rl_set_framebuffer_height(height: int)

Set current framebuffer height

pyray.rl_set_framebuffer_width(width: int)

Set current framebuffer width

pyray.rl_set_line_width(width: float)

Set the line drawing width

pyray.rl_set_matrix_modelview(view: Matrix)

Set a custom modelview matrix (replaces internal modelview matrix)

pyray.rl_set_matrix_projection(proj: Matrix)

Set a custom projection matrix (replaces internal projection matrix)

pyray.rl_set_matrix_projection_stereo(right: Matrix, left: Matrix)

Set eyes projection matrices for stereo rendering

pyray.rl_set_matrix_view_offset_stereo(right: Matrix, left: Matrix)

Set eyes view offsets matrices for stereo rendering

pyray.rl_set_render_batch_active(batch: Any)

Set the active render batch for rlgl (NULL for default internal)

pyray.rl_set_shader(id: int, locs: Any)

Set shader currently active (id and locations)

pyray.rl_set_texture(id: int)

Set current texture for render batch and check buffers limits

pyray.rl_set_uniform(locIndex: int, value: Any, uniformType: int, count: int)

Set shader value uniform

pyray.rl_set_uniform_matrix(locIndex: int, mat: Matrix)

Set shader value matrix

pyray.rl_set_uniform_sampler(locIndex: int, textureId: int)

Set shader value sampler

pyray.rl_set_vertex_attribute(index: int, compSize: int, type: int, normalized: bool, stride: int, pointer: Any)
pyray.rl_set_vertex_attribute_default(locIndex: int, value: Any, attribType: int, count: int)

Set vertex attribute default value

pyray.rl_set_vertex_attribute_divisor(index: int, divisor: int)
pyray.rl_tex_coord2f(x: float, y: float)

Define one vertex (texture coordinate) - 2 float

pyray.rl_texture_parameters(id: int, param: int, value: int)

Set texture parameters (filter, wrap)

pyray.rl_translatef(x: float, y: float, z: float)

Multiply the current matrix by a translation matrix

pyray.rl_unload_framebuffer(id: int)

Delete framebuffer from GPU

pyray.rl_unload_render_batch(batch: rlRenderBatch)

Unload render batch system

pyray.rl_unload_shader_buffer(ssboId: int)

Unload shader storage buffer object (SSBO)

pyray.rl_unload_shader_program(id: int)

Unload shader program

pyray.rl_unload_texture(id: int)

Unload texture from GPU memory

pyray.rl_unload_vertex_array(vaoId: int)
pyray.rl_unload_vertex_buffer(vboId: int)
pyray.rl_update_shader_buffer(id: int, data: Any, dataSize: int, offset: int)

Update SSBO buffer data

pyray.rl_update_texture(id: int, offsetX: int, offsetY: int, width: int, height: int, format: int, data: Any)

Update GPU texture with new data

pyray.rl_update_vertex_buffer(bufferId: int, data: Any, dataSize: int, offset: int)

Update GPU buffer with new data

pyray.rl_update_vertex_buffer_elements(id: int, data: Any, dataSize: int, offset: int)

Update vertex buffer elements with new data

pyray.rl_vertex2f(x: float, y: float)

Define one vertex (position) - 2 float

pyray.rl_vertex2i(x: int, y: int)

Define one vertex (position) - 2 int

pyray.rl_vertex3f(x: float, y: float, z: float)

Define one vertex (position) - 3 float

pyray.rl_viewport(x: int, y: int, width: int, height: int)

Set the viewport area

pyray.rlgl_close()

De-initialize rlgl (buffers, shaders, textures)

pyray.rlgl_init(width: int, height: int)

Initialize rlgl (buffers, shaders, textures, states)

pyray.save_file_data(fileName: str, data: Any, dataSize: int)

Save data to file from byte array (write), returns true on success

pyray.save_file_text(fileName: str, text: str)

Save text data to file (write), string must be ‘' terminated, returns true on success

pyray.seek_music_stream(music: Music, position: float)

Seek music to a position (in seconds)

pyray.set_audio_stream_buffer_size_default(size: int)

Default size for new audio streams

pyray.set_audio_stream_callback(stream: AudioStream, callback: Any)

Audio thread callback to request new data

pyray.set_audio_stream_pan(stream: AudioStream, pan: float)

Set pan for audio stream (0.5 is centered)

pyray.set_audio_stream_pitch(stream: AudioStream, pitch: float)

Set pitch for audio stream (1.0 is base level)

pyray.set_audio_stream_volume(stream: AudioStream, volume: float)

Set volume for audio stream (1.0 is max level)

pyray.set_automation_event_base_frame(frame: int)

Set automation event internal base frame to start recording

pyray.set_automation_event_list(list_0: Any)

Set automation event list to record to

pyray.set_clipboard_text(text: str)

Set clipboard text content

pyray.set_config_flags(flags: int)

Setup init configuration flags (view FLAGS)

pyray.set_exit_key(key: int)

Set a custom key to exit program (default is ESC)

pyray.set_gamepad_mappings(mappings: str)

Set internal gamepad mappings (SDL_GameControllerDB)

pyray.set_gestures_enabled(flags: int)

Enable a set of gestures using flags

pyray.set_load_file_data_callback(callback: str)

Set custom file binary data loader

pyray.set_load_file_text_callback(callback: str)

Set custom file text data loader

pyray.set_master_volume(volume: float)

Set master volume (listener)

pyray.set_material_texture(material: Any, mapType: int, texture: Texture)

Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR…)

pyray.set_model_mesh_material(model: Any, meshId: int, materialId: int)

Set material for a mesh

pyray.set_mouse_cursor(cursor: int)

Set mouse cursor

pyray.set_mouse_offset(offsetX: int, offsetY: int)

Set mouse offset

pyray.set_mouse_position(x: int, y: int)

Set mouse position XY

pyray.set_mouse_scale(scaleX: float, scaleY: float)

Set mouse scaling

pyray.set_music_pan(music: Music, pan: float)

Set pan for a music (0.5 is center)

pyray.set_music_pitch(music: Music, pitch: float)

Set pitch for a music (1.0 is base level)

pyray.set_music_volume(music: Music, volume: float)

Set volume for music (1.0 is max level)

pyray.set_physics_body_rotation(body: Any, radians: float)

Sets physics body shape transform based on radians parameter

pyray.set_physics_gravity(x: float, y: float)

Sets physics global gravity force

pyray.set_physics_time_step(delta: float)

Sets physics fixed time step in milliseconds. 1.666666 by default

pyray.set_pixel_color(dstPtr: Any, color: Color, format: int)

Set color formatted into destination pixel pointer

pyray.set_random_seed(seed: int)

Set the seed for the random number generator

pyray.set_save_file_data_callback(callback: str)

Set custom file binary data saver

pyray.set_save_file_text_callback(callback: str)

Set custom file text data saver

pyray.set_shader_value(shader: Shader, locIndex: int, value: Any, uniformType: int)

Set shader uniform value

pyray.set_shader_value_matrix(shader: Shader, locIndex: int, mat: Matrix)

Set shader uniform value (matrix 4x4)

pyray.set_shader_value_texture(shader: Shader, locIndex: int, texture: Texture)

Set shader uniform value for texture (sampler2d)

pyray.set_shader_value_v(shader: Shader, locIndex: int, value: Any, uniformType: int, count: int)

Set shader uniform value vector

pyray.set_shapes_texture(texture: Texture, source: Rectangle)

Set texture and rectangle to be used on shapes drawing

pyray.set_sound_pan(sound: Sound, pan: float)

Set pan for a sound (0.5 is center)

pyray.set_sound_pitch(sound: Sound, pitch: float)

Set pitch for a sound (1.0 is base level)

pyray.set_sound_volume(sound: Sound, volume: float)

Set volume for a sound (1.0 is max level)

pyray.set_target_fps(fps: int)

Set target FPS (maximum)

pyray.set_text_line_spacing(spacing: int)

Set vertical line spacing when drawing with line-breaks

pyray.set_texture_filter(texture: Texture, filter: int)

Set texture scaling filter mode

pyray.set_texture_wrap(texture: Texture, wrap: int)

Set texture wrapping mode

pyray.set_trace_log_callback(callback: str)

Set custom trace log

pyray.set_trace_log_level(logLevel: int)

Set the current threshold (minimum) log level

pyray.set_window_focused()

Set window focused (only PLATFORM_DESKTOP)

pyray.set_window_icon(image: Image)

Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)

pyray.set_window_icons(images: Any, count: int)

Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)

pyray.set_window_max_size(width: int, height: int)

Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)

pyray.set_window_min_size(width: int, height: int)

Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)

pyray.set_window_monitor(monitor: int)

Set monitor for the current window

pyray.set_window_opacity(opacity: float)

Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)

pyray.set_window_position(x: int, y: int)

Set window position on screen (only PLATFORM_DESKTOP)

pyray.set_window_size(width: int, height: int)

Set window dimensions

pyray.set_window_state(flags: int)

Set window configuration state using flags (only PLATFORM_DESKTOP)

pyray.set_window_title(title: str)

Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)

pyray.show_cursor()

Shows cursor

pyray.start_automation_event_recording()

Start recording automation events (AutomationEventList must be set)

pyray.stop_audio_stream(stream: AudioStream)

Stop audio stream

pyray.stop_automation_event_recording()

Stop recording automation events

pyray.stop_music_stream(music: Music)

Stop music playing

pyray.stop_sound(sound: Sound)

Stop playing a sound

pyray.swap_screen_buffer()

Swap back buffer with front buffer (screen drawing)

pyray.take_screenshot(fileName: str)

Takes a screenshot of current screen (filename extension defines format)

pyray.text_append(text: str, append: str, position: Any)

Append text at specific position and move cursor!

pyray.text_copy(dst: str, src: str)

Copy one string to another, returns bytes copied

pyray.text_find_index(text: str, find: str)

Find first text occurrence within a string

pyray.text_format(*args)

VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI

pyray.text_insert(text: str, insert: str, position: int)

Insert text in a position (WARNING: memory must be freed!)

pyray.text_is_equal(text1: str, text2: str)

Check if two text string are equal

pyray.text_join(textList: str, count: int, delimiter: str)

Join text strings with delimiter

pyray.text_length(text: str)

Get text length, checks for ‘' ending

pyray.text_replace(text: str, replace: str, by: str)

Replace text string (WARNING: memory must be freed!)

pyray.text_split(text: str, delimiter: str, count: Any)

Split text into multiple strings

pyray.text_subtext(text: str, position: int, length: int)

Get a piece of a text string

pyray.text_to_integer(text: str)

Get integer value from text (negative values not supported)

pyray.text_to_lower(text: str)

Get lower case version of provided string

pyray.text_to_pascal(text: str)

Get Pascal case notation version of provided string

pyray.text_to_upper(text: str)

Get upper case version of provided string

pyray.toggle_borderless_windowed()

Toggle window state: borderless windowed (only PLATFORM_DESKTOP)

pyray.toggle_fullscreen()

Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)

pyray.trace_log(*args)

VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI

pyray.unload_audio_stream(stream: AudioStream)

Unload audio stream and free memory

pyray.unload_automation_event_list(list_0: Any)

Unload automation events list from file

pyray.unload_codepoints(codepoints: Any)

Unload codepoints data from memory

pyray.unload_directory_files(files: FilePathList)

Unload filepaths

pyray.unload_dropped_files(files: FilePathList)

Unload dropped filepaths

pyray.unload_file_data(data: str)

Unload file data allocated by LoadFileData()

pyray.unload_file_text(text: str)

Unload file text data allocated by LoadFileText()

pyray.unload_font(font: Font)

Unload font from GPU memory (VRAM)

pyray.unload_font_data(glyphs: Any, glyphCount: int)

Unload font chars info data (RAM)

pyray.unload_image(image: Image)

Unload image from CPU memory (RAM)

pyray.unload_image_colors(colors: Any)

Unload color data loaded with LoadImageColors()

pyray.unload_image_palette(colors: Any)

Unload colors palette loaded with LoadImagePalette()

pyray.unload_material(material: Material)

Unload material from GPU memory (VRAM)

pyray.unload_mesh(mesh: Mesh)

Unload mesh data from CPU and GPU

pyray.unload_model(model: Model)

Unload model (including meshes) from memory (RAM and/or VRAM)

pyray.unload_model_animation(anim: ModelAnimation)

Unload animation data

pyray.unload_model_animations(animations: Any, animCount: int)

Unload animation array data

pyray.unload_music_stream(music: Music)

Unload music stream

pyray.unload_random_sequence(sequence: Any)

Unload random values sequence

pyray.unload_render_texture(target: RenderTexture)

Unload render texture from GPU memory (VRAM)

pyray.unload_shader(shader: Shader)

Unload shader from GPU memory (VRAM)

pyray.unload_sound(sound: Sound)

Unload sound

pyray.unload_sound_alias(alias: Sound)

Unload a sound alias (does not deallocate sample data)

pyray.unload_texture(texture: Texture)

Unload texture from GPU memory (VRAM)

pyray.unload_utf8(text: str)

Unload UTF-8 text encoded from codepoints array

pyray.unload_vr_stereo_config(config: VrStereoConfig)

Unload VR stereo config

pyray.unload_wave(wave: Wave)

Unload wave data

pyray.unload_wave_samples(samples: Any)

Unload samples data loaded with LoadWaveSamples()

pyray.update_audio_stream(stream: AudioStream, data: Any, frameCount: int)

Update audio stream buffers with data

pyray.update_camera(camera: Any, mode: int)

Update camera position for selected mode

pyray.update_camera_pro(camera: Any, movement: Vector3, rotation: Vector3, zoom: float)

Update camera movement/rotation

pyray.update_mesh_buffer(mesh: Mesh, index: int, data: Any, dataSize: int, offset: int)

Update mesh vertex data in GPU for a specific buffer index

pyray.update_model_animation(model: Model, anim: ModelAnimation, frame: int)

Update model animation pose

pyray.update_music_stream(music: Music)

Updates buffers for music streaming

pyray.update_physics()

Update physics system

pyray.update_sound(sound: Sound, data: Any, sampleCount: int)

Update sound buffer with new data

pyray.update_texture(texture: Texture, pixels: Any)

Update GPU texture with new data

pyray.update_texture_rec(texture: Texture, rec: Rectangle, pixels: Any)

Update GPU texture rectangle with new data

pyray.upload_mesh(mesh: Any, dynamic: bool)

Upload mesh vertex data in GPU and provide VAO/VBO ids

pyray.vector2_add(v1: Vector2, v2: Vector2)
pyray.vector2_add_value(v: Vector2, add: float)
pyray.vector2_angle(v1: Vector2, v2: Vector2)
pyray.vector2_clamp(v: Vector2, min_1: Vector2, max_2: Vector2)
pyray.vector2_clamp_value(v: Vector2, min_1: float, max_2: float)
pyray.vector2_equals(p: Vector2, q: Vector2)
pyray.vector2_invert(v: Vector2)
pyray.vector2_length(v: Vector2)
pyray.vector2_length_sqr(v: Vector2)
pyray.vector2_lerp(v1: Vector2, v2: Vector2, amount: float)
pyray.vector2_line_angle(start: Vector2, end: Vector2)
pyray.vector2_move_towards(v: Vector2, target: Vector2, maxDistance: float)
pyray.vector2_multiply(v1: Vector2, v2: Vector2)
pyray.vector2_negate(v: Vector2)
pyray.vector2_normalize(v: Vector2)
pyray.vector2_one()
pyray.vector2_reflect(v: Vector2, normal: Vector2)
pyray.vector2_rotate(v: Vector2, angle: float)
pyray.vector2_scale(v: Vector2, scale: float)
pyray.vector2_subtract(v1: Vector2, v2: Vector2)
pyray.vector2_subtract_value(v: Vector2, sub: float)
pyray.vector2_transform(v: Vector2, mat: Matrix)
pyray.vector2_zero()
pyray.vector3_add(v1: Vector3, v2: Vector3)
pyray.vector3_add_value(v: Vector3, add: float)
pyray.vector3_angle(v1: Vector3, v2: Vector3)
pyray.vector3_barycenter(p: Vector3, a: Vector3, b: Vector3, c: Vector3)
pyray.vector3_clamp(v: Vector3, min_1: Vector3, max_2: Vector3)
pyray.vector3_clamp_value(v: Vector3, min_1: float, max_2: float)
pyray.vector3_cross_product(v1: Vector3, v2: Vector3)
pyray.vector3_equals(p: Vector3, q: Vector3)
pyray.vector3_invert(v: Vector3)
pyray.vector3_length(v: Vector3)
pyray.vector3_length_sqr(v: Vector3)
pyray.vector3_lerp(v1: Vector3, v2: Vector3, amount: float)
pyray.vector3_max(v1: Vector3, v2: Vector3)
pyray.vector3_min(v1: Vector3, v2: Vector3)
pyray.vector3_multiply(v1: Vector3, v2: Vector3)
pyray.vector3_negate(v: Vector3)
pyray.vector3_normalize(v: Vector3)
pyray.vector3_one()
pyray.vector3_ortho_normalize(v1: Any, v2: Any)
pyray.vector3_perpendicular(v: Vector3)
pyray.vector3_project(v1: Vector3, v2: Vector3)
pyray.vector3_reflect(v: Vector3, normal: Vector3)
pyray.vector3_refract(v: Vector3, n: Vector3, r: float)
pyray.vector3_reject(v1: Vector3, v2: Vector3)
pyray.vector3_rotate_by_axis_angle(v: Vector3, axis: Vector3, angle: float)
pyray.vector3_rotate_by_quaternion(v: Vector3, q: Vector4)
pyray.vector3_scale(v: Vector3, scalar: float)
pyray.vector3_subtract(v1: Vector3, v2: Vector3)
pyray.vector3_subtract_value(v: Vector3, sub: float)
pyray.vector3_to_float_v(v: Vector3)
pyray.vector3_transform(v: Vector3, mat: Matrix)
pyray.vector3_unproject(source: Vector3, projection: Matrix, view: Matrix)
pyray.vector3_zero()
pyray.vector_2distance(v1: Vector2, v2: Vector2)
pyray.vector_2distance_sqr(v1: Vector2, v2: Vector2)
pyray.vector_2divide(v1: Vector2, v2: Vector2)
pyray.vector_2dot_product(v1: Vector2, v2: Vector2)
pyray.vector_3distance(v1: Vector3, v2: Vector3)
pyray.vector_3distance_sqr(v1: Vector3, v2: Vector3)
pyray.vector_3divide(v1: Vector3, v2: Vector3)
pyray.vector_3dot_product(v1: Vector3, v2: Vector3)
pyray.wait_time(seconds: float)

Wait for some time (halt program execution)

pyray.wave_copy(wave: Wave)

Copy a wave to a new wave

pyray.wave_crop(wave: Any, initSample: int, finalSample: int)

Crop a wave to defined samples range

pyray.wave_format(wave: Any, sampleRate: int, sampleSize: int, channels: int)

Convert wave data to desired format

pyray.window_should_close()

Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)

pyray.wrap(value: float, min_1: float, max_2: float)