package vendor:raylib
Overview
Package vendor:raylib implements bindings for version 4.5 of the raylib library (https://www.raylib.com/)
********************************************************************************************* * * raylib v4.5 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com) * * FEATURES: * - NO external dependencies, all required libraries included with raylib * - Multiplatform: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, * MacOS, Haiku, Android, Raspberry Pi, DRM native, HTML5. * - Written in plain C code (C99) in PascalCase/camelCase notation * - Hardware accelerated with OpenGL (1.1, 2.1, 3.3, 4.3 or ES2 - choose at compile) * - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] * - Multiple Fonts formats supported (TTF, XNA fonts, AngelCode fonts) * - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC) * - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more! * - Flexible Materials system, supporting classic maps and PBR maps * - Animated 3D models supported (skeletal bones animation) (IQM) * - Shaders support, including Model shaders and Postprocessing shaders * - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] * - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) * - VR stereo rendering with configurable HMD device parameters * - Bindings to multiple programming languages available! * * NOTES: * - One default Font is loaded on InitWindow()->LoadFontDefault() [core, text] * - One default Texture2D is loaded on rlglInit(), 1x1 white pixel R8G8B8A8 [rlgl] (OpenGL 3.3 or ES2) * - One default Shader is loaded on rlglInit()->rlLoadShaderDefault() [rlgl] (OpenGL 3.3 or ES2) * - One default RenderBatch is loaded on rlglInit()->rlLoadRenderBatch() [rlgl] (OpenGL 3.3 or ES2) * * DEPENDENCIES (included): * [rcore] rglfw (Camilla Löwy - github.com/glfw/glfw) for window/context management and input (PLATFORM_DESKTOP) * [rlgl] glad (David Herberth - github.com/Dav1dde/glad) for OpenGL 3.3 extensions loading (PLATFORM_DESKTOP) * [raudio] miniaudio (David Reid - github.com/mackron/miniaudio) for audio device/context management * * OPTIONAL DEPENDENCIES (included): * [rcore] msf_gif (Miles Fogle) for GIF recording * [rcore] sinfl (Micha Mettke) for DEFLATE decompression algorithm * [rcore] sdefl (Micha Mettke) for DEFLATE compression algorithm * [rtextures] stb_image (Sean Barret) for images loading (BMP, TGA, PNG, JPEG, HDR...) * [rtextures] stb_image_write (Sean Barret) for image writing (BMP, TGA, PNG, JPG) * [rtextures] stb_image_resize (Sean Barret) for image resizing algorithms * [rtext] stb_truetype (Sean Barret) for ttf fonts loading * [rtext] stb_rect_pack (Sean Barret) for rectangles packing * [rmodels] par_shapes (Philip Rideout) for parametric 3d shapes generation * [rmodels] tinyobj_loader_c (Syoyo Fujita) for models loading (OBJ, MTL) * [rmodels] cgltf (Johannes Kuhlmann) for models loading (glTF) * [rmodels] Model3D (bzt) for models loading (M3D, https://bztsrc.gitlab.io/model3d) * [raudio] dr_wav (David Reid) for WAV audio file loading * [raudio] dr_flac (David Reid) for FLAC audio file loading * [raudio] dr_mp3 (David Reid) for MP3 audio file loading * [raudio] stb_vorbis (Sean Barret) for OGG audio loading * [raudio] jar_xm (Joshua Reisenauer) for XM audio module loading * [raudio] jar_mod (Joshua Reisenauer) for MOD audio module loading * * * LICENSE: zlib/libpng * * raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * * Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, including commercial * applications, and to alter it and redistribute it freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not claim that you * wrote the original software. If you use this software in a product, an acknowledgment * in the product documentation would be appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be misrepresented * as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * *********************************************************************************************
Index
Types (74)
- AudioCallback
- AudioStream
- BlendMode
- BoneInfo
- BoundingBox
- Camera
- Camera2D
- Camera3D
- CameraMode
- CameraProjection
- Color
- ConfigFlag
- ConfigFlags
- CubemapLayout
- CullMode
- DrawCall
- FilePathList
- Font
- FontType
- FramebufferAttachTextureType
- FramebufferAttachType
- GamepadAxis
- GamepadButton
- Gesture
- Gestures
- GlVersion
- GlyphInfo
- Image
- KeyboardKey
- LoadFileDataCallback
- LoadFileTextCallback
- Material
- MaterialMap
- MaterialMapIndex
- Matrix
- Mesh
- Model
- ModelAnimation
- MouseButton
- MouseCursor
- Music
- NPatchInfo
- NPatchLayout
- PixelFormat
- Quaternion
- Ray
- RayCollision
- Rectangle
- RenderBatch
- RenderTexture
- RenderTexture2D
- SaveFileDataCallback
- SaveFileTextCallback
- Shader
- ShaderAttributeDataType
- ShaderLocationIndex
- ShaderUniformDataType
- Sound
- Texture
- Texture2D
- TextureCubemap
- TextureFilter
- TextureWrap
- TraceLogCallback
- TraceLogLevel
- Transform
- Vector2
- Vector3
- Vector4
- VertexBuffer
- VertexBufferIndexType
- VrDeviceInfo
- VrStereoConfig
- Wave
Constants (109)
- BEIGE
- BLACK
- BLANK
- BLUE
- BROWN
- DARKBLUE
- DARKBROWN
- DARKGRAY
- DARKGREEN
- DARKPURPLE
- DEG2RAD
- GOLD
- GRAY
- GREEN
- LIGHTGRAY
- LIME
- MAGENTA
- MAROON
- MAX_TEXTFORMAT_BUFFERS
- MAX_TEXT_BUFFER_LENGTH
- ORANGE
- PI
- PINK
- PURPLE
- RAD2DEG
- RAYWHITE
- RED
- RL_BLEND_COLOR
- RL_BLEND_DST_ALPHA
- RL_BLEND_DST_RGB
- RL_BLEND_EQUATION
- RL_BLEND_EQUATION_ALPHA
- RL_BLEND_EQUATION_RGB
- RL_BLEND_SRC_ALPHA
- RL_BLEND_SRC_RGB
- RL_COMPUTE_SHADER
- RL_CONSTANT_ALPHA
- RL_CONSTANT_COLOR
- RL_CULL_DISTANCE_FAR
- RL_CULL_DISTANCE_NEAR
- RL_DEFAULT_BATCH_BUFFERS
- RL_DEFAULT_BATCH_BUFFER_ELEMENTS
- RL_DEFAULT_BATCH_DRAWCALLS
- RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS
- RL_DST_ALPHA
- RL_DST_COLOR
- RL_DYNAMIC_COPY
- RL_DYNAMIC_DRAW
- RL_DYNAMIC_READ
- RL_FLOAT
- RL_FRAGMENT_SHADER
- RL_FUNC_ADD
- RL_FUNC_REVERSE_SUBTRACT
- RL_FUNC_SUBTRACT
- RL_GRAPHICS_API_OPENGL_11
- RL_GRAPHICS_API_OPENGL_21
- RL_GRAPHICS_API_OPENGL_33
- RL_GRAPHICS_API_OPENGL_43
- RL_GRAPHICS_API_OPENGL_ES2
- RL_LINES
- RL_MAX
- RL_MAX_MATRIX_STACK_SIZE
- RL_MAX_SHADER_LOCATIONS
- RL_MIN
- RL_MODELVIEW
- RL_ONE
- RL_ONE_MINUS_CONSTANT_ALPHA
- RL_ONE_MINUS_CONSTANT_COLOR
- RL_ONE_MINUS_DST_ALPHA
- RL_ONE_MINUS_DST_COLOR
- RL_ONE_MINUS_SRC_ALPHA
- RL_ONE_MINUS_SRC_COLOR
- RL_PROJECTION
- RL_QUADS
- RL_SRC_ALPHA
- RL_SRC_ALPHA_SATURATE
- RL_SRC_COLOR
- RL_STATIC_COPY
- RL_STATIC_DRAW
- RL_STATIC_READ
- RL_STREAM_COPY
- RL_STREAM_DRAW
- RL_STREAM_READ
- RL_TEXTURE
- RL_TEXTURE_FILTER_ANISOTROPIC
- RL_TEXTURE_FILTER_LINEAR
- RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST
- RL_TEXTURE_FILTER_MIP_LINEAR
- RL_TEXTURE_FILTER_MIP_NEAREST
- RL_TEXTURE_FILTER_NEAREST
- RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR
- RL_TEXTURE_MAG_FILTER
- RL_TEXTURE_MIN_FILTER
- RL_TEXTURE_WRAP_CLAMP
- RL_TEXTURE_WRAP_MIRROR_CLAMP
- RL_TEXTURE_WRAP_MIRROR_REPEAT
- RL_TEXTURE_WRAP_REPEAT
- RL_TEXTURE_WRAP_S
- RL_TEXTURE_WRAP_T
- RL_TRIANGLES
- RL_UNSIGNED_BYTE
- RL_VERTEX_SHADER
- RL_ZERO
- SKYBLUE
- USE_LINALG
- VERSION
- VIOLET
- WHITE
- YELLOW
Variables (0)
This section is empty.
Procedures (692)
- AttachAudioMixedProcessor
- AttachAudioStreamProcessor
- BeginBlendMode
- BeginDrawing
- BeginMode2D
- BeginMode3D
- BeginScissorMode
- BeginShaderMode
- BeginTextureMode
- BeginVrStereoMode
- ChangeDirectory
- CheckCollisionBoxSphere
- CheckCollisionBoxes
- CheckCollisionCircleRec
- CheckCollisionCircles
- CheckCollisionLines
- CheckCollisionPointCircle
- CheckCollisionPointLine
- CheckCollisionPointPoly
- CheckCollisionPointRec
- CheckCollisionPointTriangle
- CheckCollisionRecs
- CheckCollisionSpheres
- ClearBackground
- ClearWindowState
- CloseAudioDevice
- CloseWindow
- CodepointToUTF8
- ColorAlpha
- ColorAlphaBlend
- ColorBrightness
- ColorContrast
- ColorFromHSV
- ColorFromNormalized
- ColorNormalize
- ColorTint
- ColorToHSV
- ColorToInt
- CompressData
- DecodeDataBase64
- DecompressData
- DetachAudioMixedProcessor
- DetachAudioStreamProcessor
- DirectoryExists
- DisableCursor
- DisableEventWaiting
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawBoundingBox
- DrawCapsule
- DrawCapsuleWires
- DrawCircle
- DrawCircle3D
- DrawCircleGradient
- DrawCircleLines
- DrawCircleSector
- DrawCircleSectorLines
- DrawCircleV
- DrawCube
- DrawCubeV
- DrawCubeWires
- DrawCubeWiresV
- DrawCylinder
- DrawCylinderEx
- DrawCylinderWires
- DrawCylinderWiresEx
- DrawEllipse
- DrawEllipseLines
- DrawFPS
- DrawGrid
- DrawLine
- DrawLine3D
- DrawLineBezier
- DrawLineBezierCubic
- DrawLineBezierQuad
- DrawLineEx
- DrawLineStrip
- DrawLineV
- DrawMesh
- DrawMeshInstanced
- DrawModel
- DrawModelEx
- DrawModelWires
- DrawModelWiresEx
- DrawPixel
- DrawPixelV
- DrawPlane
- DrawPoint3D
- DrawPoly
- DrawPolyLines
- DrawPolyLinesEx
- DrawRay
- DrawRectangle
- DrawRectangleGradientEx
- DrawRectangleGradientH
- DrawRectangleGradientV
- DrawRectangleLines
- DrawRectangleLinesEx
- DrawRectanglePro
- DrawRectangleRec
- DrawRectangleRounded
- DrawRectangleRoundedLines
- DrawRectangleV
- DrawRing
- DrawRingLines
- DrawSphere
- DrawSphereEx
- DrawSphereWires
- DrawText
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- DrawTriangle
- DrawTriangle3D
- DrawTriangleFan
- DrawTriangleLines
- DrawTriangleStrip
- DrawTriangleStrip3D
- EaseBackIn
- EaseBackInOut
- EaseBackOut
- EaseBounceIn
- EaseBounceInOut
- EaseBounceOut
- EaseCircIn
- EaseCircInOut
- EaseCircOut
- EaseCubicIn
- EaseCubicInOut
- EaseCubicOut
- EaseElasticIn
- EaseElasticInOut
- EaseElasticOut
- EaseExpoIn
- EaseExpoInOut
- EaseExpoOut
- EaseLinearIn
- EaseLinearInOut
- EaseLinearNone
- EaseLinearOut
- EaseQuadIn
- EaseQuadInOut
- EaseQuadOut
- EaseSineIn
- EaseSineInOut
- EaseSineOut
- EnableCursor
- EnableEventWaiting
- EncodeDataBase64
- EndBlendMode
- EndDrawing
- EndMode2D
- EndMode3D
- EndScissorMode
- EndShaderMode
- EndTextureMode
- EndVrStereoMode
- ExportDataAsCode
- ExportFontAsCode
- ExportImage
- ExportImageAsCode
- ExportMesh
- ExportWave
- ExportWaveAsCode
- Fade
- FileExists
- GenImageCellular
- GenImageChecked
- GenImageColor
- GenImageFontAtlas
- GenImageGradientH
- GenImageGradientRadial
- GenImageGradientV
- GenImagePerlinNoise
- GenImageText
- GenImageWhiteNoise
- GenMeshCone
- GenMeshCube
- GenMeshCubicmap
- GenMeshCylinder
- GenMeshHeightmap
- GenMeshHemiSphere
- GenMeshKnot
- GenMeshPlane
- GenMeshPoly
- GenMeshSphere
- GenMeshTangents
- GenMeshTorus
- GenTextureMipmaps
- GetApplicationDirectory
- GetCameraMatrix
- GetCameraMatrix2D
- GetCharPressed
- GetClipboardText
- GetCodepoint
- GetCodepointCount
- GetCodepointNext
- GetCodepointPrevious
- GetCollisionRec
- GetColor
- GetCurrentMonitor
- GetDirectoryPath
- GetFPS
- GetFileExtension
- GetFileLength
- GetFileModTime
- GetFileName
- GetFileNameWithoutExt
- GetFontDefault
- GetFrameTime
- GetGamepadAxisCount
- GetGamepadAxisMovement
- GetGamepadButtonPressed
- GetGamepadName
- GetGestureDetected
- GetGestureDragAngle
- GetGestureDragVector
- GetGestureHoldDuration
- GetGesturePinchAngle
- GetGesturePinchVector
- GetGlyphAtlasRec
- GetGlyphIndex
- GetGlyphInfo
- GetImageAlphaBorder
- GetImageColor
- GetKeyPressed
- GetMeshBoundingBox
- GetModelBoundingBox
- GetMonitorCount
- GetMonitorHeight
- GetMonitorName
- GetMonitorPhysicalHeight
- GetMonitorPhysicalWidth
- GetMonitorPosition
- GetMonitorRefreshRate
- GetMonitorWidth
- GetMouseDelta
- GetMousePosition
- GetMouseRay
- GetMouseWheelMove
- GetMouseWheelMoveV
- GetMouseX
- GetMouseY
- GetMusicTimeLength
- GetMusicTimePlayed
- GetPixelColor
- GetPixelDataSize
- GetPrevDirectoryPath
- GetRandomValue
- GetRayCollisionBox
- GetRayCollisionMesh
- GetRayCollisionQuad
- GetRayCollisionSphere
- GetRayCollisionTriangle
- GetRenderHeight
- GetRenderWidth
- GetScreenHeight
- GetScreenToWorld2D
- GetScreenWidth
- GetShaderLocation
- GetShaderLocationAttrib
- GetTime
- GetTouchPointCount
- GetTouchPointId
- GetTouchPosition
- GetTouchX
- GetTouchY
- GetWindowHandle
- GetWindowPosition
- GetWindowScaleDPI
- GetWorkingDirectory
- GetWorldToScreen
- GetWorldToScreen2D
- GetWorldToScreenEx
- HideCursor
- ImageAlphaClear
- ImageAlphaCrop
- ImageAlphaMask
- ImageAlphaPremultiply
- ImageBlurGaussian
- ImageClearBackground
- ImageColorBrightness
- ImageColorContrast
- ImageColorGrayscale
- ImageColorInvert
- ImageColorReplace
- ImageColorTint
- ImageCopy
- ImageCrop
- ImageDither
- ImageDraw
- ImageDrawCircle
- ImageDrawCircleLines
- ImageDrawCircleLinesV
- ImageDrawCircleV
- ImageDrawLine
- ImageDrawLineV
- ImageDrawPixel
- ImageDrawPixelV
- ImageDrawRectangle
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageDrawRectangleV
- ImageDrawText
- ImageDrawTextEx
- ImageFlipHorizontal
- ImageFlipVertical
- ImageFormat
- ImageFromImage
- ImageMipmaps
- ImageResize
- ImageResizeCanvas
- ImageResizeNN
- ImageRotateCCW
- ImageRotateCW
- ImageText
- ImageTextEx
- ImageToPOT
- InitAudioDevice
- InitWindow
- IsAudioDeviceReady
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- IsCursorHidden
- IsCursorOnScreen
- IsFileDropped
- IsFileExtension
- IsFontReady
- IsGamepadAvailable
- IsGamepadButtonDown
- IsGamepadButtonPressed
- IsGamepadButtonReleased
- IsGamepadButtonUp
- IsGestureDetected
- IsImageReady
- IsKeyDown
- IsKeyPressed
- IsKeyReleased
- IsKeyUp
- IsMaterialReady
- IsModelAnimationValid
- IsModelReady
- IsMouseButtonDown
- IsMouseButtonPressed
- IsMouseButtonReleased
- IsMouseButtonUp
- IsMusicReady
- IsMusicStreamPlaying
- IsPathFile
- IsRenderTextureReady
- IsShaderReady
- IsSoundPlaying
- IsSoundReady
- IsTextureReady
- IsWaveReady
- IsWindowFocused
- IsWindowFullscreen
- IsWindowHidden
- IsWindowMaximized
- IsWindowMinimized
- IsWindowReady
- IsWindowResized
- IsWindowState
- LoadAudioStream
- LoadCodepoints
- LoadDirectoryFiles
- LoadDirectoryFilesEx
- LoadDroppedFiles
- LoadFileData
- LoadFileText
- LoadFont
- LoadFontData
- LoadFontEx
- LoadFontFromImage
- LoadFontFromMemory
- LoadImage
- LoadImageAnim
- LoadImageColors
- LoadImageFromMemory
- LoadImageFromScreen
- LoadImageFromTexture
- LoadImagePalette
- LoadImageRaw
- LoadMaterialDefault
- LoadMaterials
- LoadModel
- LoadModelAnimations
- LoadModelFromMesh
- LoadMusicStream
- LoadMusicStreamFromMemory
- LoadRenderTexture
- LoadShader
- LoadShaderFromMemory
- LoadSound
- LoadSoundFromWave
- LoadTexture
- LoadTextureCubemap
- LoadTextureFromImage
- LoadUTF8
- LoadVrStereoConfig
- LoadWave
- LoadWaveFromMemory
- LoadWaveSamples
- MaximizeWindow
- MeasureText
- MeasureTextEx
- MemAlloc
- MemAllocator
- MemAllocatorProc
- MemFree
- MemRealloc
- MinimizeWindow
- OpenURL
- PauseAudioStream
- PauseMusicStream
- PauseSound
- PlayAudioStream
- PlayMusicStream
- PlaySound
- PollInputEvents
- RestoreWindow
- ResumeAudioStream
- ResumeMusicStream
- ResumeSound
- SaveFileData
- SaveFileText
- SeekMusicStream
- SetAudioStreamBufferSizeDefault
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- SetClipboardText
- SetConfigFlags
- SetExitKey
- SetGamepadMappings
- SetGesturesEnabled
- SetLoadFileDataCallback
- SetLoadFileTextCallback
- SetMasterVolume
- SetMaterialTexture
- SetModelMeshMaterial
- SetMouseCursor
- SetMouseOffset
- SetMousePosition
- SetMouseScale
- SetMusicPan
- SetMusicPitch
- SetMusicVolume
- SetPixelColor
- SetRandomSeed
- SetSaveFileDataCallback
- SetSaveFileTextCallback
- SetShaderValue
- SetShaderValueMatrix
- SetShaderValueTexture
- SetShaderValueV
- SetShapesTexture
- SetSoundPan
- SetSoundPitch
- SetSoundVolume
- SetTargetFPS
- SetTextureFilter
- SetTextureWrap
- SetTraceLogCallback
- SetTraceLogLevel
- SetWindowIcon
- SetWindowIcons
- SetWindowMinSize
- SetWindowMonitor
- SetWindowOpacity
- SetWindowPosition
- SetWindowSize
- SetWindowState
- SetWindowTitle
- ShowCursor
- StopAudioStream
- StopMusicStream
- StopSound
- SwapScreenBuffer
- TakeScreenshot
- TextAppend
- TextCopy
- TextFindIndex
- TextFormat
- TextFormatAlloc
- TextInsert
- TextIsEqual
- TextJoin
- TextLength
- TextReplace
- TextSplit
- TextSubtext
- TextToInteger
- TextToLower
- TextToPascal
- TextToUpper
- ToggleFullscreen
- TraceLog
- UnloadAudioStream
- UnloadCodepoints
- UnloadDirectoryFiles
- UnloadDroppedFiles
- UnloadFileData
- UnloadFileText
- UnloadFont
- UnloadFontData
- UnloadImage
- UnloadImageColors
- UnloadImagePalette
- UnloadMaterial
- UnloadMesh
- UnloadModel
- UnloadModelAnimation
- UnloadModelAnimations
- UnloadMusicStream
- UnloadRenderTexture
- UnloadShader
- UnloadSound
- UnloadTexture
- UnloadUTF8
- UnloadVrStereoConfig
- UnloadWave
- UnloadWaveSamples
- UpdateAudioStream
- UpdateCamera
- UpdateCameraPro
- UpdateMeshBuffer
- UpdateModelAnimation
- UpdateMusicStream
- UpdateSound
- UpdateTexture
- UpdateTextureRec
- UploadMesh
- WaitTime
- WaveCopy
- WaveCrop
- WaveFormat
- WindowShouldClose
- rlActiveDrawBuffers
- rlActiveTextureSlot
- rlBegin
- rlBindImageTexture
- rlBindShaderBuffer
- rlCheckErrors
- rlCheckRenderBatchLimit
- rlClearColor
- rlClearScreenBuffers
- rlColor3f
- rlColor4f
- rlColor4ub
- rlCompileShader
- rlComputeShaderDispatch
- rlCopyShaderBuffer
- rlCubemapParameters
- rlDisableBackfaceCulling
- rlDisableColorBlend
- rlDisableDepthMask
- rlDisableDepthTest
- rlDisableFramebuffer
- rlDisableScissorTest
- rlDisableShader
- rlDisableSmoothLines
- rlDisableStereoRender
- rlDisableTexture
- rlDisableTextureCubemap
- rlDisableVertexArray
- rlDisableVertexAttribute
- rlDisableVertexBuffer
- rlDisableVertexBufferElement
- rlDisableWireMode
- rlDrawRenderBatch
- rlDrawRenderBatchActive
- rlDrawVertexArray
- rlDrawVertexArrayElements
- rlDrawVertexArrayElementsInstanced
- rlDrawVertexArrayInstanced
- rlEnableBackfaceCulling
- rlEnableDepthMask
- rlEnableDepthTest
- rlEnableFramebuffer
- rlEnableScissorTest
- rlEnableShader
- rlEnableSmoothLines
- rlEnableStereoRender
- rlEnableTexture
- rlEnableTextureCubemap
- rlEnableVertexArray
- rlEnableVertexAttribute
- rlEnableVertexBuffer
- rlEnableVertexBufferElement
- rlEnableWireMode
- rlEnd
- rlFramebufferAttach
- rlFramebufferComplete
- rlFrustum
- rlGenTextureMipmaps
- rlGetFramebufferHeight
- rlGetFramebufferWidth
- rlGetGlTextureFormats
- rlGetLineWidth
- rlGetLocationAttrib
- rlGetLocationUniform
- rlGetMatrixModelview
- rlGetMatrixProjection
- rlGetMatrixProjectionStereo
- rlGetMatrixTransform
- rlGetMatrixViewOffsetStereo
- rlGetPixelFormatName
- rlGetShaderBufferSize
- rlGetShaderIdDefault
- rlGetShaderLocsDefault
- rlGetTextureIdDefault
- rlGetVersion
- rlIsStereoRenderEnabled
- rlLoadComputeShaderProgram
- rlLoadDrawCube
- rlLoadDrawQuad
- rlLoadExtensions
- rlLoadFramebuffer
- rlLoadIdentity
- rlLoadRenderBatch
- rlLoadShaderBuffer
- rlLoadShaderCode
- rlLoadShaderProgram
- rlLoadTexture
- rlLoadTextureCubemap
- rlLoadTextureDepth
- rlLoadVertexArray
- rlLoadVertexBuffer
- rlLoadVertexBufferElement
- rlMatrixMode
- rlMultMatrixf
- rlNormal3f
- rlOrtho
- rlPopMatrix
- rlPushMatrix
- rlReadScreenPixels
- rlReadShaderBuffer
- rlReadTexturePixels
- rlRotatef
- rlScalef
- rlScissor
- rlSetBlendFactors
- rlSetBlendFactorsSeparate
- rlSetBlendMode
- rlSetCullFace
- rlSetFramebufferHeight
- rlSetFramebufferWidth
- rlSetLineWidth
- rlSetMatrixModelview
- rlSetMatrixProjection
- rlSetMatrixProjectionStereo
- rlSetMatrixViewOffsetStereo
- rlSetRenderBatchActive
- rlSetShader
- rlSetTexture
- rlSetUniform
- rlSetUniformMatrix
- rlSetUniformSampler
- rlSetVertexAttribute
- rlSetVertexAttributeDefault
- rlSetVertexAttributeDivisor
- rlTexCoord2f
- rlTextureParameters
- rlTranslatef
- rlUnloadFramebuffer
- rlUnloadRenderBatch
- rlUnloadShaderBuffer
- rlUnloadShaderProgram
- rlUnloadTexture
- rlUnloadVertexArray
- rlUnloadVertexBuffer
- rlUpdateShaderBuffer
- rlUpdateTexture
- rlUpdateVertexBuffer
- rlUpdateVertexBufferElements
- rlVertex2f
- rlVertex2i
- rlVertex3f
- rlViewport
- rlglClose
- rlglInit
Procedure Groups (0)
This section is empty.
Types
AudioCallback ¶
AudioCallback :: proc "cdecl" (bufferData: rawptr, frames: u32)
AudioStream ¶
AudioStream :: struct { buffer: rawptr, // Pointer to internal data used by the audio system processor: rawptr, // Pointer to internal data processor, useful for audio effects sampleRate: u32, // Frequency (samples per second) sampleSize: u32, // Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels: u32, }
Audio stream type NOTE: Actual structs are defined internally in raudio module
BlendMode ¶
BlendMode :: enum i32 { ALPHA = 0, // Blend textures considering alpha (default) ADDITIVE, // Blend textures adding colors MULTIPLIED, // Blend textures multiplying colors ADD_COLORS, // Blend textures adding colors (alternative) SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) ALPHA_PREMULTIPLY, // Blend premultiplied textures considering alpha CUSTOM, // Blend textures using custom src/dst factors (use rlSetBlendFactors()) CUSTOM_SEPARATE, // Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate()) }
Color blending modes (pre-defined)
BoneInfo ¶
BoneInfo :: struct { name: [32]u8 "fmt:\"s,0\"", // Bone name parent: i32, }
Bone information
BoundingBox ¶
BoundingBox :: struct { min: linalg.Vector3f32, // Minimum vertex box-corner max: linalg.Vector3f32, }
Bounding box type
Camera2D ¶
Camera2D :: struct { offset: linalg.Vector2f32, // Camera offset (displacement from target) target: linalg.Vector2f32, // Camera target (rotation and zoom origin) rotation: f32, // Camera rotation in degrees zoom: f32, }
Camera2D type, defines a 2d camera
Camera3D ¶
Camera3D :: struct { position: linalg.Vector3f32, // Camera position target: linalg.Vector3f32, // Camera target it looks-at up: linalg.Vector3f32, // Camera up vector (rotation over its axis) fovy: f32, // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic projection: CameraProjection, }
Camera type, defines a camera position/orientation in 3d space
CameraMode ¶
CameraMode :: enum i32 { CUSTOM = 0, // Custom camera FREE, // Free camera ORBITAL, // Orbital camera FIRST_PERSON, // First person camera THIRD_PERSON, // Third person camera }
Camera system modes
CameraProjection ¶
CameraProjection :: enum i32 { PERSPECTIVE = 0, // Perspective projection ORTHOGRAPHIC, // Orthographic projection }
Camera projection
ConfigFlag ¶
ConfigFlag :: enum i32 { VSYNC_HINT = 6, // Set to try enabling V-Sync on GPU FULLSCREEN_MODE = 1, // Set to run program in fullscreen WINDOW_RESIZABLE = 2, // Set to allow resizable window WINDOW_UNDECORATED = 3, // Set to disable window decoration (frame and buttons) WINDOW_HIDDEN = 7, // Set to hide window WINDOW_MINIMIZED = 9, // Set to minimize window (iconify) WINDOW_MAXIMIZED = 10, // Set to maximize window (expanded to monitor) WINDOW_UNFOCUSED = 11, // Set to window non focused WINDOW_TOPMOST = 12, // Set to window always on top WINDOW_ALWAYS_RUN = 8, // Set to allow windows running while minimized WINDOW_TRANSPARENT = 4, // Set to allow transparent framebuffer WINDOW_HIGHDPI = 13, // Set to support HighDPI WINDOW_MOUSE_PASSTHROUGH = 14, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED MSAA_4X_HINT = 5, // Set to try enabling MSAA 4X INTERLACED_HINT = 16, // Set to try enabling interlaced video format (for V3D) }
---------------------------------------------------------------------------------- Enumerators Definition ---------------------------------------------------------------------------------- System/Window config flags NOTE: Every bit registers one state (use it with bit masks) By default all flags are set to 0
ConfigFlags ¶
ConfigFlags :: distinct bit_set[ConfigFlag; i32]
CubemapLayout ¶
CubemapLayout :: enum i32 { AUTO_DETECT = 0, // Automatically detect layout type LINE_VERTICAL, // Layout is defined by a vertical line with faces LINE_HORIZONTAL, // Layout is defined by an horizontal line with faces CROSS_THREE_BY_FOUR, // Layout is defined by a 3x4 cross with cubemap faces CROSS_FOUR_BY_THREE, // Layout is defined by a 4x3 cross with cubemap faces PANORAMA, // Layout is defined by a panorama image (equirectangular map) }
Cubemap layouts
CullMode ¶
CullMode :: enum i32 { FRONT = 0, BACK, }
DrawCall ¶
DrawCall :: struct { mode: i32, // Drawing mode: LINES, TRIANGLES, QUADS vertexCount: i32, // Number of vertex of the draw vertexAlignment: i32, // Number of vertex required for index alignment (LINES, TRIANGLES) textureId: u32, }
Draw call type NOTE: Only texture changes register a new draw, other state-change-related elements are not used at this moment (vaoId, shaderId, matrices), raylib just forces a batch draw call if any of those state-change happens (this is done in core module)
FilePathList ¶
FilePathList :: struct { capacity: u32, // Filepaths max entries count: u32, // Filepaths entries count paths: [^]cstring, }
File path list
Font ¶
Font :: struct { baseSize: i32, // Base size (default chars height) charsCount: i32, // Number of characters charsPadding: i32, // Padding around the chars texture: Texture, // Characters texture atlas recs: [^]Rectangle, // Characters rectangles in texture chars: [^]GlyphInfo, }
Font type, includes texture and charSet array data
FontType ¶
FontType :: enum i32 { DEFAULT = 0, // Default font generation, anti-aliased BITMAP, // Bitmap font generation, no anti-aliasing SDF, // SDF font generation, requires external shader }
Font type, defines generation method
FramebufferAttachTextureType ¶
FramebufferAttachTextureType :: enum i32 { CUBEMAP_POSITIVE_X = 0, // Framebuffer texture attachment type: cubemap, +X side CUBEMAP_NEGATIVE_X, // Framebuffer texture attachment type: cubemap, -X side CUBEMAP_POSITIVE_Y, // Framebuffer texture attachment type: cubemap, +Y side CUBEMAP_NEGATIVE_Y, // Framebuffer texture attachment type: cubemap, -Y side CUBEMAP_POSITIVE_Z, // Framebuffer texture attachment type: cubemap, +Z side CUBEMAP_NEGATIVE_Z, // Framebuffer texture attachment type: cubemap, -Z side TEXTURE2D = 100, // Framebuffer texture attachment type: texture2d RENDERBUFFER = 200, // Framebuffer texture attachment type: renderbuffer }
Framebuffer texture attachment type
FramebufferAttachType ¶
FramebufferAttachType :: enum i32 { COLOR_CHANNEL0 = 0, // Framebuffer attachment type: color 0 COLOR_CHANNEL1, // Framebuffer attachment type: color 1 COLOR_CHANNEL2, // Framebuffer attachment type: color 2 COLOR_CHANNEL3, // Framebuffer attachment type: color 3 COLOR_CHANNEL4, // Framebuffer attachment type: color 4 COLOR_CHANNEL5, // Framebuffer attachment type: color 5 COLOR_CHANNEL6, // Framebuffer attachment type: color 6 COLOR_CHANNEL7, // Framebuffer attachment type: color 7 DEPTH = 100, // Framebuffer attachment type: depth STENCIL = 200, // Framebuffer attachment type: stencil }
Framebuffer attachment type NOTE: By default up to 8 color channels defined, but it can be more
GamepadAxis ¶
GamepadAxis :: enum i32 { LEFT_X = 0, // Gamepad left stick X axis LEFT_Y = 1, // Gamepad left stick Y axis RIGHT_X = 2, // Gamepad right stick X axis RIGHT_Y = 3, // Gamepad right stick Y axis LEFT_TRIGGER = 4, // Gamepad back trigger left, pressure level: [1..-1] RIGHT_TRIGGER = 5, // Gamepad back trigger right, pressure level: [1..-1] }
Gamepad axis
GamepadButton ¶
GamepadButton :: enum i32 { UNKNOWN = 0, // Unknown button, just for error checking LEFT_FACE_UP, // Gamepad left DPAD up button LEFT_FACE_RIGHT, // Gamepad left DPAD right button LEFT_FACE_DOWN, // Gamepad left DPAD down button LEFT_FACE_LEFT, // Gamepad left DPAD left button RIGHT_FACE_UP, // Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) RIGHT_FACE_RIGHT, // Gamepad right button right (i.e. PS3: Square, Xbox: X) RIGHT_FACE_DOWN, // Gamepad right button down (i.e. PS3: Cross, Xbox: A) RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Circle, Xbox: B) LEFT_TRIGGER_1, // Gamepad top/back trigger left (first), it could be a trailing button LEFT_TRIGGER_2, // Gamepad top/back trigger left (second), it could be a trailing button RIGHT_TRIGGER_1, // Gamepad top/back trigger right (one), it could be a trailing button RIGHT_TRIGGER_2, // Gamepad top/back trigger right (second), it could be a trailing button MIDDLE_LEFT, // Gamepad center buttons, left one (i.e. PS3: Select) MIDDLE, // Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) MIDDLE_RIGHT, // Gamepad center buttons, right one (i.e. PS3: Start) LEFT_THUMB, // Gamepad joystick pressed button left RIGHT_THUMB, // Gamepad joystick pressed button right }
Gamepad buttons
Gesture ¶
Gesture :: enum i32 { TAP = 0, // Tap gesture DOUBLETAP = 1, // Double tap gesture HOLD = 2, // Hold gesture DRAG = 3, // Drag gesture SWIPE_RIGHT = 4, // Swipe right gesture SWIPE_LEFT = 5, // Swipe left gesture SWIPE_UP = 6, // Swipe up gesture SWIPE_DOWN = 7, // Swipe down gesture PINCH_IN = 8, // Pinch in gesture PINCH_OUT = 9, // Pinch out gesture }
Gestures NOTE: It could be used as flags to enable only some gestures
Gestures ¶
Gestures :: distinct bit_set[Gesture; i32]
GlVersion ¶
GlVersion :: enum i32 { OPENGL_11 = 1, // OpenGL 1.1 OPENGL_21, // OpenGL 2.1 (GLSL 120) OPENGL_33, // OpenGL 3.3 (GLSL 330) OPENGL_43, // OpenGL 4.3 (using GLSL 330) OPENGL_ES_20, // OpenGL ES 2.0 (GLSL 100) }
OpenGL version
GlyphInfo ¶
GlyphInfo :: struct { value: rune, // Character value (Unicode) offsetX: i32, // Character offset X when drawing offsetY: i32, // Character offset Y when drawing advanceX: i32, // Character advance position X image: Image, }
Font character info
Image ¶
Image :: struct { data: rawptr, // Image raw data width: i32, // Image base width height: i32, // Image base height mipmaps: i32, // Mipmap levels, 1 by default format: PixelFormat, }
Image type, bpp always RGBA (32bit) NOTE: Data stored in CPU memory (RAM)
KeyboardKey ¶
KeyboardKey :: enum i32 { KEY_NULL = 0, // Key: NULL, used for no key pressed // Alphanumeric keys APOSTROPHE = 39, // Key: ' COMMA = 44, // Key: , MINUS = 45, // Key: - PERIOD = 46, // Key: . SLASH = 47, // Key: / ZERO = 48, // Key: 0 ONE = 49, // Key: 1 TWO = 50, // Key: 2 THREE = 51, // Key: 3 FOUR = 52, // Key: 4 FIVE = 53, // Key: 5 SIX = 54, // Key: 6 SEVEN = 55, // Key: 7 EIGHT = 56, // Key: 8 NINE = 57, // Key: 9 SEMICOLON = 59, // Key: ; EQUAL = 61, // Key: = A = 65, // Key: A | a B = 66, // Key: B | b C = 67, // Key: C | c D = 68, // Key: D | d E = 69, // Key: E | e F = 70, // Key: F | f G = 71, // Key: G | g H = 72, // Key: H | h I = 73, // Key: I | i J = 74, // Key: J | j K = 75, // Key: K | k L = 76, // Key: L | l M = 77, // Key: M | m N = 78, // Key: N | n O = 79, // Key: O | o P = 80, // Key: P | p Q = 81, // Key: Q | q R = 82, // Key: R | r S = 83, // Key: S | s T = 84, // Key: T | t U = 85, // Key: U | u V = 86, // Key: V | v W = 87, // Key: W | w X = 88, // Key: X | x Y = 89, // Key: Y | y Z = 90, // Key: Z | z LEFT_BRACKET = 91, // Key: [ BACKSLASH = 92, // Key: '\' RIGHT_BRACKET = 93, // Key: ] GRAVE = 96, // Key: ` // Function keys SPACE = 32, // Key: Space ESCAPE = 256, // Key: Esc ENTER = 257, // Key: Enter TAB = 258, // Key: Tab BACKSPACE = 259, // Key: Backspace INSERT = 260, // Key: Ins DELETE = 261, // Key: Del RIGHT = 262, // Key: Cursor right LEFT = 263, // Key: Cursor left DOWN = 264, // Key: Cursor down UP = 265, // Key: Cursor up PAGE_UP = 266, // Key: Page up PAGE_DOWN = 267, // Key: Page down HOME = 268, // Key: Home END = 269, // Key: End CAPS_LOCK = 280, // Key: Caps lock SCROLL_LOCK = 281, // Key: Scroll down NUM_LOCK = 282, // Key: Num lock PRINT_SCREEN = 283, // Key: Print screen PAUSE = 284, // Key: Pause F1 = 290, // Key: F1 F2 = 291, // Key: F2 F3 = 292, // Key: F3 F4 = 293, // Key: F4 F5 = 294, // Key: F5 F6 = 295, // Key: F6 F7 = 296, // Key: F7 F8 = 297, // Key: F8 F9 = 298, // Key: F9 F10 = 299, // Key: F10 F11 = 300, // Key: F11 F12 = 301, // Key: F12 LEFT_SHIFT = 340, // Key: Shift left LEFT_CONTROL = 341, // Key: Control left LEFT_ALT = 342, // Key: Alt left LEFT_SUPER = 343, // Key: Super left RIGHT_SHIFT = 344, // Key: Shift right RIGHT_CONTROL = 345, // Key: Control right RIGHT_ALT = 346, // Key: Alt right RIGHT_SUPER = 347, // Key: Super right KB_MENU = 348, // Key: KB menu // Keypad keys KP_0 = 320, // Key: Keypad 0 KP_1 = 321, // Key: Keypad 1 KP_2 = 322, // Key: Keypad 2 KP_3 = 323, // Key: Keypad 3 KP_4 = 324, // Key: Keypad 4 KP_5 = 325, // Key: Keypad 5 KP_6 = 326, // Key: Keypad 6 KP_7 = 327, // Key: Keypad 7 KP_8 = 328, // Key: Keypad 8 KP_9 = 329, // Key: Keypad 9 KP_DECIMAL = 330, // Key: Keypad . KP_DIVIDE = 331, // Key: Keypad / KP_MULTIPLY = 332, // Key: Keypad * KP_SUBTRACT = 333, // Key: Keypad - KP_ADD = 334, // Key: Keypad + KP_ENTER = 335, // Key: Keypad Enter KP_EQUAL = 336, // Key: Keypad = // Android key buttons BACK = 4, // Key: Android back button MENU = 82, // Key: Android menu button VOLUME_UP = 24, // Key: Android volume up button VOLUME_DOWN = 25, // Key: Android volume down button }
Keyboard keys (US keyboard layout) NOTE: Use GetKeyPressed() to allow redefining required keys for alternative layouts
LoadFileDataCallback ¶
LoadFileDataCallback :: proc "cdecl" (fileName: cstring, bytesRead: ^u32) -> [^]u8
FileIO: Load binary data
LoadFileTextCallback ¶
LoadFileTextCallback :: proc "cdecl" (fileName: cstring) -> [^]u8
FileIO: Load text data
Material ¶
Material :: struct { shader: Shader, // Material shader maps: [^]MaterialMap, // Material maps array (MAX_MATERIAL_MAPS) params: [4]f32, }
Material type (generic)
MaterialMap ¶
MaterialMap :: struct { texture: Texture, // Material map texture color: Color, // Material map color value: f32, }
Material texture map
MaterialMapIndex ¶
MaterialMapIndex :: enum i32 { ALBEDO = 0, // Albedo material (same as: MATERIAL_MAP_DIFFUSE) METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) NORMAL, // Normal material ROUGHNESS, // Roughness material OCCLUSION, // Ambient occlusion material EMISSION, // Emission material HEIGHT, // Heightmap material CUBEMAP, // Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) IRRADIANCE, // Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) PREFILTER, // Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) BRDF, // Brdf material }
Material map index
Mesh ¶
Mesh :: struct { vertexCount: i32, // Number of vertices stored in arrays triangleCount: i32, // Default vertex data vertices: [^]f32, // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) texcoords: [^]f32, // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) texcoords2: [^]f32, // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) normals: [^]f32, // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) tangents: [^]f32, // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) colors: [^]u8, // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) indices: [^]u16, // Animation vertex data animVertices: [^]f32, // Animated vertex positions (after bones transformations) animNormals: [^]f32, // Animated normals (after bones transformations) boneIds: [^]u8, // Vertex bone ids, up to 4 bones influence by vertex (skinning) boneWeights: [^]f32, // OpenGL identifiers vaoId: u32, // OpenGL Vertex Array Object id vboId: [^]u32, }
Vertex data definning a mesh NOTE: Data stored in CPU memory (and GPU)
Model ¶
Model :: struct { transform: linalg.Matrix4x4f32, // Local transform matrix meshCount: i32, // Number of meshes materialCount: i32, // Number of materials meshes: [^]Mesh, // Meshes array materials: [^]Material, // Materials array meshMaterial: [^]i32, // Animation data boneCount: i32, // Number of bones bones: [^]BoneInfo, // Bones information (skeleton) bindPose: [^]Transform, }
Model type
ModelAnimation ¶
ModelAnimation :: struct { boneCount: i32, // Number of bones frameCount: i32, // Number of animation frames bones: [^]BoneInfo, // Bones information (skeleton) framePoses: [^][^]Transform, }
Model animation
MouseButton ¶
MouseButton :: enum i32 { LEFT = 0, // Mouse button left RIGHT = 1, // Mouse button right MIDDLE = 2, // Mouse button middle (pressed wheel) SIDE = 3, // Mouse button side (advanced mouse device) EXTRA = 4, // Mouse button extra (advanced mouse device) FORWARD = 5, // Mouse button fordward (advanced mouse device) BACK = 6, // Mouse button back (advanced mouse device) }
Mouse buttons
MouseCursor ¶
MouseCursor :: enum i32 { DEFAULT = 0, // Default pointer shape ARROW = 1, // Arrow shape IBEAM = 2, // Text writing cursor shape CROSSHAIR = 3, // Cross shape POINTING_HAND = 4, // Pointing hand cursor RESIZE_EW = 5, // Horizontal resize/move arrow shape RESIZE_NS = 6, // Vertical resize/move arrow shape RESIZE_NWSE = 7, // Top-left to bottom-right diagonal resize/move arrow shape RESIZE_NESW = 8, // The top-right to bottom-left diagonal resize/move arrow shape RESIZE_ALL = 9, // The omnidirectional resize/move cursor shape NOT_ALLOWED = 10, // The operation-not-allowed shape }
Mouse cursor
Music ¶
Music :: struct { stream: AudioStream, // Audio stream frameCount: u32, // Total number of frames (considering channels) looping: bool, // Music looping enable ctxType: i32, // Type of music context (audio filetype) ctxData: rawptr, }
Music stream type (audio file streaming from memory) NOTE: Anything longer than ~10 seconds should be streamed
NPatchInfo ¶
NPatchInfo :: struct { source: Rectangle, // Texture source rectangle left: i32, // Left border offset top: i32, // Top border offset right: i32, // Right border offset bottom: i32, // Bottom border offset layout: NPatchLayout, }
N-Patch layout info
NPatchLayout ¶
NPatchLayout :: enum i32 { NINE_PATCH = 0, // Npatch layout: 3x3 tiles THREE_PATCH_VERTICAL, // Npatch layout: 1x3 tiles THREE_PATCH_HORIZONTAL, // Npatch layout: 3x1 tiles }
N-patch layout
PixelFormat ¶
PixelFormat :: enum i32 { UNKNOWN = 0, UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) UNCOMPRESSED_GRAY_ALPHA, // 8*2 bpp (2 channels) UNCOMPRESSED_R5G6B5, // 16 bpp UNCOMPRESSED_R8G8B8, // 24 bpp UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) UNCOMPRESSED_R8G8B8A8, // 32 bpp UNCOMPRESSED_R32, // 32 bpp (1 channel - float) UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float) UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float) COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) COMPRESSED_DXT3_RGBA, // 8 bpp COMPRESSED_DXT5_RGBA, // 8 bpp COMPRESSED_ETC1_RGB, // 4 bpp COMPRESSED_ETC2_RGB, // 4 bpp COMPRESSED_ETC2_EAC_RGBA, // 8 bpp COMPRESSED_PVRT_RGB, // 4 bpp COMPRESSED_PVRT_RGBA, // 4 bpp COMPRESSED_ASTC_4x4_RGBA, // 8 bpp COMPRESSED_ASTC_8x8_RGBA, // 2 bpp }
Pixel formats NOTE: Support depends on OpenGL version and platform
Ray ¶
Ray :: struct { position: linalg.Vector3f32, // Ray position (origin) direction: linalg.Vector3f32, }
Ray type (useful for raycast)
RayCollision ¶
RayCollision :: struct { hit: bool, // Did the ray hit something? distance: f32, // Distance to nearest hit point: linalg.Vector3f32, // Point of nearest hit normal: linalg.Vector3f32, }
RayCollision, ray hit information
Rectangle ¶
Rectangle :: struct { x: f32, // Rectangle top-left corner position x y: f32, // Rectangle top-left corner position y width: f32, // Rectangle width height: f32, }
Rectangle type
RenderBatch ¶
RenderBatch :: struct { bufferCount: i32, // Number of vertex buffers (multi-buffering support) currentBuffer: i32, // Current buffer tracking in case of multi-buffering vertexBuffer: [^]VertexBuffer, // Dynamic buffer(s) for vertex data draws: [^]DrawCall, // Draw calls array, depends on textureId drawCounter: i32, // Draw calls counter currentDepth: f32, }
RenderBatch type
RenderTexture ¶
RenderTexture :: struct { id: u32, // OpenGL framebuffer object id texture: Texture, // Color buffer attachment texture depth: Texture, }
RenderTexture type, for texture rendering
SaveFileDataCallback ¶
SaveFileDataCallback :: proc "cdecl" (fileName: cstring, data: rawptr, bytesToWrite: u32) -> bool
FileIO: Save binary data
SaveFileTextCallback ¶
SaveFileTextCallback :: proc "cdecl" (fileName: cstring, text: cstring) -> bool
FileIO: Save text data
ShaderAttributeDataType ¶
ShaderAttributeDataType :: enum i32 { FLOAT = 0, // Shader attribute type: float VEC2, // Shader attribute type: vec2 (2 float) VEC3, // Shader attribute type: vec3 (3 float) VEC4, // Shader attribute type: vec4 (4 float) }
Shader attribute data types
ShaderLocationIndex ¶
ShaderLocationIndex :: enum i32 { VERTEX_POSITION = 0, // Shader location: vertex attribute: position VERTEX_TEXCOORD01, // Shader location: vertex attribute: texcoord01 VERTEX_TEXCOORD02, // Shader location: vertex attribute: texcoord02 VERTEX_NORMAL, // Shader location: vertex attribute: normal VERTEX_TANGENT, // Shader location: vertex attribute: tangent VERTEX_COLOR, // Shader location: vertex attribute: color MATRIX_MVP, // Shader location: matrix uniform: model-view-projection MATRIX_VIEW, // Shader location: matrix uniform: view (camera transform) MATRIX_PROJECTION, // Shader location: matrix uniform: projection MATRIX_MODEL, // Shader location: matrix uniform: model (transform) MATRIX_NORMAL, // Shader location: matrix uniform: normal VECTOR_VIEW, // Shader location: vector uniform: view COLOR_DIFFUSE, // Shader location: vector uniform: diffuse color COLOR_SPECULAR, // Shader location: vector uniform: specular color COLOR_AMBIENT, // Shader location: vector uniform: ambient color MAP_ALBEDO, // Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE) MAP_METALNESS, // Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR) MAP_NORMAL, // Shader location: sampler2d texture: normal MAP_ROUGHNESS, // Shader location: sampler2d texture: roughness MAP_OCCLUSION, // Shader location: sampler2d texture: occlusion MAP_EMISSION, // Shader location: sampler2d texture: emission MAP_HEIGHT, // Shader location: sampler2d texture: height MAP_CUBEMAP, // Shader location: samplerCube texture: cubemap MAP_IRRADIANCE, // Shader location: samplerCube texture: irradiance MAP_PREFILTER, // Shader location: samplerCube texture: prefilter MAP_BRDF, // Shader location: sampler2d texture: brdf }
Shader location index
ShaderUniformDataType ¶
ShaderUniformDataType :: enum i32 { FLOAT = 0, // Shader uniform type: float VEC2, // Shader uniform type: vec2 (2 float) VEC3, // Shader uniform type: vec3 (3 float) VEC4, // Shader uniform type: vec4 (4 float) INT, // Shader uniform type: int IVEC2, // Shader uniform type: ivec2 (2 int) IVEC3, // Shader uniform type: ivec3 (3 int) IVEC4, // Shader uniform type: ivec4 (4 int) SAMPLER2D, // Shader uniform type: sampler2d }
Shader uniform data type
Texture ¶
Texture :: struct { id: u32, // OpenGL texture id width: i32, // Texture base width height: i32, // Texture base height mipmaps: i32, // Mipmap levels, 1 by default format: PixelFormat, }
Texture type NOTE: Data stored in GPU memory
TextureFilter ¶
TextureFilter :: enum i32 { POINT = 0, // No filter, just pixel approximation BILINEAR, // Linear filtering TRILINEAR, // Trilinear filtering (linear with mipmaps) ANISOTROPIC_4X, // Anisotropic filtering 4x ANISOTROPIC_8X, // Anisotropic filtering 8x ANISOTROPIC_16X, // Anisotropic filtering 16x }
Texture parameters: filter mode NOTE 1: Filtering considers mipmaps if available in the texture NOTE 2: Filter is accordingly set for minification and magnification
TextureWrap ¶
TextureWrap :: enum i32 { REPEAT = 0, // Repeats texture in tiled mode CLAMP, // Clamps texture to edge pixel in tiled mode MIRROR_REPEAT, // Mirrors and repeats the texture in tiled mode MIRROR_CLAMP, // Mirrors and clamps to border the texture in tiled mode }
Texture parameters: wrap mode
TraceLogCallback ¶
TraceLogCallback :: proc "cdecl" (logLevel: TraceLogLevel, text: cstring, args: libc.va_list)
Callbacks to hook some internal functions WARNING: This callbacks are intended for advance users
TraceLogLevel ¶
TraceLogLevel :: enum i32 { ALL = 0, // Display all logs TRACE, // Trace logging, intended for internal use only DEBUG, // Debug logging, used for internal debugging, it should be disabled on release builds INFO, // Info logging, used for program execution info WARNING, // Warning logging, used on recoverable failures ERROR, // Error logging, used on unrecoverable failures FATAL, // Fatal logging, used to abort program: exit(EXIT_FAILURE) NONE, // Disable logging }
Trace log level
Transform ¶
Transform :: struct { translation: linalg.Vector3f32, // Translation rotation: linalg.Quaternionf32, // Rotation scale: linalg.Vector3f32, }
Transformation properties
VertexBuffer ¶
VertexBuffer :: struct { elementCount: i32, // Number of elements in the buffer (QUADS) vertices: [^]f32, // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) texcoords: [^]f32, // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) colors: [^]u8, // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) indices: [^]u32, // Vertex indices (in case vertex data comes indexed) (6 indices per quad) vaoId: u32, // OpenGL Vertex Array Object id vboId: [4]u32, }
Dynamic vertex buffers (position + texcoords + colors + indices arrays)
VertexBufferIndexType ¶
VertexBufferIndexType :: u32
VrDeviceInfo ¶
VrDeviceInfo :: struct { hResolution: i32, // Horizontal resolution in pixels vResolution: i32, // Vertical resolution in pixels hScreenSize: f32, // Horizontal size in meters vScreenSize: f32, // Vertical size in meters vScreenCenter: f32, // Screen center in meters eyeToScreenDistance: f32, // Distance between eye and display in meters lensSeparationDistance: f32, // Lens separation distance in meters interpupillaryDistance: f32, // IPD (distance between pupils) in meters lensDistortionValues: [4]f32, // Lens distortion constant parameters chromaAbCorrection: [4]f32, }
Head-Mounted-Display device parameters
VrStereoConfig ¶
VrStereoConfig :: struct { projection: [2]linalg.Matrix4x4f32, // VR projection matrices (per eye) viewOffset: [2]linalg.Matrix4x4f32, // VR view offset matrices (per eye) leftLensCenter: [2]f32, // VR left lens center rightLensCenter: [2]f32, // VR right lens center leftScreenCenter: [2]f32, // VR left screen center rightScreenCenter: [2]f32, // VR right screen center scale: [2]f32, // VR distortion scale scaleIn: [2]f32, }
VR Stereo rendering configuration for simulator
Wave ¶
Wave :: struct { frameCount: u32, // Total number of frames (considering channels) sampleRate: u32, // Frequency (samples per second) sampleSize: u32, // Bit depth (bits per sample): 8, 16, 32 (24 not supported) channels: u32, // Number of channels (1-mono, 2-stereo) data: rawptr, }
Wave type, defines audio wave data
Constants
LIGHTGRAY ¶
LIGHTGRAY :: Color{200, 200, 200, 255}
Some Basic Colors NOTE: Custom raylib color palette for amazing visuals on WHITE background
MAX_TEXTFORMAT_BUFFERS ¶
MAX_TEXTFORMAT_BUFFERS :: #config(RAYLIB_MAX_TEXTFORMAT_BUFFERS, 4)
MAX_TEXT_BUFFER_LENGTH ¶
MAX_TEXT_BUFFER_LENGTH :: #config(RAYLIB_MAX_TEXT_BUFFER_LENGTH, 1024)
RL_BLEND_EQUATION_RGB ¶
RL_BLEND_EQUATION_RGB :: 0x8009
GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
RL_DEFAULT_BATCH_BUFFERS ¶
RL_DEFAULT_BATCH_BUFFERS :: 1
Default number of batch buffers (multi-buffering)
RL_DEFAULT_BATCH_BUFFER_ELEMENTS ¶
RL_DEFAULT_BATCH_BUFFER_ELEMENTS :: 8192
This is the maximum amount of elements (quads) per batch NOTE: Be careful with text, every letter maps to a quad
RL_DEFAULT_BATCH_DRAWCALLS ¶
RL_DEFAULT_BATCH_DRAWCALLS :: 256
Default number of batch draw calls (by state changes: mode, texture)
RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS ¶
RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS :: 4
Maximum number of additional textures that can be activated on batch drawing (SetShaderValueTexture())
RL_GRAPHICS_API_OPENGL_11 ¶
RL_GRAPHICS_API_OPENGL_11 :: false
RL_GRAPHICS_API_OPENGL_21 ¶
RL_GRAPHICS_API_OPENGL_21 :: true
RL_GRAPHICS_API_OPENGL_33 ¶
RL_GRAPHICS_API_OPENGL_33 :: RL_GRAPHICS_API_OPENGL_21
default currently
RL_GRAPHICS_API_OPENGL_43 ¶
RL_GRAPHICS_API_OPENGL_43 :: false
RL_GRAPHICS_API_OPENGL_ES2 ¶
RL_GRAPHICS_API_OPENGL_ES2 :: false
RL_TEXTURE_FILTER_ANISOTROPIC ¶
RL_TEXTURE_FILTER_ANISOTROPIC :: 0x3000
Anisotropic filter (custom identifier)
RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST ¶
RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST :: 0x2701
GL_LINEAR_MIPMAP_NEAREST
RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR ¶
RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR :: 0x2702
GL_NEAREST_MIPMAP_LINEAR
USE_LINALG ¶
USE_LINALG :: #config(RAYLIB_USE_LINALG, true)
Variables
This section is empty.
Procedures
AttachAudioMixedProcessor ¶
AttachAudioMixedProcessor :: proc "cdecl" (processor: AudioCallback) ---
Attach audio stream processor to the entire audio pipeline
AttachAudioStreamProcessor ¶
AttachAudioStreamProcessor :: proc "cdecl" (stream: AudioStream, processor: AudioCallback) ---
Attach audio stream processor to stream
BeginBlendMode ¶
BeginBlendMode :: proc "cdecl" (mode: BlendMode) ---
Begin blending mode (alpha, additive, multiplied)
BeginMode2D ¶
BeginMode2D :: proc "cdecl" (camera: Camera2D) ---
Initialize 2D mode with custom camera (2D)
BeginMode3D ¶
BeginMode3D :: proc "cdecl" (camera: Camera3D) ---
Initializes 3D mode with custom camera (3D)
BeginScissorMode ¶
BeginScissorMode :: proc "cdecl" (x, y, width, height: i32) ---
Begin scissor mode (define screen area for following drawing)
BeginTextureMode ¶
BeginTextureMode :: proc "cdecl" (target: RenderTexture) ---
Initializes render texture for drawing
BeginVrStereoMode ¶
BeginVrStereoMode :: proc "cdecl" (config: VrStereoConfig) ---
Begin stereo rendering (requires VR simulator)
ChangeDirectory ¶
ChangeDirectory :: proc "cdecl" (dir: cstring) -> bool ---
Change working directory, return true on success
CheckCollisionBoxSphere ¶
CheckCollisionBoxSphere :: proc "cdecl" (box: BoundingBox, center: linalg.Vector3f32, radius: f32) -> bool ---
Check collision between box and sphere
CheckCollisionBoxes ¶
CheckCollisionBoxes :: proc "cdecl" (box1, box2: BoundingBox) -> bool ---
Check collision between two bounding boxes
CheckCollisionCircleRec ¶
CheckCollisionCircleRec :: proc "cdecl" (center: linalg.Vector2f32, radius: f32, rec: Rectangle) -> bool ---
Check collision between circle and rectangle
CheckCollisionCircles ¶
CheckCollisionCircles :: proc "cdecl" (center1: linalg.Vector2f32, radius1: f32, center2: linalg.Vector2f32, radius2: f32) -> bool ---
Check collision between two circles
CheckCollisionLines ¶
CheckCollisionLines :: proc "cdecl" (startPos1, endPos1, startPos2, endPos2: linalg.Vector2f32, collisionPoint: [^]linalg.Vector2f32) -> bool ---
Check the collision between two lines defined by two points each, returns collision point by reference
CheckCollisionPointCircle ¶
CheckCollisionPointCircle :: proc "cdecl" (point, center: linalg.Vector2f32, radius: f32) -> bool ---
Check if point is inside circle
CheckCollisionPointLine ¶
CheckCollisionPointLine :: proc "cdecl" (point: linalg.Vector2f32, p1, p2: linalg.Vector2f32, threshold: i32) -> bool ---
Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
CheckCollisionPointPoly ¶
CheckCollisionPointPoly :: proc "cdecl" (point: linalg.Vector2f32, points: [^]linalg.Vector2f32, pointCount: i32) -> bool ---
Check if point is within a polygon described by array of vertices
CheckCollisionPointRec ¶
CheckCollisionPointRec :: proc "cdecl" (point: linalg.Vector2f32, rec: Rectangle) -> bool ---
Check if point is inside rectangle
CheckCollisionPointTriangle ¶
CheckCollisionPointTriangle :: proc "cdecl" (point: linalg.Vector2f32, p1, p2, p3: linalg.Vector2f32) -> bool ---
Check if point is inside a triangle
CheckCollisionRecs ¶
CheckCollisionRecs :: proc "cdecl" (rec1, rec2: Rectangle) -> bool ---
Basic shapes collision detection functions
CheckCollisionSpheres ¶
CheckCollisionSpheres :: proc "cdecl" (center1: linalg.Vector3f32, radius1: f32, center2: linalg.Vector3f32, radius2: f32) -> bool ---
Check collision between two spheres
ClearBackground ¶
ClearBackground :: proc "cdecl" (color: Color) ---
Set background color (framebuffer clear color)
ClearWindowState ¶
ClearWindowState :: proc "cdecl" (flags: ConfigFlags) ---
Clear window configuration state flags
CodepointToUTF8 ¶
CodepointToUTF8 :: proc "cdecl" (codepoint: rune, utf8Size: ^i32) -> cstring ---
Encode one codepoint into UTF-8 byte array (array length returned as parameter)
ColorAlpha ¶
Get color with alpha applied, alpha goes from 0.0f to 1.0f
ColorAlphaBlend ¶
Get src alpha-blended into dst color with tint
ColorBrightness ¶
Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
ColorContrast ¶
Get color with contrast correction, contrast values between -1.0f and 1.0f
ColorFromHSV ¶
ColorFromHSV :: proc "cdecl" (hue, saturation, value: f32) -> Color ---
Get a Color from HSV values, hue [0..360], saturation/value [0..1]
ColorFromNormalized ¶
ColorFromNormalized :: proc "cdecl" (normalized: linalg.Vector4f32) -> Color ---
Get Color from normalized values [0..1]
ColorNormalize ¶
ColorNormalize :: proc "cdecl" (color: Color) -> linalg.Vector4f32 ---
Get Color normalized as float [0..1]
ColorTint ¶
Get color multiplied with another color
ColorToHSV ¶
ColorToHSV :: proc "cdecl" (color: Color) -> linalg.Vector3f32 ---
Get HSV values for a Color, hue [0..360], saturation/value [0..1]
CompressData ¶
CompressData :: proc "cdecl" (data: rawptr, dataSize: i32, compDataSize: ^i32) -> [^]u8 ---
Compress data (DEFLATE algorithm), memory must be MemFree()
DecodeDataBase64 ¶
DecodeDataBase64 :: proc "cdecl" (data: rawptr, outputSize: ^i32) -> [^]u8 ---
Decode Base64 string data, memory must be MemFree()
DecompressData ¶
DecompressData :: proc "cdecl" (compData: rawptr, compDataSize: i32, dataSize: ^i32) -> [^]u8 ---
Decompress data (DEFLATE algorithm), memory must be MemFree()
DetachAudioMixedProcessor ¶
DetachAudioMixedProcessor :: proc "cdecl" (processor: AudioCallback) ---
Detach audio stream processor from the entire audio pipeline
DetachAudioStreamProcessor ¶
DetachAudioStreamProcessor :: proc "cdecl" (stream: AudioStream, processor: AudioCallback) ---
Detach audio stream processor from stream
DirectoryExists ¶
DirectoryExists :: proc "cdecl" (dirPath: cstring) -> bool ---
Check if a directory path exists
DisableEventWaiting ¶
DisableEventWaiting :: proc "cdecl" () ---
Disable waiting for events on EndDrawing(), automatic events polling
DrawBillboard ¶
DrawBillboard :: proc "cdecl" (camera: Camera3D, texture: Texture, position: linalg.Vector3f32, size: f32, tint: Color) ---
Draw a billboard texture
DrawBillboardPro ¶
DrawBillboardPro :: proc "cdecl" ( camera: Camera3D, texture: Texture, source: Rectangle, position: linalg.Vector3f32, up: linalg.Vector3f32, size: linalg.Vector2f32, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draw a billboard texture defined by source and rotation
DrawBillboardRec ¶
DrawBillboardRec :: proc "cdecl" ( camera: Camera3D, texture: Texture, source: Rectangle, position: linalg.Vector3f32, size: linalg.Vector2f32, tint: Color, ) ---
Draw a billboard texture defined by source
DrawBoundingBox ¶
DrawBoundingBox :: proc "cdecl" (box: BoundingBox, color: Color) ---
Draw bounding box (wires)
DrawCapsule ¶
DrawCapsule :: proc "cdecl" ( startPos, endPos: linalg.Vector3f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw a capsule with the center of its sphere caps at startPos and endPos
DrawCapsuleWires ¶
DrawCapsuleWires :: proc "cdecl" ( startPos, endPos: linalg.Vector3f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw capsule wireframe with the center of its sphere caps at startPos and endPos
DrawCircle ¶
DrawCircle :: proc "cdecl" (centerX, centerY: i32, radius: f32, color: Color) ---
Draw a color-filled circle
DrawCircle3D ¶
DrawCircle3D :: proc "cdecl" (center: linalg.Vector3f32, radius: f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, color: Color) ---
Draw a circle in 3D world space
DrawCircleGradient ¶
DrawCircleGradient :: proc "cdecl" (centerX, centerY: i32, radius: f32, color1, color2: Color) ---
Draw a gradient-filled circle
DrawCircleLines ¶
DrawCircleLines :: proc "cdecl" (centerX, centerY: i32, radius: f32, color: Color) ---
Draw circle outline
DrawCircleSector ¶
DrawCircleSector :: proc "cdecl" ( center: linalg.Vector2f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw a piece of a circle
DrawCircleSectorLines ¶
DrawCircleSectorLines :: proc "cdecl" ( center: linalg.Vector2f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw circle sector outline
DrawCircleV ¶
DrawCircleV :: proc "cdecl" (center: linalg.Vector2f32, radius: f32, color: Color) ---
Draw a color-filled circle (Vector version)
DrawCube ¶
DrawCube :: proc "cdecl" (position: linalg.Vector3f32, width, height, length: f32, color: Color) ---
Draw cube
DrawCubeV ¶
DrawCubeV :: proc "cdecl" (position: linalg.Vector3f32, size: linalg.Vector3f32, color: Color) ---
Draw cube (Vector version)
DrawCubeWires ¶
DrawCubeWires :: proc "cdecl" (position: linalg.Vector3f32, width, height, length: f32, color: Color) ---
Draw cube wires
DrawCubeWiresV ¶
DrawCubeWiresV :: proc "cdecl" (position: linalg.Vector3f32, size: linalg.Vector3f32, color: Color) ---
Draw cube wires (Vector version)
DrawCylinder ¶
DrawCylinder :: proc "cdecl" ( position: linalg.Vector3f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone
DrawCylinderEx ¶
DrawCylinderEx :: proc "cdecl" ( startPos, endPos: linalg.Vector3f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder with base at startPos and top at endPos
DrawCylinderWires ¶
DrawCylinderWires :: proc "cdecl" ( position: linalg.Vector3f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone wires
DrawCylinderWiresEx ¶
DrawCylinderWiresEx :: proc "cdecl" ( startPos, endPos: linalg.Vector3f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder wires with base at startPos and top at endPos
DrawEllipse ¶
DrawEllipse :: proc "cdecl" (centerX, centerY: i32, radiusH, radiusV: f32, color: Color) ---
Draw ellipse
DrawEllipseLines ¶
DrawEllipseLines :: proc "cdecl" (centerX, centerY: i32, radiusH, radiusV: f32, color: Color) ---
Draw ellipse outline
DrawGrid ¶
DrawGrid :: proc "cdecl" (slices: i32, spacing: f32) ---
Draw a grid (centered at (0, 0, 0))
DrawLine ¶
DrawLine :: proc "cdecl" (startPosX, startPosY, endPosX, endPosY: i32, color: Color) ---
Draw a line
DrawLine3D ¶
DrawLine3D :: proc "cdecl" (startPos, endPos: linalg.Vector3f32, color: Color) ---
Draw a line in 3D world space
DrawLineBezier ¶
DrawLineBezier :: proc "cdecl" (startPos, endPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw a line using cubic-bezier curves in-out
DrawLineBezierCubic ¶
DrawLineBezierCubic :: proc "cdecl" ( startPos, endPos: linalg.Vector2f32, startControlPos, endControlPos: linalg.Vector2f32, thick: f32, color: Color, ) ---
Draw line using cubic bezier curves with 2 control points
DrawLineBezierQuad ¶
DrawLineBezierQuad :: proc "cdecl" (startPos, endPos: linalg.Vector2f32, controlPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw line using quadratic bezier curves with a control point
DrawLineEx ¶
DrawLineEx :: proc "cdecl" (startPos, endPos: linalg.Vector2f32, thick: f32, color: Color) ---
Draw a line defining thickness
DrawLineStrip ¶
DrawLineStrip :: proc "cdecl" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw lines sequence
DrawLineV ¶
DrawLineV :: proc "cdecl" (startPos, endPos: linalg.Vector2f32, color: Color) ---
Draw a line (Vector version)
DrawMesh ¶
DrawMesh :: proc "cdecl" (mesh: Mesh, material: Material, transform: linalg.Matrix4x4f32) ---
Draw a 3d mesh with material and transform
DrawMeshInstanced ¶
DrawMeshInstanced :: proc "cdecl" (mesh: Mesh, material: Material, transforms: [^]linalg.Matrix4x4f32, instances: i32) ---
Draw multiple mesh instances with material and different transforms
DrawModel ¶
DrawModel :: proc "cdecl" (model: Model, position: linalg.Vector3f32, scale: f32, tint: Color) ---
Draw a model (with texture if set)
DrawModelEx ¶
DrawModelEx :: proc "cdecl" ( model: Model, position: linalg.Vector3f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, scale: linalg.Vector3f32, tint: Color, ) ---
Draw a model with extended parameters
DrawModelWires ¶
DrawModelWires :: proc "cdecl" (model: Model, position: linalg.Vector3f32, scale: f32, tint: Color) ---
Draw a model wires (with texture if set)
DrawModelWiresEx ¶
DrawModelWiresEx :: proc "cdecl" ( model: Model, position: linalg.Vector3f32, rotationAxis: linalg.Vector3f32, rotationAngle: f32, scale: linalg.Vector3f32, tint: Color, ) ---
Draw a model wires (with texture if set) with extended parameters
DrawPixelV ¶
DrawPixelV :: proc "cdecl" (position: linalg.Vector2f32, color: Color) ---
Draw a pixel (Vector version)
DrawPlane ¶
DrawPlane :: proc "cdecl" (centerPos: linalg.Vector3f32, size: linalg.Vector2f32, color: Color) ---
Draw a plane XZ
DrawPoint3D ¶
DrawPoint3D :: proc "cdecl" (position: linalg.Vector3f32, color: Color) ---
Draw a point in 3D space, actually a small line
DrawPoly ¶
DrawPoly :: proc "cdecl" (center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, color: Color) ---
Draw a regular polygon (Vector version)
DrawPolyLines ¶
DrawPolyLines :: proc "cdecl" (center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, color: Color) ---
Draw a polygon outline of n sides
DrawPolyLinesEx ¶
DrawPolyLinesEx :: proc "cdecl" ( center: linalg.Vector2f32, sides: i32, radius: f32, rotation: f32, lineThick: f32, color: Color, ) ---
Draw a polygon outline of n sides with extended parameters
DrawRectangle ¶
DrawRectangle :: proc "cdecl" (posX, posY: i32, width, height: i32, color: Color) ---
Draw a color-filled rectangle
DrawRectangleGradientEx ¶
Draw a gradient-filled rectangle with custom vertex colors
DrawRectangleGradientH ¶
DrawRectangleGradientH :: proc "cdecl" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a horizontal-gradient-filled rectangle
DrawRectangleGradientV ¶
DrawRectangleGradientV :: proc "cdecl" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a vertical-gradient-filled rectangle
DrawRectangleLines ¶
DrawRectangleLines :: proc "cdecl" (posX, posY: i32, width, height: i32, color: Color) ---
Draw rectangle outline
DrawRectangleLinesEx ¶
Draw rectangle outline with extended parameters
DrawRectanglePro ¶
DrawRectanglePro :: proc "cdecl" (rec: Rectangle, origin: linalg.Vector2f32, rotation: f32, color: Color) ---
Draw a color-filled rectangle with pro parameters
DrawRectangleRec ¶
Draw a color-filled rectangle
DrawRectangleRounded ¶
DrawRectangleRounded :: proc "cdecl" (rec: Rectangle, roundness: f32, segments: i32, color: Color) ---
Draw rectangle with rounded edges
DrawRectangleRoundedLines ¶
DrawRectangleRoundedLines :: proc "cdecl" (rec: Rectangle, roundness: f32, segments: i32, lineThick: f32, color: Color) ---
Draw rectangle with rounded edges outline
DrawRectangleV ¶
DrawRectangleV :: proc "cdecl" (position: linalg.Vector2f32, size: linalg.Vector2f32, color: Color) ---
Draw a color-filled rectangle (Vector version)
DrawRing ¶
DrawRing :: proc "cdecl" ( center: linalg.Vector2f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring
DrawRingLines ¶
DrawRingLines :: proc "cdecl" ( center: linalg.Vector2f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring outline
DrawSphere ¶
DrawSphere :: proc "cdecl" (centerPos: linalg.Vector3f32, radius: f32, color: Color) ---
Draw sphere
DrawSphereEx ¶
DrawSphereEx :: proc "cdecl" (centerPos: linalg.Vector3f32, radius: f32, rings, slices: i32, color: Color) ---
Draw sphere with extended parameters
DrawSphereWires ¶
DrawSphereWires :: proc "cdecl" (centerPos: linalg.Vector3f32, radius: f32, rings, slices: i32, color: Color) ---
Draw sphere wires
DrawText ¶
DrawText :: proc "cdecl" (text: cstring, posX, posY: i32, fontSize: i32, color: Color) ---
Draw text (using default font)
DrawTextCodepoint ¶
DrawTextCodepoint :: proc "cdecl" (font: Font, codepoint: rune, position: linalg.Vector2f32, fontSize: f32, tint: Color) ---
Draw one character (codepoint)
DrawTextCodepoints ¶
DrawTextCodepoints :: proc "cdecl" ( font: Font, codepoints: [^]rune, count: i32, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw multiple character (codepoint)
DrawTextEx ¶
DrawTextEx :: proc "cdecl" ( font: Font, text: cstring, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using font and additional parameters
DrawTextPro ¶
DrawTextPro :: proc "cdecl" ( font: Font, text: cstring, position, origin: linalg.Vector2f32, rotation: f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using Font and pro parameters (rotation)
DrawTexture ¶
Texture drawing functions
DrawTextureEx ¶
DrawTextureEx :: proc "cdecl" (texture: Texture, position: linalg.Vector2f32, rotation: f32, scale: f32, tint: Color) ---
Draw a Texture2D with extended parameters
DrawTextureNPatch ¶
DrawTextureNPatch :: proc "cdecl" ( texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draws a texture (or part of it) that stretches or shrinks nicely
DrawTexturePro ¶
DrawTexturePro :: proc "cdecl" ( texture: Texture, source, dest: Rectangle, origin: linalg.Vector2f32, rotation: f32, tint: Color, ) ---
Draw a part of a texture defined by a rectangle with 'pro' parameters
DrawTextureRec ¶
DrawTextureRec :: proc "cdecl" (texture: Texture, source: Rectangle, position: linalg.Vector2f32, tint: Color) ---
Draw a part of a texture defined by a rectangle
DrawTextureV ¶
DrawTextureV :: proc "cdecl" (texture: Texture, position: linalg.Vector2f32, tint: Color) ---
Draw a Texture2D with position defined as Vector2
DrawTriangle ¶
DrawTriangle :: proc "cdecl" (v1, v2, v3: linalg.Vector2f32, color: Color) ---
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangle3D ¶
DrawTriangle3D :: proc "cdecl" (v1, v2, v3: linalg.Vector3f32, color: Color) ---
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangleFan ¶
DrawTriangleFan :: proc "cdecl" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw a triangle fan defined by points (first vertex is the center)
DrawTriangleLines ¶
DrawTriangleLines :: proc "cdecl" (v1, v2, v3: linalg.Vector2f32, color: Color) ---
Draw triangle outline (vertex in counter-clockwise order!)
DrawTriangleStrip ¶
DrawTriangleStrip :: proc "cdecl" (points: [^]linalg.Vector2f32, pointCount: i32, color: Color) ---
Draw a triangle strip defined by points
DrawTriangleStrip3D ¶
DrawTriangleStrip3D :: proc "cdecl" (points: [^]linalg.Vector3f32, pointCount: i32, color: Color) ---
Draw a triangle strip defined by points
EaseBackInOut ¶
EaseBackInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseBackOut ¶
EaseBackOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseBounceIn ¶
EaseBounceIn :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseBounceInOut ¶
EaseBounceInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseCircInOut ¶
EaseCircInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseCircOut ¶
EaseCircOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseCubicInOut ¶
EaseCubicInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseCubicOut ¶
EaseCubicOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseElasticInOut ¶
EaseElasticInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseElasticOut ¶
EaseElasticOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseExpoInOut ¶
EaseExpoInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseExpoOut ¶
EaseExpoOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseLinearIn ¶
EaseLinearIn :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseLinearInOut ¶
EaseLinearInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseLinearNone ¶
EaseLinearNone :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseLinearOut ¶
EaseLinearOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseQuadInOut ¶
EaseQuadInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseQuadOut ¶
EaseQuadOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseSineInOut ¶
EaseSineInOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EaseSineOut ¶
EaseSineOut :: proc "odin" (t, b, c, d: f32) -> f32 {…}
EnableEventWaiting ¶
EnableEventWaiting :: proc "cdecl" () ---
Enable waiting for events on EndDrawing(), no automatic event polling
EncodeDataBase64 ¶
EncodeDataBase64 :: proc "cdecl" (data: rawptr, dataSize: i32, outputSize: ^i32) -> [^]u8 ---
Encode data to Base64 string, memory must be MemFree()
EndBlendMode ¶
EndBlendMode :: proc "cdecl" () ---
End blending mode (reset to default: alpha blending)
EndDrawing ¶
EndDrawing :: proc "cdecl" () ---
End canvas drawing and swap buffers (double buffering)
EndMode3D ¶
EndMode3D :: proc "cdecl" () ---
Ends 3D mode and returns to default 2D orthographic mode
EndVrStereoMode ¶
EndVrStereoMode :: proc "cdecl" () ---
End stereo rendering (requires VR simulator)
ExportDataAsCode ¶
ExportDataAsCode :: proc "cdecl" (data: rawptr, size: u32, fileName: cstring) -> bool ---
Export data to code (.h), returns true on success
ExportFontAsCode ¶
ExportFontAsCode :: proc "cdecl" (font: Font, fileName: cstring) -> bool ---
Export font as code file, returns true on success
ExportImage ¶
ExportImage :: proc "cdecl" (image: Image, fileName: cstring) -> bool ---
Export image data to file, returns true on success
ExportImageAsCode ¶
ExportImageAsCode :: proc "cdecl" (image: Image, fileName: cstring) -> bool ---
Export image as code file defining an array of bytes, returns true on success
ExportMesh ¶
ExportMesh :: proc "cdecl" (mesh: Mesh, fileName: cstring) -> bool ---
Export mesh data to file, returns true on success
ExportWave ¶
ExportWave :: proc "cdecl" (wave: Wave, fileName: cstring) -> bool ---
Export wave data to file, returns true on success
ExportWaveAsCode ¶
ExportWaveAsCode :: proc "cdecl" (wave: Wave, fileName: cstring) -> bool ---
Export wave sample data to code (.h), returns true on success
Fade ¶
Get color with alpha applied, alpha goes from 0.0f to 1.0f
GenImageCellular ¶
GenImageCellular :: proc "cdecl" (width, height: i32, tileSize: i32) -> Image ---
Generate image: cellular algorithm, bigger tileSize means bigger cells
GenImageChecked ¶
GenImageChecked :: proc "cdecl" ( width, height: i32, checksX, checksY: i32, col1, col2: Color, ) -> Image ---
Generate image: checked
GenImageColor ¶
Generate image: plain color
GenImageFontAtlas ¶
GenImageFontAtlas :: proc "cdecl" ( chars: [^]GlyphInfo, recs: ^[^]Rectangle, glyphCount: i32, fontSize: i32, padding: i32, packMethod: i32, ) -> Image ---
Generate image font atlas using chars info
GenImageGradientH ¶
Generate image: horizontal gradient
GenImageGradientRadial ¶
GenImageGradientRadial :: proc "cdecl" (width, height: i32, density: f32, inner, outer: Color) -> Image ---
Generate image: radial gradient
GenImageGradientV ¶
Generate image: vertical gradient
GenImagePerlinNoise ¶
GenImagePerlinNoise :: proc "cdecl" (width, height: i32, offsetX, offsetY: i32, scale: f32) -> Image ---
Generate image: perlin noise
GenImageText ¶
GenImageText :: proc "cdecl" (width, height: i32, text: cstring) -> Image ---
Generate image: grayscale image from text data
GenImageWhiteNoise ¶
GenImageWhiteNoise :: proc "cdecl" (width, height: i32, factor: f32) -> Image ---
Generate image: white noise
GenMeshCone ¶
GenMeshCone :: proc "cdecl" (radius, height: f32, slices: i32) -> Mesh ---
Generate cone/pyramid mesh
GenMeshCube ¶
GenMeshCube :: proc "cdecl" (width, height, length: f32) -> Mesh ---
Generate cuboid mesh
GenMeshCubicmap ¶
GenMeshCubicmap :: proc "cdecl" (cubicmap: Image, cubeSize: linalg.Vector3f32) -> Mesh ---
Generate cubes-based map mesh from image data
GenMeshCylinder ¶
GenMeshCylinder :: proc "cdecl" (radius, height: f32, slices: i32) -> Mesh ---
Generate cylinder mesh
GenMeshHeightmap ¶
GenMeshHeightmap :: proc "cdecl" (heightmap: Image, size: linalg.Vector3f32) -> Mesh ---
Generate heightmap mesh from image data
GenMeshHemiSphere ¶
GenMeshHemiSphere :: proc "cdecl" (radius: f32, rings, slices: i32) -> Mesh ---
Generate half-sphere mesh (no bottom cap)
GenMeshKnot ¶
GenMeshKnot :: proc "cdecl" (radius, size: f32, radSeg, sides: i32) -> Mesh ---
Generate trefoil knot mesh
GenMeshPlane ¶
GenMeshPlane :: proc "cdecl" (width, lengthL: f32, resX, resZ: i32) -> Mesh ---
Generate plane mesh (with subdivisions)
GenMeshPoly ¶
GenMeshPoly :: proc "cdecl" (sides: i32, radius: f32) -> Mesh ---
Generate polygonal mesh
GenMeshSphere ¶
GenMeshSphere :: proc "cdecl" (radius: f32, rings, slices: i32) -> Mesh ---
Generate sphere mesh (standard sphere)
GenMeshTorus ¶
GenMeshTorus :: proc "cdecl" (radius, size: f32, radSeg, sides: i32) -> Mesh ---
Generate torus mesh
GenTextureMipmaps ¶
GenTextureMipmaps :: proc "cdecl" (texture: ^Texture) ---
Generate GPU mipmaps for a texture
GetApplicationDirectory ¶
GetApplicationDirectory :: proc "cdecl" () -> cstring ---
Get the directory if the running application (uses static string)
GetCameraMatrix ¶
GetCameraMatrix :: proc "cdecl" (camera: Camera3D) -> linalg.Matrix4x4f32 ---
Get camera transform matrix (view matrix)
GetCameraMatrix2D ¶
GetCameraMatrix2D :: proc "cdecl" (camera: Camera2D) -> linalg.Matrix4x4f32 ---
Get camera 2d transform matrix
GetCharPressed ¶
GetCharPressed :: proc "cdecl" () -> rune ---
Get char pressed (unicode), call it multiple times for chars queued
GetCodepoint ¶
GetCodepoint :: proc "cdecl" (text: cstring, codepointSize: ^i32) -> rune ---
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointCount ¶
GetCodepointCount :: proc "cdecl" (text: cstring) -> i32 ---
Get total number of codepoints in a UTF-8 encoded string
GetCodepointNext ¶
GetCodepointNext :: proc "cdecl" (text: cstring, codepointSize: ^i32) -> rune ---
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointPrevious ¶
GetCodepointPrevious :: proc "cdecl" (text: cstring, codepointSize: ^i32) -> rune ---
Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCollisionRec ¶
Get collision rectangle for two rectangles collision
GetColor ¶
GetColor :: proc "cdecl" (hexValue: u32) -> Color ---
Get Color structure from hexadecimal value
GetDirectoryPath ¶
GetDirectoryPath :: proc "cdecl" (filePath: cstring) -> cstring ---
Get full path for a given fileName with path (uses static string)
GetFileExtension ¶
GetFileExtension :: proc "cdecl" (fileName: cstring) -> cstring ---
Get pointer to extension for a filename string (includes dot: '.png')
GetFileLength ¶
GetFileLength :: proc "cdecl" (fileName: cstring) -> i32 ---
Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
GetFileModTime ¶
GetFileModTime :: proc "cdecl" (fileName: cstring) -> i32 ---
Get file modification time (last write time)
GetFileName ¶
GetFileName :: proc "cdecl" (filePath: cstring) -> cstring ---
Get pointer to filename for a path string
GetFileNameWithoutExt ¶
GetFileNameWithoutExt :: proc "cdecl" (filePath: cstring) -> cstring ---
Get filename string without extension (uses static string)
GetFrameTime ¶
GetFrameTime :: proc "cdecl" () -> f32 ---
Returns time in seconds for last frame drawn (delta time)
GetGamepadAxisCount ¶
GetGamepadAxisCount :: proc "cdecl" (gamepad: i32) -> i32 ---
Get gamepad axis count for a gamepad
GetGamepadAxisMovement ¶
GetGamepadAxisMovement :: proc "cdecl" (gamepad: i32, axis: GamepadAxis) -> f32 ---
Get axis movement value for a gamepad axis
GetGamepadButtonPressed ¶
GetGamepadButtonPressed :: proc "cdecl" () -> GamepadButton ---
Get the last gamepad button pressed
GetGamepadName ¶
GetGamepadName :: proc "cdecl" (gamepad: i32) -> cstring ---
Get gamepad internal name id
GetGestureDetected ¶
GetGestureDetected :: proc "cdecl" () -> Gesture ---
Get latest detected gesture
GetGestureDragVector ¶
GetGestureDragVector :: proc "cdecl" () -> linalg.Vector2f32 ---
Get gesture drag vector
GetGestureHoldDuration ¶
GetGestureHoldDuration :: proc "cdecl" () -> f32 ---
Get gesture hold time in milliseconds
GetGesturePinchVector ¶
GetGesturePinchVector :: proc "cdecl" () -> linalg.Vector2f32 ---
Get gesture pinch delta
GetGlyphAtlasRec ¶
Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
GetGlyphIndex ¶
GetGlyphIndex :: proc "cdecl" (font: Font, codepoint: rune) -> i32 ---
Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
GetGlyphInfo ¶
Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
GetImageAlphaBorder ¶
Get image alpha border rectangle
GetImageColor ¶
Get image pixel color at (x, y) position
GetKeyPressed ¶
GetKeyPressed :: proc "cdecl" () -> KeyboardKey ---
Get key pressed (keycode), call it multiple times for keys queued
GetMeshBoundingBox ¶
GetMeshBoundingBox :: proc "cdecl" (mesh: Mesh) -> BoundingBox ---
Compute mesh bounding box limits
GetModelBoundingBox ¶
GetModelBoundingBox :: proc "cdecl" (model: Model) -> BoundingBox ---
Compute model bounding box limits (considers all meshes)
GetMonitorHeight ¶
GetMonitorHeight :: proc "cdecl" (monitor: i32) -> i32 ---
Get specified monitor height (current video mode used by monitor)
GetMonitorName ¶
GetMonitorName :: proc "cdecl" (monitor: i32) -> cstring ---
Get the human-readable, UTF-8 encoded name of the primary monitor
GetMonitorPhysicalHeight ¶
GetMonitorPhysicalHeight :: proc "cdecl" (monitor: i32) -> i32 ---
Get specified monitor physical height in millimetres
GetMonitorPhysicalWidth ¶
GetMonitorPhysicalWidth :: proc "cdecl" (monitor: i32) -> i32 ---
Get specified monitor physical width in millimetres
GetMonitorPosition ¶
GetMonitorPosition :: proc "cdecl" (monitor: i32) -> linalg.Vector2f32 ---
Get specified monitor position
GetMonitorRefreshRate ¶
GetMonitorRefreshRate :: proc "cdecl" (monitor: i32) -> i32 ---
Get specified monitor refresh rate
GetMonitorWidth ¶
GetMonitorWidth :: proc "cdecl" (monitor: i32) -> i32 ---
Get specified monitor width (current video mode used by monitor)
GetMousePosition ¶
GetMousePosition :: proc "cdecl" () -> linalg.Vector2f32 ---
Returns mouse position XY
GetMouseRay ¶
GetMouseRay :: proc "cdecl" (mousePosition: linalg.Vector2f32, camera: Camera3D) -> Ray ---
Get a ray trace from mouse position
GetMouseWheelMoveV ¶
GetMouseWheelMoveV :: proc "cdecl" () -> linalg.Vector2f32 ---
Get mouse wheel movement for both X and Y
GetMusicTimeLength ¶
GetMusicTimeLength :: proc "cdecl" (music: Music) -> f32 ---
Get music time length (in seconds)
GetMusicTimePlayed ¶
GetMusicTimePlayed :: proc "cdecl" (music: Music) -> f32 ---
Get current music time played (in seconds)
GetPixelColor ¶
GetPixelColor :: proc "cdecl" (srcPtr: rawptr, format: PixelFormat) -> Color ---
Get Color from a source pixel pointer of certain format
GetPixelDataSize ¶
GetPixelDataSize :: proc "cdecl" (width, height: i32, format: PixelFormat) -> i32 ---
Get pixel data size in bytes for certain format
GetPrevDirectoryPath ¶
GetPrevDirectoryPath :: proc "cdecl" (dirPath: cstring) -> cstring ---
Get previous directory path for a given path (uses static string)
GetRandomValue ¶
GetRandomValue :: proc "cdecl" (min, max: i32) -> i32 ---
Returns a random value between min and max (both included)
GetRayCollisionBox ¶
GetRayCollisionBox :: proc "cdecl" (ray: Ray, box: BoundingBox) -> RayCollision ---
Get collision info between ray and box
GetRayCollisionMesh ¶
GetRayCollisionMesh :: proc "cdecl" (ray: Ray, mesh: Mesh, transform: linalg.Matrix4x4f32) -> RayCollision ---
Get collision info between ray and mesh
GetRayCollisionQuad ¶
GetRayCollisionQuad :: proc "cdecl" (ray: Ray, p1, p2, p3, p4: linalg.Vector3f32) -> RayCollision ---
Get collision info between ray and quad
GetRayCollisionSphere ¶
GetRayCollisionSphere :: proc "cdecl" (ray: Ray, center: linalg.Vector3f32, radius: f32) -> RayCollision ---
Get collision info between ray and sphere
GetRayCollisionTriangle ¶
GetRayCollisionTriangle :: proc "cdecl" (ray: Ray, p1, p2, p3: linalg.Vector3f32) -> RayCollision ---
Get collision info between ray and triangle
GetRenderHeight ¶
GetRenderHeight :: proc "cdecl" () -> i32 ---
Get current render height (it considers HiDPI)
GetRenderWidth ¶
GetRenderWidth :: proc "cdecl" () -> i32 ---
Get current render width (it considers HiDPI)
GetScreenToWorld2D ¶
GetScreenToWorld2D :: proc "cdecl" (position: linalg.Vector2f32, camera: Camera2D) -> linalg.Vector2f32 ---
Get the world space position for a 2d camera screen space position
GetShaderLocation ¶
GetShaderLocation :: proc "cdecl" (shader: Shader, uniformName: cstring) -> i32 ---
Get shader uniform location
GetShaderLocationAttrib ¶
GetShaderLocationAttrib :: proc "cdecl" (shader: Shader, attribName: cstring) -> i32 ---
Get shader attribute location
GetTouchPointId ¶
GetTouchPointId :: proc "cdecl" (index: i32) -> i32 ---
Get touch point identifier for given index
GetTouchPosition ¶
GetTouchPosition :: proc "cdecl" (index: i32) -> linalg.Vector2f32 ---
Returns touch position XY for a touch point index (relative to screen size)
GetTouchX ¶
GetTouchX :: proc "cdecl" () -> i32 ---
Returns touch position X for touch point 0 (relative to screen size)
GetTouchY ¶
GetTouchY :: proc "cdecl" () -> i32 ---
Returns touch position Y for touch point 0 (relative to screen size)
GetWindowPosition ¶
GetWindowPosition :: proc "cdecl" () -> linalg.Vector2f32 ---
Get window position XY on monitor
GetWindowScaleDPI ¶
GetWindowScaleDPI :: proc "cdecl" () -> linalg.Vector2f32 ---
Get window scale DPI factor
GetWorkingDirectory ¶
GetWorkingDirectory :: proc "cdecl" () -> cstring ---
Get current working directory (uses static string)
GetWorldToScreen ¶
GetWorldToScreen :: proc "cdecl" (position: linalg.Vector3f32, camera: Camera3D) -> linalg.Vector2f32 ---
Get the screen space position for a 3d world space position
GetWorldToScreen2D ¶
GetWorldToScreen2D :: proc "cdecl" (position: linalg.Vector2f32, camera: Camera2D) -> linalg.Vector2f32 ---
Get the screen space position for a 2d camera world space position
GetWorldToScreenEx ¶
GetWorldToScreenEx :: proc "cdecl" (position: linalg.Vector3f32, camera: Camera3D, width, height: i32) -> linalg.Vector2f32 ---
Get size position for a 3d world space position
ImageAlphaClear ¶
Clear alpha channel to desired color
ImageAlphaCrop ¶
ImageAlphaCrop :: proc "cdecl" (image: ^Image, threshold: f32) ---
Crop image depending on alpha value
ImageAlphaMask ¶
Apply alpha mask to image
ImageAlphaPremultiply ¶
ImageAlphaPremultiply :: proc "cdecl" (image: ^Image) ---
Premultiply alpha channel
ImageBlurGaussian ¶
ImageBlurGaussian :: proc "cdecl" (image: ^Image, blurSize: i32) ---
Apply Gaussian blur using a box blur approximation
ImageClearBackground ¶
Clear image background with given color
ImageColorBrightness ¶
ImageColorBrightness :: proc "cdecl" (image: ^Image, brightness: i32) ---
Modify image color: brightness (-255 to 255)
ImageColorContrast ¶
ImageColorContrast :: proc "cdecl" (image: ^Image, contrast: f32) ---
Modify image color: contrast (-100 to 100)
ImageColorGrayscale ¶
ImageColorGrayscale :: proc "cdecl" (image: ^Image) ---
Modify image color: grayscale
ImageColorReplace ¶
Modify image color: replace color
ImageColorTint ¶
Modify image color: tint
ImageCopy ¶
Create an image duplicate (useful for transformations)
ImageCrop ¶
Crop an image to a defined rectangle
ImageDither ¶
ImageDither :: proc "cdecl" (image: ^Image, rBpp, gBpp, bBpp, aBpp: i32) ---
Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
ImageDraw ¶
Draw a source image within a destination image (tint applied to source)
ImageDrawCircle ¶
Draw a filled circle within an image
ImageDrawCircleLines ¶
ImageDrawCircleLines :: proc "cdecl" (dst: ^Image, centerX, centerY: i32, radius: i32, color: Color) ---
Draw circle outline within an image
ImageDrawCircleLinesV ¶
ImageDrawCircleLinesV :: proc "cdecl" (dst: ^Image, center: linalg.Vector2f32, radius: i32, color: Color) ---
Draw circle outline within an image (Vector version)
ImageDrawCircleV ¶
ImageDrawCircleV :: proc "cdecl" (dst: ^Image, center: linalg.Vector2f32, radius: i32, color: Color) ---
Draw a filled circle within an image (Vector version)
ImageDrawLine ¶
ImageDrawLine :: proc "cdecl" ( dst: ^Image, startPosX, startPosY, endPosX, endPosY: i32, color: Color, ) ---
Draw line within an image
ImageDrawLineV ¶
ImageDrawLineV :: proc "cdecl" (dst: ^Image, start, end: linalg.Vector2f32, color: Color) ---
Draw line within an image (Vector version)
ImageDrawPixel ¶
Draw pixel within an image
ImageDrawPixelV ¶
ImageDrawPixelV :: proc "cdecl" (dst: ^Image, position: linalg.Vector2f32, color: Color) ---
Draw pixel within an image (Vector version)
ImageDrawRectangle ¶
ImageDrawRectangle :: proc "cdecl" ( dst: ^Image, posX, posY: i32, width, height: i32, color: Color, ) ---
Draw rectangle within an image
ImageDrawRectangleLines ¶
Draw rectangle lines within an image
ImageDrawRectangleRec ¶
Draw rectangle within an image
ImageDrawRectangleV ¶
ImageDrawRectangleV :: proc "cdecl" (dst: ^Image, position, size: linalg.Vector2f32, color: Color) ---
Draw rectangle within an image (Vector version)
ImageDrawText ¶
ImageDrawText :: proc "cdecl" ( dst: ^Image, text: cstring, posX, posY: i32, fontSize: i32, color: Color, ) ---
Draw text (using default font) within an image (destination)
ImageDrawTextEx ¶
ImageDrawTextEx :: proc "cdecl" ( dst: ^Image, font: Font, text: cstring, position: linalg.Vector2f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text (custom sprite font) within an image (destination)
ImageFlipHorizontal ¶
ImageFlipHorizontal :: proc "cdecl" (image: ^Image) ---
Flip image horizontally
ImageFormat ¶
ImageFormat :: proc "cdecl" (image: ^Image, newFormat: PixelFormat) ---
Convert image data to desired format
ImageFromImage ¶
Create an image from another image piece
ImageMipmaps ¶
ImageMipmaps :: proc "cdecl" (image: ^Image) ---
Compute all mipmap levels for a provided image
ImageResize ¶
ImageResize :: proc "cdecl" (image: ^Image, newWidth, newHeight: i32) ---
Resize image (Bicubic scaling algorithm)
ImageResizeCanvas ¶
ImageResizeCanvas :: proc "cdecl" ( image: ^Image, newWidth, newHeight: i32, offsetX, offsetY: i32, fill: Color, ) ---
Resize canvas and fill with color
ImageResizeNN ¶
ImageResizeNN :: proc "cdecl" (image: ^Image, newWidth, newHeight: i32) ---
Resize image (Nearest-Neighbor scaling algorithm)
ImageRotateCCW ¶
ImageRotateCCW :: proc "cdecl" (image: ^Image) ---
Rotate image counter-clockwise 90deg
ImageText ¶
Create an image from text (default font)
ImageTextEx ¶
ImageTextEx :: proc "cdecl" (font: Font, text: cstring, fontSize: f32, spacing: f32, tint: Color) -> Image ---
Create an image from text (custom sprite font)
ImageToPOT ¶
Convert image to POT (power-of-two)
InitWindow ¶
InitWindow :: proc "cdecl" (width, height: i32, title: cstring) ---
Initialize window and OpenGL context
IsAudioDeviceReady ¶
IsAudioDeviceReady :: proc "cdecl" () -> bool ---
Check if audio device has been initialized successfully
IsAudioStreamPlaying ¶
IsAudioStreamPlaying :: proc "cdecl" (stream: AudioStream) -> bool ---
Check if audio stream is playing
IsAudioStreamProcessed ¶
IsAudioStreamProcessed :: proc "cdecl" (stream: AudioStream) -> bool ---
Check if any audio stream buffers requires refill
IsAudioStreamReady ¶
IsAudioStreamReady :: proc "cdecl" (stream: AudioStream) -> bool ---
Checks if an audio stream is ready
IsCursorOnScreen ¶
IsCursorOnScreen :: proc "cdecl" () -> bool ---
Check if cursor is on the current screen.
IsFileDropped ¶
IsFileDropped :: proc "cdecl" () -> bool ---
Check if a file has been dropped into window
IsFileExtension ¶
IsFileExtension :: proc "cdecl" (fileName, ext: cstring) -> bool ---
Check file extension (including point: .png, .wav)
IsGamepadAvailable ¶
IsGamepadAvailable :: proc "cdecl" (gamepad: i32) -> bool ---
Check if a gamepad is available
IsGamepadButtonDown ¶
IsGamepadButtonDown :: proc "cdecl" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is being pressed
IsGamepadButtonPressed ¶
IsGamepadButtonPressed :: proc "cdecl" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been pressed once
IsGamepadButtonReleased ¶
IsGamepadButtonReleased :: proc "cdecl" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been released once
IsGamepadButtonUp ¶
IsGamepadButtonUp :: proc "cdecl" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is NOT being pressed
IsGestureDetected ¶
IsGestureDetected :: proc "cdecl" (gesture: Gesture) -> bool ---
Check if a gesture have been detected
IsKeyDown ¶
IsKeyDown :: proc "cdecl" (key: KeyboardKey) -> bool ---
Detect if a key is being pressed
IsKeyPressed ¶
IsKeyPressed :: proc "cdecl" (key: KeyboardKey) -> bool ---
Detect if a key has been pressed once
IsKeyReleased ¶
IsKeyReleased :: proc "cdecl" (key: KeyboardKey) -> bool ---
Detect if a key has been released once
IsKeyUp ¶
IsKeyUp :: proc "cdecl" (key: KeyboardKey) -> bool ---
Detect if a key is NOT being pressed
IsMaterialReady ¶
IsMaterialReady :: proc "cdecl" (material: Material) -> bool ---
Check if a material is ready
IsModelAnimationValid ¶
IsModelAnimationValid :: proc "cdecl" (model: Model, anim: ModelAnimation) -> bool ---
Check model animation skeleton match
IsMouseButtonDown ¶
IsMouseButtonDown :: proc "cdecl" (button: MouseButton) -> bool ---
Detect if a mouse button is being pressed
IsMouseButtonPressed ¶
IsMouseButtonPressed :: proc "cdecl" (button: MouseButton) -> bool ---
Detect if a mouse button has been pressed once
IsMouseButtonReleased ¶
IsMouseButtonReleased :: proc "cdecl" (button: MouseButton) -> bool ---
Detect if a mouse button has been released once
IsMouseButtonUp ¶
IsMouseButtonUp :: proc "cdecl" (button: MouseButton) -> bool ---
Detect if a mouse button is NOT being pressed
IsMusicReady ¶
IsMusicReady :: proc "cdecl" (music: Music) -> bool ---
Checks if a music stream is ready
IsMusicStreamPlaying ¶
IsMusicStreamPlaying :: proc "cdecl" (music: Music) -> bool ---
Check if music is playing
IsPathFile ¶
IsPathFile :: proc "cdecl" (path: cstring) -> bool ---
Check if a given path is a file or a directory
IsRenderTextureReady ¶
IsRenderTextureReady :: proc "cdecl" (target: RenderTexture) -> bool ---
Check if a render texture is ready
IsShaderReady ¶
IsShaderReady :: proc "cdecl" (shader: Shader) -> bool ---
Check if a shader is ready
IsSoundPlaying ¶
IsSoundPlaying :: proc "cdecl" (sound: Sound) -> bool ---
Check if a sound is currently playing
IsTextureReady ¶
IsTextureReady :: proc "cdecl" (texture: Texture) -> bool ---
Check if a texture is ready
IsWindowFocused ¶
IsWindowFocused :: proc "cdecl" () -> bool ---
Check if window is currently focused (only PLATFORM_DESKTOP)
IsWindowFullscreen ¶
IsWindowFullscreen :: proc "cdecl" () -> bool ---
Check if window is currently fullscreen
IsWindowHidden ¶
IsWindowHidden :: proc "cdecl" () -> bool ---
Check if window is currently hidden (only PLATFORM_DESKTOP)
IsWindowMaximized ¶
IsWindowMaximized :: proc "cdecl" () -> bool ---
Check if window is currently maximized (only PLATFORM_DESKTOP)
IsWindowMinimized ¶
IsWindowMinimized :: proc "cdecl" () -> bool ---
Check if window is currently minimized (only PLATFORM_DESKTOP)
IsWindowReady ¶
IsWindowReady :: proc "cdecl" () -> bool ---
Check if window has been initialized successfully
IsWindowResized ¶
IsWindowResized :: proc "cdecl" () -> bool ---
Check if window has been resized last frame
IsWindowState ¶
IsWindowState :: proc "cdecl" (flag: ConfigFlag) -> bool ---
Check if one specific window flag is enabled
LoadAudioStream ¶
LoadAudioStream :: proc "cdecl" (sampleRate, sampleSize: u32, channels: u32) -> AudioStream ---
Load audio stream (to stream raw audio pcm data)
LoadCodepoints ¶
LoadCodepoints :: proc "cdecl" (text: rawptr, count: ^i32) -> [^]rune ---
Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
LoadDirectoryFiles ¶
LoadDirectoryFiles :: proc "cdecl" (dirPath: cstring) -> FilePathList ---
Load directory filepaths
LoadDirectoryFilesEx ¶
LoadDirectoryFilesEx :: proc "cdecl" (basePath: cstring, filter: cstring, scanSubdirs: bool) -> FilePathList ---
Load directory filepaths with extension filtering and recursive directory scan
LoadFileData ¶
LoadFileData :: proc "cdecl" (fileName: cstring, bytesRead: ^u32) -> [^]u8 ---
Load file data as byte array (read)
LoadFileText ¶
LoadFileText :: proc "cdecl" (fileName: cstring) -> [^]u8 ---
Load text data from file (read), returns a '\0' terminated string
LoadFont ¶
LoadFont :: proc "cdecl" (fileName: cstring) -> Font ---
Load font from file into GPU memory (VRAM)
LoadFontData ¶
LoadFontData :: proc "cdecl" ( fileData: rawptr, dataSize: i32, fontSize: i32, fontChars: [^]rune, glyphCount: i32, type: FontType, ) -> [^]GlyphInfo ---
Load font data for further use
LoadFontEx ¶
LoadFontEx :: proc "cdecl" (fileName: cstring, fontSize: i32, fontChars: [^]rune, glyphCount: i32) -> Font ---
Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
LoadFontFromImage ¶
Load font from Image (XNA style)
LoadFontFromMemory ¶
LoadFontFromMemory :: proc "cdecl" ( fileType: cstring, fileData: rawptr, dataSize: i32, fontSize: i32, fontChars: [^]rune, glyphCount: i32, ) -> Font ---
Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
LoadImage ¶
LoadImage :: proc "cdecl" (fileName: cstring) -> Image ---
Load image from file into CPU memory (RAM)
LoadImageAnim ¶
LoadImageAnim :: proc "cdecl" (fileName: cstring, frames: [^]i32) -> Image ---
Load image sequence from file (frames appended to image.data)
LoadImageColors ¶
Load color data from image as a Color array (RGBA - 32bit)
LoadImageFromMemory ¶
LoadImageFromMemory :: proc "cdecl" (fileType: cstring, fileData: rawptr, dataSize: i32) -> Image ---
Load image from memory buffer, fileType refers to extension: i.e. '.png'
LoadImageFromScreen ¶
LoadImageFromScreen :: proc "cdecl" () -> Image ---
Load image from screen buffer and (screenshot)
LoadImageFromTexture ¶
Load image from GPU texture data
LoadImagePalette ¶
LoadImagePalette :: proc "cdecl" (image: Image, maxPaletteSize: i32, colorCount: ^i32) -> [^]Color ---
Load colors palette from image as a Color array (RGBA - 32bit)
LoadImageRaw ¶
LoadImageRaw :: proc "cdecl" (fileName: cstring, width, height: i32, format: PixelFormat, headerSize: i32) -> Image ---
Load image from RAW file data
LoadMaterialDefault ¶
LoadMaterialDefault :: proc "cdecl" () -> Material ---
Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
LoadMaterials ¶
LoadMaterials :: proc "cdecl" (fileName: cstring, materialCount: ^i32) -> [^]Material ---
Load materials from model file
LoadModel ¶
LoadModel :: proc "cdecl" (fileName: cstring) -> Model ---
Load model from files (meshes and materials)
LoadModelAnimations ¶
LoadModelAnimations :: proc "cdecl" (fileName: cstring, animCount: ^u32) -> [^]ModelAnimation ---
Load model animations from file
LoadModelFromMesh ¶
Load model from generated mesh (default material)
LoadMusicStream ¶
LoadMusicStream :: proc "cdecl" (fileName: cstring) -> Music ---
Load music stream from file
LoadMusicStreamFromMemory ¶
LoadMusicStreamFromMemory :: proc "cdecl" (fileType: cstring, data: rawptr, dataSize: i32) -> Music ---
Load music stream from data
LoadRenderTexture ¶
LoadRenderTexture :: proc "cdecl" (width, height: i32) -> RenderTexture ---
Load texture for rendering (framebuffer)
LoadShader ¶
LoadShader :: proc "cdecl" (vsFileName, fsFileName: cstring) -> Shader ---
Load shader from files and bind default locations
LoadShaderFromMemory ¶
LoadShaderFromMemory :: proc "cdecl" (vsCode, fsCode: cstring) -> Shader ---
Load shader from code strings and bind default locations
LoadSoundFromWave ¶
Load sound from wave data
LoadTexture ¶
LoadTexture :: proc "cdecl" (fileName: cstring) -> Texture ---
Load texture from file into GPU memory (VRAM)
LoadTextureCubemap ¶
LoadTextureCubemap :: proc "cdecl" (image: Image, layout: CubemapLayout) -> Texture ---
Load cubemap from image, multiple image cubemap layouts supported
LoadTextureFromImage ¶
Load texture from image data
LoadUTF8 ¶
LoadUTF8 :: proc "cdecl" (codepoints: [^]rune, length: i32) -> [^]u8 ---
Load UTF-8 text encoded from codepoints array
LoadVrStereoConfig ¶
LoadVrStereoConfig :: proc "cdecl" (device: VrDeviceInfo) -> VrStereoConfig ---
Load VR stereo config for VR simulator device parameters
LoadWaveFromMemory ¶
LoadWaveFromMemory :: proc "cdecl" (fileType: cstring, fileData: rawptr, dataSize: i32) -> Wave ---
Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
LoadWaveSamples ¶
LoadWaveSamples :: proc "cdecl" (wave: Wave) -> [^]f32 ---
Load samples data from wave as a 32bit float data array
MaximizeWindow ¶
MaximizeWindow :: proc "cdecl" () ---
Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
MeasureText ¶
MeasureText :: proc "cdecl" (text: cstring, fontSize: i32) -> i32 ---
Measure string width for default font
MeasureTextEx ¶
MeasureTextEx :: proc "cdecl" (font: Font, text: cstring, fontSize: f32, spacing: f32) -> linalg.Vector2f32 ---
Measure string size for Font
MemAllocator ¶
MemAllocator :: proc "contextless" () -> runtime.Allocator {…}
MemAllocatorProc ¶
MemAllocatorProc :: proc "odin" ( allocator_data: rawptr, mode: runtime.Allocator_Mode, size, alignment: int, old_memory: rawptr, old_size: int, location := #caller_location, ) -> (data: []u8, err: runtime.Allocator_Error) {…}
MemRealloc ¶
MemRealloc :: proc "cdecl" (ptr: rawptr, size: u32) -> rawptr ---
Internal memory reallocator
MinimizeWindow ¶
MinimizeWindow :: proc "cdecl" () ---
Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
OpenURL ¶
OpenURL :: proc "cdecl" (url: cstring) ---
Open URL with default system browser (if available)
RestoreWindow ¶
RestoreWindow :: proc "cdecl" () ---
Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
ResumeMusicStream ¶
ResumeMusicStream :: proc "cdecl" (music: Music) ---
Resume playing paused music
SaveFileData ¶
SaveFileData :: proc "cdecl" (fileName: cstring, data: rawptr, bytesToWrite: u32) -> bool ---
Save data to file from byte array (write), returns true on success
SaveFileText ¶
SaveFileText :: proc "cdecl" (fileName: cstring, text: [^]u8) -> bool ---
Save text data to file (write), string must be '\0' terminated, returns true on success
SeekMusicStream ¶
SeekMusicStream :: proc "cdecl" (music: Music, position: f32) ---
Seek music to a position (in seconds)
SetAudioStreamBufferSizeDefault ¶
SetAudioStreamBufferSizeDefault :: proc "cdecl" (size: i32) ---
Default size for new audio streams
SetAudioStreamCallback ¶
SetAudioStreamCallback :: proc "cdecl" (stream: AudioStream, callback: AudioCallback) ---
Audio thread callback to request new data
SetAudioStreamPan ¶
SetAudioStreamPan :: proc "cdecl" (stream: AudioStream, pan: f32) ---
Set pan for audio stream (0.5 is centered)
SetAudioStreamPitch ¶
SetAudioStreamPitch :: proc "cdecl" (stream: AudioStream, pitch: f32) ---
Set pitch for audio stream (1.0 is base level)
SetAudioStreamVolume ¶
SetAudioStreamVolume :: proc "cdecl" (stream: AudioStream, volume: f32) ---
Set volume for audio stream (1.0 is max level)
SetConfigFlags ¶
SetConfigFlags :: proc "cdecl" (flags: ConfigFlags) ---
Setup init configuration flags (view FLAGS)
SetExitKey ¶
SetExitKey :: proc "cdecl" (key: KeyboardKey) ---
Set a custom key to exit program (default is ESC)
SetGamepadMappings ¶
SetGamepadMappings :: proc "cdecl" (mappings: cstring) -> i32 ---
Set internal gamepad mappings (SDL_GameControllerDB)
SetGesturesEnabled ¶
SetGesturesEnabled :: proc "cdecl" (flags: Gestures) ---
Enable a set of gestures using flags
SetLoadFileDataCallback ¶
SetLoadFileDataCallback :: proc "cdecl" (callback: LoadFileDataCallback) ---
Set custom file binary data loader
SetLoadFileTextCallback ¶
SetLoadFileTextCallback :: proc "cdecl" (callback: LoadFileTextCallback) ---
Set custom file text data loader
SetMaterialTexture ¶
SetMaterialTexture :: proc "cdecl" (material: ^Material, mapType: MaterialMapIndex, texture: Texture) ---
Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
SetModelMeshMaterial ¶
SetModelMeshMaterial :: proc "cdecl" (model: ^Model, meshId: i32, materialId: i32) ---
Set material for a mesh
SetMusicPan ¶
SetMusicPan :: proc "cdecl" (music: Music, pan: f32) ---
Set pan for a music (0.5 is center)
SetMusicPitch ¶
SetMusicPitch :: proc "cdecl" (music: Music, pitch: f32) ---
Set pitch for a music (1.0 is base level)
SetMusicVolume ¶
SetMusicVolume :: proc "cdecl" (music: Music, volume: f32) ---
Set volume for music (1.0 is max level)
SetPixelColor ¶
SetPixelColor :: proc "cdecl" (dstPtr: rawptr, color: Color, format: PixelFormat) ---
Set color formatted into destination pixel pointer
SetRandomSeed ¶
SetRandomSeed :: proc "cdecl" (seed: u32) ---
Set the seed for the random number generator
SetSaveFileDataCallback ¶
SetSaveFileDataCallback :: proc "cdecl" (callback: SaveFileDataCallback) ---
Set custom file binary data saver
SetSaveFileTextCallback ¶
SetSaveFileTextCallback :: proc "cdecl" (callback: SaveFileTextCallback) ---
Set custom file text data saver
SetShaderValue ¶
SetShaderValue :: proc "cdecl" (shader: Shader, locIndex: ShaderLocationIndex, value: rawptr, uniformType: ShaderUniformDataType) ---
Set shader uniform value
SetShaderValueMatrix ¶
SetShaderValueMatrix :: proc "cdecl" (shader: Shader, locIndex: ShaderLocationIndex, mat: linalg.Matrix4x4f32) ---
Set shader uniform value (matrix 4x4)
SetShaderValueTexture ¶
SetShaderValueTexture :: proc "cdecl" (shader: Shader, locIndex: ShaderLocationIndex, texture: Texture) ---
Set shader uniform value for texture (sampler2d)
SetShaderValueV ¶
SetShaderValueV :: proc "cdecl" (shader: Shader, locIndex: ShaderLocationIndex, value: rawptr, uniformType: ShaderUniformDataType, count: i32) ---
Set shader uniform value vector
SetSoundPan ¶
SetSoundPan :: proc "cdecl" (sound: Sound, pan: f32) ---
Set pan for a sound (0.5 is center)
SetSoundPitch ¶
SetSoundPitch :: proc "cdecl" (sound: Sound, pitch: f32) ---
Set pitch for a sound (1.0 is base level)
SetSoundVolume ¶
SetSoundVolume :: proc "cdecl" (sound: Sound, volume: f32) ---
Set volume for a sound (1.0 is max level)
SetTextureFilter ¶
SetTextureFilter :: proc "cdecl" (texture: Texture, filter: TextureFilter) ---
Set texture scaling filter mode
SetTextureWrap ¶
SetTextureWrap :: proc "cdecl" (texture: Texture, wrap: TextureWrap) ---
Set texture wrapping mode
SetTraceLogCallback ¶
SetTraceLogCallback :: proc "cdecl" (callback: TraceLogCallback) ---
Set custom trace log
SetTraceLogLevel ¶
SetTraceLogLevel :: proc "cdecl" (logLevel: TraceLogLevel) ---
Set the current threshold (minimum) log level
SetWindowIcon ¶
SetWindowIcon :: proc "cdecl" (image: Image) ---
Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowIcons ¶
SetWindowIcons :: proc "cdecl" (images: [^]Image, count: i32) ---
Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowMinSize ¶
SetWindowMinSize :: proc "cdecl" (width, height: i32) ---
Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
SetWindowMonitor ¶
SetWindowMonitor :: proc "cdecl" (monitor: i32) ---
Set monitor for the current window (fullscreen mode)
SetWindowOpacity ¶
SetWindowOpacity :: proc "cdecl" (opacity: f32) ---
Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
SetWindowPosition ¶
SetWindowPosition :: proc "cdecl" (x, y: i32) ---
Set window position on screen (only PLATFORM_DESKTOP)
SetWindowState ¶
SetWindowState :: proc "cdecl" (flags: ConfigFlags) ---
Set window configuration state using flags (only PLATFORM_DESKTOP)
SetWindowTitle ¶
SetWindowTitle :: proc "cdecl" (title: cstring) ---
Set title for window (only PLATFORM_DESKTOP)
SwapScreenBuffer ¶
SwapScreenBuffer :: proc "cdecl" () ---
Swap back buffer with front buffer (screen drawing)
TakeScreenshot ¶
TakeScreenshot :: proc "cdecl" (fileName: cstring) ---
Takes a screenshot of current screen (filename extension defines format)
TextAppend ¶
TextAppend :: proc "cdecl" (text: [^]u8, append: cstring, position: ^i32) ---
Append text at specific position and move cursor!
TextCopy ¶
TextCopy :: proc "cdecl" (dst: [^]u8, src: cstring) -> i32 ---
Copy one string to another, returns bytes copied
TextFindIndex ¶
TextFindIndex :: proc "cdecl" (text, find: cstring) -> i32 ---
Find first text occurrence within a string
TextFormat ¶
TextFormat :: proc "odin" (text: cstring, args: ..any) -> cstring {…}
Text formatting with variables (sprintf style)
TextFormatAlloc ¶
TextFormatAlloc :: proc "odin" (text: cstring, args: ..any) -> cstring {…}
Text formatting with variables (sprintf style) and allocates (must be freed with 'MemFree')
TextInsert ¶
TextInsert :: proc "cdecl" (text, insert: cstring, position: i32) -> [^]u8 ---
Insert text in a position (WARNING: memory must be freed!)
TextIsEqual ¶
TextIsEqual :: proc "cdecl" (text1, text2: cstring) -> bool ---
Check if two text string are equal
TextJoin ¶
TextJoin :: proc "cdecl" (textList: [^]cstring, count: i32, delimiter: cstring) -> cstring ---
Join text strings with delimiter
TextLength ¶
TextLength :: proc "cdecl" (text: cstring) -> u32 ---
Get text length, checks for '\0' ending
TextReplace ¶
TextReplace :: proc "cdecl" (text: [^]u8, replace, by: cstring) -> [^]u8 ---
Replace text string (WARNING: memory must be freed!)
TextSplit ¶
TextSplit :: proc "cdecl" (text: cstring, delimiter: u8, count: ^i32) -> [^]cstring ---
Split text into multiple strings
TextSubtext ¶
TextSubtext :: proc "cdecl" (text: cstring, position: i32, length: i32) -> cstring ---
Get a piece of a text string
TextToInteger ¶
TextToInteger :: proc "cdecl" (text: cstring) -> i32 ---
Get integer value from text (negative values not supported)
TextToLower ¶
TextToLower :: proc "cdecl" (text: cstring) -> cstring ---
Get lower case version of provided string
TextToPascal ¶
TextToPascal :: proc "cdecl" (text: cstring) -> cstring ---
Get Pascal case notation version of provided string
TextToUpper ¶
TextToUpper :: proc "cdecl" (text: cstring) -> cstring ---
Get upper case version of provided string
ToggleFullscreen ¶
ToggleFullscreen :: proc "cdecl" () ---
Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
TraceLog ¶
TraceLog :: proc "cdecl" (logLevel: TraceLogLevel, text: cstring, args: ..any) ---
Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR)
UnloadAudioStream ¶
UnloadAudioStream :: proc "cdecl" (stream: AudioStream) ---
Unload audio stream and free memory
UnloadCodepoints ¶
UnloadCodepoints :: proc "cdecl" (codepoints: [^]rune) ---
Unload codepoints data from memory
UnloadDirectoryFiles ¶
UnloadDirectoryFiles :: proc "cdecl" (files: FilePathList) ---
Unload filepaths
UnloadDroppedFiles ¶
UnloadDroppedFiles :: proc "cdecl" (files: FilePathList) ---
Unload dropped filepaths
UnloadFileData ¶
UnloadFileData :: proc "cdecl" (data: [^]u8) ---
Unload file data allocated by LoadFileData()
UnloadFileText ¶
UnloadFileText :: proc "cdecl" (text: [^]u8) ---
Unload file text data allocated by LoadFileText()
UnloadFontData ¶
UnloadFontData :: proc "cdecl" (chars: [^]GlyphInfo, glyphCount: i32) ---
Unload font chars info data (RAM)
UnloadImageColors ¶
UnloadImageColors :: proc "cdecl" (colors: [^]Color) ---
Unload color data loaded with LoadImageColors()
UnloadImagePalette ¶
UnloadImagePalette :: proc "cdecl" (colors: [^]Color) ---
Unload colors palette loaded with LoadImagePalette()
UnloadMaterial ¶
UnloadMaterial :: proc "cdecl" (material: Material) ---
Unload material from GPU memory (VRAM)
UnloadModel ¶
UnloadModel :: proc "cdecl" (model: Model) ---
Unload model (including meshes) from memory (RAM and/or VRAM)
UnloadModelAnimation ¶
UnloadModelAnimation :: proc "cdecl" (anim: ModelAnimation) ---
Unload animation data
UnloadModelAnimations ¶
UnloadModelAnimations :: proc "cdecl" (animations: [^]ModelAnimation, count: u32) ---
Unload animation array data
UnloadRenderTexture ¶
UnloadRenderTexture :: proc "cdecl" (target: RenderTexture) ---
Unload render texture from GPU memory (VRAM)
UnloadShader ¶
UnloadShader :: proc "cdecl" (shader: Shader) ---
Unload shader from GPU memory (VRAM)
UnloadTexture ¶
UnloadTexture :: proc "cdecl" (texture: Texture) ---
Unload texture from GPU memory (VRAM)
UnloadUTF8 ¶
UnloadUTF8 :: proc "cdecl" (text: [^]u8) ---
Unload UTF-8 text encoded from codepoints array
UnloadVrStereoConfig ¶
UnloadVrStereoConfig :: proc "cdecl" (config: VrStereoConfig) ---
Unload VR stereo config
UnloadWaveSamples ¶
UnloadWaveSamples :: proc "cdecl" (samples: [^]f32) ---
Unload samples data loaded with LoadWaveSamples()
UpdateAudioStream ¶
UpdateAudioStream :: proc "cdecl" (stream: AudioStream, data: rawptr, frameCount: i32) ---
Update audio stream buffers with data
UpdateCamera ¶
UpdateCamera :: proc "cdecl" (camera: ^Camera3D, mode: CameraMode) ---
Set camera mode (multiple camera modes available)
UpdateCameraPro ¶
UpdateCameraPro :: proc "cdecl" (camera: ^Camera3D, movement: linalg.Vector3f32, rotation: linalg.Vector3f32, zoom: f32) ---
Update camera movement/rotation
UpdateMeshBuffer ¶
UpdateMeshBuffer :: proc "cdecl" (mesh: Mesh, index: i32, data: rawptr, dataSize: i32, offset: i32) ---
Update mesh vertex data in GPU for a specific buffer index
UpdateModelAnimation ¶
UpdateModelAnimation :: proc "cdecl" (model: Model, anim: ModelAnimation, frame: i32) ---
Update model animation pose
UpdateMusicStream ¶
UpdateMusicStream :: proc "cdecl" (music: Music) ---
Updates buffers for music streaming
UpdateSound ¶
UpdateSound :: proc "cdecl" (sound: Sound, data: rawptr, sampleCount: i32) ---
Update sound buffer with new data
UpdateTexture ¶
UpdateTexture :: proc "cdecl" (texture: Texture, pixels: rawptr) ---
Update GPU texture with new data
UpdateTextureRec ¶
Update GPU texture rectangle with new data
UploadMesh ¶
UploadMesh :: proc "cdecl" (mesh: ^Mesh, is_dynamic: bool) ---
Upload mesh vertex data in GPU and provide VAO/VBO ids
WaveCrop ¶
WaveCrop :: proc "cdecl" (wave: ^Wave, initSample, finalSample: i32) ---
Crop a wave to defined samples range
WaveFormat ¶
WaveFormat :: proc "cdecl" (wave: ^Wave, sampleRate, sampleSize: i32, channels: i32) ---
Convert wave data to desired format
WindowShouldClose ¶
WindowShouldClose :: proc "cdecl" () -> bool ---
Check if KEY_ESCAPE pressed or Close icon pressed
rlActiveDrawBuffers ¶
rlActiveDrawBuffers :: proc "cdecl" (count: i32) ---
Activate multiple draw color buffers
rlBegin ¶
rlBegin :: proc "cdecl" (mode: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - Vertex level operations ------------------------------------------------------------------------------------
rlBindImageTexture ¶
rlBindImageTexture :: proc "cdecl" (id: u32, index: u32, format: i32, readonly: bool) ---
Buffer management
rlCheckRenderBatchLimit ¶
rlCheckRenderBatchLimit :: proc "cdecl" (vCount: i32) -> i32 ---
Check internal buffer overflow for a given number of vertex
rlClearScreenBuffers ¶
rlClearScreenBuffers :: proc "cdecl" () ---
Clear used screen buffers (color and depth)
rlCompileShader ¶
rlCompileShader :: proc "cdecl" (shaderCode: cstring, type: i32) -> u32 ---
Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
rlComputeShaderDispatch ¶
rlComputeShaderDispatch :: proc "cdecl" (groupX, groupY, groupZ: u32) ---
Dispatch compute shader (equivalent to draw for graphics pipeline)
rlCopyShaderBuffer ¶
rlCopyShaderBuffer :: proc "cdecl" (destId, srcId: u32, destOffset, srcOffset: u32, count: u32) ---
Copy SSBO data between buffers
rlCubemapParameters ¶
rlCubemapParameters :: proc "cdecl" (id: i32, param: i32, value: i32) ---
Set cubemap parameters (filter, wrap)
rlDisableFramebuffer ¶
rlDisableFramebuffer :: proc "cdecl" () ---
Disable render texture (fbo), return to default framebuffer
rlDisableVertexArray ¶
rlDisableVertexArray :: proc "cdecl" () ---
Disable vertex array (VAO, if supported)
rlDisableVertexAttribute ¶
rlDisableVertexAttribute :: proc "cdecl" (index: u32) ---
Disable vertex attribute index
rlDisableVertexBufferElement ¶
rlDisableVertexBufferElement :: proc "cdecl" () ---
Disable vertex buffer element (VBO element)
rlDrawRenderBatch ¶
rlDrawRenderBatch :: proc "cdecl" (batch: ^RenderBatch) ---
Draw render batch data (Update->Draw->Reset)
rlDrawRenderBatchActive ¶
rlDrawRenderBatchActive :: proc "cdecl" () ---
Update and draw internal render batch
rlDrawVertexArray ¶
rlDrawVertexArray :: proc "cdecl" (offset: i32, count: i32) ---
rlDrawVertexArrayElements ¶
rlDrawVertexArrayElements :: proc "cdecl" (offset: i32, count: i32, buffer: rawptr) ---
rlDrawVertexArrayElementsInstanced ¶
rlDrawVertexArrayElementsInstanced :: proc "cdecl" (offset: i32, count: i32, buffer: rawptr, instances: i32) ---
rlDrawVertexArrayInstanced ¶
rlDrawVertexArrayInstanced :: proc "cdecl" (offset: i32, count: i32, instances: i32) ---
rlEnableTextureCubemap ¶
rlEnableTextureCubemap :: proc "cdecl" (id: u32) ---
Enable texture cubemap
rlEnableVertexArray ¶
rlEnableVertexArray :: proc "cdecl" (vaoId: u32) -> bool ---
Vertex buffers state
rlEnableVertexAttribute ¶
rlEnableVertexAttribute :: proc "cdecl" (index: u32) ---
Enable vertex attribute index
rlEnableVertexBuffer ¶
rlEnableVertexBuffer :: proc "cdecl" (id: u32) ---
Enable vertex buffer (VBO)
rlEnableVertexBufferElement ¶
rlEnableVertexBufferElement :: proc "cdecl" (id: u32) ---
Enable vertex buffer element (VBO element)
rlFramebufferAttach ¶
rlFramebufferAttach :: proc "cdecl" (fboId, texId: u32, attachType: i32, texType: i32, mipLevel: i32) ---
Attach texture/renderbuffer to a framebuffer
rlFramebufferComplete ¶
rlFramebufferComplete :: proc "cdecl" (id: u32) -> bool ---
Verify framebuffer is complete
rlFrustum ¶
rlFrustum :: proc "cdecl" ( left, right, bottom, top, znear, zfar: f64, ) ---
rlGenTextureMipmaps ¶
rlGenTextureMipmaps :: proc "cdecl" (id: u32, width, height: i32, format: i32, mipmaps: ^i32) ---
Generate mipmap data for selected texture
rlGetFramebufferHeight ¶
rlGetFramebufferHeight :: proc "cdecl" () -> i32 ---
Get default framebuffer height
rlGetFramebufferWidth ¶
rlGetFramebufferWidth :: proc "cdecl" () -> i32 ---
Get default framebuffer width
rlGetGlTextureFormats ¶
rlGetGlTextureFormats :: proc "cdecl" (format: i32, glInternalFormat, glFormat, glType: ^u32) ---
Get OpenGL internal formats
rlGetLocationAttrib ¶
rlGetLocationAttrib :: proc "cdecl" (shaderId: u32, attribName: cstring) -> i32 ---
Get shader location attribute
rlGetLocationUniform ¶
rlGetLocationUniform :: proc "cdecl" (shaderId: u32, uniformName: cstring) -> i32 ---
Get shader location uniform
rlGetMatrixModelview ¶
rlGetMatrixModelview :: proc "cdecl" () -> linalg.Matrix4x4f32 ---
Matrix state management
rlGetMatrixProjection ¶
rlGetMatrixProjection :: proc "cdecl" () -> linalg.Matrix4x4f32 ---
Get internal projection matrix
rlGetMatrixProjectionStereo ¶
rlGetMatrixProjectionStereo :: proc "cdecl" (eye: i32) -> linalg.Matrix4x4f32 ---
Get internal projection matrix for stereo render (selected eye)
rlGetMatrixTransform ¶
rlGetMatrixTransform :: proc "cdecl" () -> linalg.Matrix4x4f32 ---
Get internal accumulated transform matrix
rlGetMatrixViewOffsetStereo ¶
rlGetMatrixViewOffsetStereo :: proc "cdecl" (eye: i32) -> linalg.Matrix4x4f32 ---
Get internal view offset matrix for stereo render (selected eye)
rlGetPixelFormatName ¶
rlGetPixelFormatName :: proc "cdecl" (format: u32) -> cstring ---
Get name string for pixel format
rlGetShaderBufferSize ¶
rlGetShaderBufferSize :: proc "cdecl" (id: u32) -> u32 ---
Get SSBO buffer size
rlGetShaderLocsDefault ¶
rlGetShaderLocsDefault :: proc "cdecl" () -> [^]i32 ---
Get default shader locations
rlIsStereoRenderEnabled ¶
rlIsStereoRenderEnabled :: proc "cdecl" () -> bool ---
Check if stereo render is enabled
rlLoadComputeShaderProgram ¶
rlLoadComputeShaderProgram :: proc "cdecl" (shaderId: u32) -> u32 ---
Compute shader management
rlLoadDrawCube ¶
rlLoadDrawCube :: proc "cdecl" () ---
Quick and dirty cube/quad buffers load->draw->unload
rlLoadExtensions ¶
rlLoadExtensions :: proc "cdecl" (loader: rawptr) ---
Load OpenGL extensions (loader function required)
rlLoadFramebuffer ¶
rlLoadFramebuffer :: proc "cdecl" (width, height: i32) -> u32 ---
Framebuffer management (fbo)
rlLoadRenderBatch ¶
rlLoadRenderBatch :: proc "cdecl" (numBuffers, bufferElements: i32) -> RenderBatch ---
Render batch management NOTE: rlgl provides a default render batch to behave like OpenGL 1.1 immediate mode but this render batch API is exposed in case of custom batches are required
rlLoadShaderBuffer ¶
rlLoadShaderBuffer :: proc "cdecl" (size: u32, data: rawptr, usageHint: i32) -> u32 ---
Shader buffer storage object management (ssbo)
rlLoadShaderCode ¶
rlLoadShaderCode :: proc "cdecl" (vsCode, fsCode: cstring) -> u32 ---
Shaders management
rlLoadShaderProgram ¶
rlLoadShaderProgram :: proc "cdecl" (vShaderId, fShaderId: u32) -> u32 ---
Load custom shader program
rlLoadTexture ¶
rlLoadTexture :: proc "cdecl" (data: rawptr, width, height: i32, format: i32, mipmapCount: i32) -> u32 ---
Textures management
rlLoadTextureCubemap ¶
rlLoadTextureCubemap :: proc "cdecl" (data: rawptr, size: i32, format: i32) -> u32 ---
Load texture cubemap
rlLoadTextureDepth ¶
rlLoadTextureDepth :: proc "cdecl" (width, height: i32, useRenderBuffer: bool) -> u32 ---
Load depth texture/renderbuffer (to be attached to fbo)
rlLoadVertexBuffer ¶
rlLoadVertexBuffer :: proc "cdecl" (buffer: rawptr, size: i32, is_dynamic: bool) -> u32 ---
Load a vertex buffer attribute
rlLoadVertexBufferElement ¶
rlLoadVertexBufferElement :: proc "cdecl" (buffer: rawptr, size: i32, is_dynamic: bool) -> u32 ---
Load a new attributes element buffer
rlMatrixMode ¶
rlMatrixMode :: proc "cdecl" (mode: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - Matrix operations ------------------------------------------------------------------------------------
rlMultMatrixf ¶
rlMultMatrixf :: proc "cdecl" (matf: [^]f32) ---
Multiply the current matrix by another matrix
rlReadScreenPixels ¶
rlReadScreenPixels :: proc "cdecl" (width, height: i32) -> [^]u8 ---
Read screen pixel data (color buffer)
rlReadShaderBuffer ¶
rlReadShaderBuffer :: proc "cdecl" (id: u32, dest: rawptr, count: u32, offset: u32) ---
Read SSBO buffer data (GPU->CPU)
rlReadTexturePixels ¶
rlReadTexturePixels :: proc "cdecl" (id: u32, width, height: i32, format: i32) -> rawptr ---
Read texture pixel data
rlRotatef ¶
rlRotatef :: proc "cdecl" (angleDeg: f32, x, y, z: f32) ---
Multiply the current matrix by a rotation matrix
rlScalef ¶
rlScalef :: proc "cdecl" (x, y, z: f32) ---
Multiply the current matrix by a scaling matrix
rlSetBlendFactors ¶
rlSetBlendFactors :: proc "cdecl" (glSrcFactor, glDstFactor, glEquation: i32) ---
Set blending mode factor and equation (using OpenGL factors)
rlSetBlendFactorsSeparate ¶
rlSetBlendFactorsSeparate :: proc "cdecl" ( glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha: i32, ) ---
Set blending mode factors and equations separately (using OpenGL factors)
rlSetFramebufferHeight ¶
rlSetFramebufferHeight :: proc "cdecl" (height: i32) ---
Set current framebuffer height
rlSetFramebufferWidth ¶
rlSetFramebufferWidth :: proc "cdecl" (width: i32) ---
Set current framebuffer width
rlSetMatrixModelview ¶
rlSetMatrixModelview :: proc "cdecl" (view: linalg.Matrix4x4f32) ---
Set a custom modelview matrix (replaces internal modelview matrix)
rlSetMatrixProjection ¶
rlSetMatrixProjection :: proc "cdecl" (proj: linalg.Matrix4x4f32) ---
Set a custom projection matrix (replaces internal projection matrix)
rlSetMatrixProjectionStereo ¶
rlSetMatrixProjectionStereo :: proc "cdecl" (right, left: linalg.Matrix4x4f32) ---
Set eyes projection matrices for stereo rendering
rlSetMatrixViewOffsetStereo ¶
rlSetMatrixViewOffsetStereo :: proc "cdecl" (right, left: linalg.Matrix4x4f32) ---
Set eyes view offsets matrices for stereo rendering
rlSetRenderBatchActive ¶
rlSetRenderBatchActive :: proc "cdecl" (batch: ^RenderBatch) ---
Set the active render batch for rlgl (NULL for default internal)
rlSetShader ¶
rlSetShader :: proc "cdecl" (id: u32, locs: [^]i32) ---
Set shader currently active (id and locations)
rlSetTexture ¶
rlSetTexture :: proc "cdecl" (id: u32) ---
Set current texture for render batch and check buffers limits
rlSetUniform ¶
rlSetUniform :: proc "cdecl" (locIndex: i32, value: rawptr, uniformType: i32, count: i32) ---
Set shader value uniform
rlSetUniformMatrix ¶
rlSetUniformMatrix :: proc "cdecl" (locIndex: i32, mat: linalg.Matrix4x4f32) ---
Set shader value matrix
rlSetUniformSampler ¶
rlSetUniformSampler :: proc "cdecl" (locIndex: i32, textureId: u32) ---
Set shader value sampler
rlSetVertexAttribute ¶
rlSetVertexAttribute :: proc "cdecl" ( index: u32, compSize: i32, type: i32, normalized: bool, stride: i32, pointer: rawptr, ) ---
rlSetVertexAttributeDefault ¶
rlSetVertexAttributeDefault :: proc "cdecl" (locIndex: i32, value: rawptr, attribType: i32, count: i32) ---
Set vertex attribute default value
rlSetVertexAttributeDivisor ¶
rlSetVertexAttributeDivisor :: proc "cdecl" (index: u32, divisor: i32) ---
rlTexCoord2f ¶
rlTexCoord2f :: proc "cdecl" (x, y: f32) ---
Define one vertex (texture coordinate) - 2 f32
rlTextureParameters ¶
rlTextureParameters :: proc "cdecl" (id: u32, param: i32, value: i32) ---
Set texture parameters (filter, wrap)
rlTranslatef ¶
rlTranslatef :: proc "cdecl" (x, y, z: f32) ---
Multiply the current matrix by a translation matrix
rlUnloadRenderBatch ¶
rlUnloadRenderBatch :: proc "cdecl" (batch: RenderBatch) ---
Unload render batch system
rlUnloadShaderBuffer ¶
rlUnloadShaderBuffer :: proc "cdecl" (ssboId: u32) ---
Unload shader storage buffer object (SSBO)
rlUnloadVertexArray ¶
rlUnloadVertexArray :: proc "cdecl" (vaoId: u32) ---
rlUnloadVertexBuffer ¶
rlUnloadVertexBuffer :: proc "cdecl" (vboId: u32) ---
rlUpdateShaderBuffer ¶
rlUpdateShaderBuffer :: proc "cdecl" (id: u32, data: rawptr, dataSize: u32, offset: u32) ---
Update SSBO buffer data
rlUpdateTexture ¶
rlUpdateTexture :: proc "cdecl" ( id: u32, offsetX, offsetY: i32, width, height: i32, format: i32, data: rawptr, ) ---
Update GPU texture with new data
rlUpdateVertexBuffer ¶
rlUpdateVertexBuffer :: proc "cdecl" (bufferId: u32, data: rawptr, dataSize: i32, offset: i32) ---
Update GPU buffer with new data
rlUpdateVertexBufferElements ¶
rlUpdateVertexBufferElements :: proc "cdecl" (id: u32, data: rawptr, dataSize: i32, offset: i32) ---
Update vertex buffer elements with new data
rlglInit ¶
rlglInit :: proc "cdecl" (width, height: i32) ---
------------------------------------------------------------------------------------ Functions Declaration - rlgl functionality ------------------------------------------------------------------------------------ rlgl initialization functions
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2023-03 (vendor "odin") Windows_amd64 @ 2023-03-29 21:09:05.523659200 +0000 UTC