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.)
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.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_LINK = 174
- ICON_LINK_BOXES = 172
- ICON_LINK_BROKE = 175
- ICON_LINK_MULTI = 173
- ICON_LINK_NET = 171
- ICON_LOCK_CLOSE = 137
- ICON_LOCK_OPEN = 138
- ICON_MAGNET = 136
- ICON_MAILBOX = 180
- ICON_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.GuiTextWrapMode
Enum where members are also (and must be) ints
- TEXT_WRAP_CHAR = 1
- TEXT_WRAP_NONE = 0
- TEXT_WRAP_WORD = 2
- 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_scissor_mode(x: int, y: int, width: int, height: int)
Begin scissor mode (define screen area for following 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_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_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.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_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_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_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_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_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_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_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_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_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_wave_as_code(wave: Wave, fileName: str)
Export wave sample data to code (.h), returns true on success
- 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_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_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_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_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_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_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_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_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_check_box(bounds: Rectangle, text: str, checked: Any)
Check Box control, returns true when active
- 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_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_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_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_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_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_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_premultiply(image: Any)
Premultiply alpha channel
- pyray.image_blur_gaussian(image: Any, blurSize: int)
Apply Gaussian blur using a box blur approximation
- 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_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_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_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_ex(font: Font, text: str, fontSize: float, spacing: float, tint: Color)
Create an image from text (custom sprite font)
- 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
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_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_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_model_animation_valid(model: Model, anim: ModelAnimation)
Check model animation skeleton match
- 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_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_window_focused()
Check if window is currently focused (only PLATFORM_DESKTOP)
- pyray.is_window_fullscreen()
Check if window is currently fullscreen
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_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_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_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_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_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.matrix_frustum(left: float, right: float, bottom: float, top: float, near: float, far: float)
- pyray.matrix_identity()
- 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_x(angle: float)
- pyray.matrix_rotate_y(angle: float)
- pyray.matrix_rotate_z(angle: float)
- pyray.matrix_scale(x: float, y: float, z: float)
- pyray.matrix_translate(x: float, y: float, z: float)
- 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.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.pointer(struct)
- pyray.poll_input_events()
Register all input events
- pyray.quaternion_from_euler(pitch: float, yaw: float, roll: float)
- pyray.quaternion_identity()
- 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
- 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_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.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_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_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_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.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_data(glyphs: Any, glyphCount: int)
Unload font chars info data (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_model_animation(anim: ModelAnimation)
Unload animation data
- pyray.unload_model_animations(animations: Any, animCount: int)
Unload animation array data
- 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_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_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_physics()
Update physics system
- 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_one()
- pyray.vector2_zero()
- pyray.vector3_one()
- pyray.vector3_ortho_normalize(v1: Any, v2: Any)
- pyray.vector3_zero()
- pyray.wait_time(seconds: float)
Wait for some time (halt program execution)
- 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)