package vendor:raylib
Overview
Package vendor:raylib implements bindings for version 5.0 of the raylib library (https://www.raylib.com/)
********************************************************************************************* * * raylib v5.0 - 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 (86)
- AudioCallback
- AudioStream
- AutomationEvent
- AutomationEventList
- BlendMode
- BoneInfo
- BoundingBox
- Camera
- Camera2D
- Camera3D
- CameraMode
- CameraProjection
- Color
- ConfigFlag
- ConfigFlags
- CubemapLayout
- FilePathList
- Font
- FontType
- GamepadAxis
- GamepadButton
- Gesture
- Gestures
- GlyphInfo
- GuiCheckBoxProperty
- GuiColorPickerProperty
- GuiComboBoxProperty
- GuiControl
- GuiControlProperty
- GuiDefaultProperty
- GuiDropdownBoxProperty
- GuiIconName
- GuiListViewProperty
- GuiProgressBarProperty
- GuiScrollBarProperty
- GuiSliderProperty
- GuiSpinnerProperty
- GuiState
- GuiTextAlignment
- GuiTextAlignmentVertical
- GuiTextBoxProperty
- GuiTextWrapMode
- GuiToggleProperty
- Image
- KeyboardKey
- LoadFileDataCallback
- LoadFileTextCallback
- Material
- MaterialMap
- MaterialMapIndex
- Matrix
- Mesh
- Model
- ModelAnimation
- MouseButton
- MouseCursor
- Music
- NPatchInfo
- NPatchLayout
- PixelFormat
- Quaternion
- Ray
- RayCollision
- Rectangle
- RenderTexture
- RenderTexture2D
- SaveFileDataCallback
- SaveFileTextCallback
- Shader
- ShaderLocationIndex
- ShaderUniformDataType
- Sound
- Texture
- Texture2D
- TextureCubemap
- TextureFilter
- TextureWrap
- TraceLogCallback
- TraceLogLevel
- Transform
- Vector2
- Vector3
- Vector4
- VrDeviceInfo
- VrStereoConfig
- Wave
Constants (41)
- BEIGE
- BLACK
- BLANK
- BLUE
- BROWN
- DARKBLUE
- DARKBROWN
- DARKGRAY
- DARKGREEN
- DARKPURPLE
- DEG2RAD
- EPSILON
- GOLD
- GRAY
- GREEN
- LIGHTGRAY
- LIME
- MAGENTA
- MAROON
- MAX_TEXTFORMAT_BUFFERS
- MAX_TEXT_BUFFER_LENGTH
- ORANGE
- PI
- PINK
- PURPLE
- RAD2DEG
- RAYGUI_SHARED
- RAYGUI_VERSION
- RAYLIB_SHARED
- RAYWHITE
- RED
- SCROLLBAR_LEFT_SIDE
- SCROLLBAR_RIGHT_SIDE
- SKYBLUE
- VERSION
- VERSION_MAJOR
- VERSION_MINOR
- VERSION_PATCH
- VIOLET
- WHITE
- YELLOW
Variables (1)
Procedures (753)
- AttachAudioMixedProcessor
- AttachAudioStreamProcessor
- BeginBlendMode
- BeginDrawing
- BeginMode2D
- BeginMode3D
- BeginScissorMode
- BeginShaderMode
- BeginTextureMode
- BeginVrStereoMode
- ChangeDirectory
- CheckCollisionBoxSphere
- CheckCollisionBoxes
- CheckCollisionCircleRec
- CheckCollisionCircles
- CheckCollisionLines
- CheckCollisionPointCircle
- CheckCollisionPointLine
- CheckCollisionPointPoly
- CheckCollisionPointRec
- CheckCollisionPointTriangle
- CheckCollisionRecs
- CheckCollisionSpheres
- Clamp
- 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
- DrawCircleLinesV
- DrawCircleSector
- DrawCircleSectorLines
- DrawCircleV
- DrawCube
- DrawCubeV
- DrawCubeWires
- DrawCubeWiresV
- DrawCylinder
- DrawCylinderEx
- DrawCylinderWires
- DrawCylinderWiresEx
- DrawEllipse
- DrawEllipseLines
- DrawFPS
- DrawGrid
- DrawLine
- DrawLine3D
- DrawLineBezier
- 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
- DrawSplineBasis
- DrawSplineBezierCubic
- DrawSplineBezierQuadratic
- DrawSplineCatmullRom
- DrawSplineLinear
- DrawSplineSegmentBasis
- DrawSplineSegmentBezierCubic
- DrawSplineSegmentBezierQuadratic
- DrawSplineSegmentCatmullRom
- DrawSplineSegmentLinear
- 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
- ExportAutomationEventList
- ExportDataAsCode
- ExportFontAsCode
- ExportImage
- ExportImageAsCode
- ExportImageToMemory
- ExportMesh
- ExportWave
- ExportWaveAsCode
- Fade
- FileExists
- FloatEquals
- GenImageCellular
- GenImageChecked
- GenImageColor
- GenImageFontAtlas
- GenImageGradientLinear
- GenImageGradientRadial
- GenImageGradientSquare
- 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
- GetMasterVolume
- 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
- GetSplinePointBasis
- GetSplinePointBezierCubic
- GetSplinePointBezierQuad
- GetSplinePointCatmullRom
- GetSplinePointLinear
- GetTime
- GetTouchPointCount
- GetTouchPointId
- GetTouchPosition
- GetTouchX
- GetTouchY
- GetWindowHandle
- GetWindowPosition
- GetWindowScaleDPI
- GetWorkingDirectory
- GetWorldToScreen
- GetWorldToScreen2D
- GetWorldToScreenEx
- GuiButton
- GuiCheckBox
- GuiColorBarAlpha
- GuiColorBarHue
- GuiColorPanel
- GuiColorPanelHSV
- GuiColorPicker
- GuiColorPickerHSV
- GuiComboBox
- GuiDisable
- GuiDisableTooltip
- GuiDrawIcon
- GuiDropdownBox
- GuiDummyRec
- GuiEnable
- GuiEnableTooltip
- GuiGetFont
- GuiGetIcons
- GuiGetState
- GuiGetStyle
- GuiGrid
- GuiGroupBox
- GuiIconText
- GuiIsLocked
- GuiLabel
- GuiLabelButton
- GuiLine
- GuiListView
- GuiListViewEx
- GuiLoadIcons
- GuiLoadStyle
- GuiLoadStyleDefault
- GuiLock
- GuiMessageBox
- GuiPanel
- GuiProgressBar
- GuiScrollPanel
- GuiSetAlpha
- GuiSetFont
- GuiSetIconScale
- GuiSetState
- GuiSetStyle
- GuiSetTooltip
- GuiSlider
- GuiSliderBar
- GuiSpinner
- GuiStatusBar
- GuiTabBar
- GuiTextBox
- GuiTextInputBox
- GuiToggle
- GuiToggleGroup
- GuiToggleSlider
- GuiUnlock
- GuiValueBox
- GuiWindowBox
- 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
- ImageRotate
- 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
- IsKeyPressedRepeat
- 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
- Lerp
- LoadAudioStream
- LoadAutomationEventList
- LoadCodepoints
- LoadDirectoryFiles
- LoadDirectoryFilesEx
- LoadDroppedFiles
- LoadFileData
- LoadFileText
- LoadFont
- LoadFontData
- LoadFontEx
- LoadFontFromImage
- LoadFontFromMemory
- LoadImage
- LoadImageAnim
- LoadImageColors
- LoadImageFromMemory
- LoadImageFromScreen
- LoadImageFromTexture
- LoadImagePalette
- LoadImageRaw
- LoadImageSvg
- LoadMaterialDefault
- LoadMaterials
- LoadModel
- LoadModelAnimations
- LoadModelFromMesh
- LoadMusicStream
- LoadMusicStreamFromMemory
- LoadRandomSequence
- LoadRenderTexture
- LoadShader
- LoadShaderFromMemory
- LoadSound
- LoadSoundAlias
- LoadSoundFromWave
- LoadTexture
- LoadTextureCubemap
- LoadTextureFromImage
- LoadUTF8
- LoadVrStereoConfig
- LoadWave
- LoadWaveFromMemory
- LoadWaveSamples
- MatrixAdd
- MatrixDeterminant
- MatrixIdentity
- MatrixInvert
- MatrixLookAt
- MatrixMultiply
- MatrixOrtho
- MatrixPerspective
- MatrixRotate
- MatrixRotateX
- MatrixRotateXYZ
- MatrixRotateY
- MatrixRotateZ
- MatrixRotateZYX
- MatrixScale
- MatrixSubtract
- MatrixToFloatV
- MatrixTrace
- MatrixTranslate
- MatrixTranspose
- MaximizeWindow
- MeasureText
- MeasureTextEx
- MemAlloc
- MemAllocator
- MemAllocatorProc
- MemFreeCstring
- MemFreePtr
- MemRealloc
- MinimizeWindow
- Normalize
- OpenURL
- PauseAudioStream
- PauseMusicStream
- PauseSound
- PlayAudioStream
- PlayAutomationEvent
- PlayMusicStream
- PlaySound
- PollInputEvents
- QuaternionAdd
- QuaternionAddValue
- QuaternionDivide
- QuaternionEquals
- QuaternionFromAxisAngle
- QuaternionFromEuler
- QuaternionFromMatrix
- QuaternionFromVector3ToVector3
- QuaternionIdentity
- QuaternionInvert
- QuaternionLength
- QuaternionLerp
- QuaternionMultiply
- QuaternionNlerp
- QuaternionNormalize
- QuaternionScale
- QuaternionSlerp
- QuaternionSubtract
- QuaternionSubtractValue
- QuaternionToAxisAngle
- QuaternionToEuler
- QuaternionToMatrix
- QuaternionTransform
- Remap
- RestoreWindow
- ResumeAudioStream
- ResumeMusicStream
- ResumeSound
- SaveFileData
- SaveFileText
- SeekMusicStream
- SetAudioStreamBufferSizeDefault
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- SetAutomationEventBaseFrame
- SetAutomationEventList
- 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
- SetTextLineSpacing
- SetTextureFilter
- SetTextureWrap
- SetTraceLogCallback
- SetTraceLogLevel
- SetWindowFocused
- SetWindowIcon
- SetWindowIcons
- SetWindowMaxSize
- SetWindowMinSize
- SetWindowMonitor
- SetWindowOpacity
- SetWindowPosition
- SetWindowSize
- SetWindowState
- SetWindowTitle
- ShowCursor
- StartAutomationEventRecording
- StopAudioStream
- StopAutomationEventRecording
- StopMusicStream
- StopSound
- SwapScreenBuffer
- TakeScreenshot
- TextAppend
- TextCopy
- TextFindIndex
- TextFormat
- TextFormatAlloc
- TextInsert
- TextIsEqual
- TextJoin
- TextLength
- TextReplace
- TextSplit
- TextSubtext
- TextToInteger
- TextToLower
- TextToPascal
- TextToUpper
- ToggleBorderlessWindowed
- ToggleFullscreen
- TraceLog
- UnloadAudioStream
- UnloadAutomationEventList
- UnloadCodepoints
- UnloadDirectoryFiles
- UnloadDroppedFiles
- UnloadFileData
- UnloadFileText
- UnloadFont
- UnloadFontData
- UnloadImage
- UnloadImageColors
- UnloadImagePalette
- UnloadMaterial
- UnloadMesh
- UnloadModel
- UnloadModelAnimation
- UnloadModelAnimations
- UnloadMusicStream
- UnloadRandomSequence
- UnloadRenderTexture
- UnloadShader
- UnloadSound
- UnloadSoundAlias
- UnloadTexture
- UnloadUTF8
- UnloadVrStereoConfig
- UnloadWave
- UnloadWaveSamples
- UpdateAudioStream
- UpdateCamera
- UpdateCameraPro
- UpdateMeshBuffer
- UpdateModelAnimation
- UpdateMusicStream
- UpdateSound
- UpdateTexture
- UpdateTextureRec
- UploadMesh
- Vector2Add
- Vector2AddValue
- Vector2Angle
- Vector2Clamp
- Vector2ClampValue
- Vector2Distance
- Vector2DistanceSqrt
- Vector2Divide
- Vector2DotProduct
- Vector2Equals
- Vector2Invert
- Vector2Length
- Vector2LengthSqr
- Vector2Lerp
- Vector2LineAngle
- Vector2MoveTowards
- Vector2Multiply
- Vector2Negate
- Vector2Normalize
- Vector2One
- Vector2Reflect
- Vector2Rotate
- Vector2Scale
- Vector2Subtract
- Vector2SubtractValue
- Vector2Transform
- Vector2Zero
- Vector3Add
- Vector3AddValue
- Vector3Angle
- Vector3Barycenter
- Vector3Clamp
- Vector3ClampValue
- Vector3CrossProduct
- Vector3Distance
- Vector3DistanceSqrt
- Vector3Divide
- Vector3DotProduct
- Vector3Equals
- Vector3Invert
- Vector3Length
- Vector3LengthSqr
- Vector3Lerp
- Vector3LineAngle
- Vector3Max
- Vector3Min
- Vector3MoveTowards
- Vector3Multiply
- Vector3Negate
- Vector3Normalize
- Vector3One
- Vector3OrthoNormalize
- Vector3Project
- Vector3Reflect
- Vector3Refract
- Vector3Reject
- Vector3RotateByAxisAngle
- Vector3RotateByQuaternion
- Vector3Scale
- Vector3Subtract
- Vector3SubtractValue
- Vector3Transform
- Vector3Unproject
- Vector3Zero
- WaitTime
- WaveCopy
- WaveCrop
- WaveFormat
- WindowShouldClose
- Wrap
Procedure Groups (1)
Types
AudioCallback ¶
Related Procedures With Parameters
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
Related Procedures With Parameters
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
Related Procedures With Returns
AutomationEvent ¶
AutomationEvent :: struct { frame: u32, // Event frame type: u32, // Event type (AutomationEventType) params: [4]i32, }
Automation event
Related Procedures With Parameters
AutomationEventList ¶
AutomationEventList :: struct { capacity: u32, // Events max entries (MAX_AUTOMATION_EVENTS) count: u32, // Events entries count events: [^]AutomationEvent, }
Automation event list
Related Procedures With Parameters
Related Procedures With Returns
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)
Related Procedures With Parameters
BoneInfo ¶
Bone information
Camera2D ¶
Camera2D :: struct { offset: [2]f32, // Camera offset (displacement from target) target: [2]f32, // Camera target (rotation and zoom origin) rotation: f32, // Camera rotation in degrees zoom: f32, }
Camera2D type, defines a 2d camera
Related Procedures With Parameters
Camera3D ¶
Camera3D :: struct { position: [3]f32, // Camera position target: [3]f32, // Camera target it looks-at up: [3]f32, // 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
Related Procedures With Parameters
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
Related Procedures With Parameters
CameraProjection ¶
CameraProjection :: enum i32 { PERSPECTIVE = 0, // Perspective projection ORTHOGRAPHIC, // Orthographic projection }
Camera projection
Color ¶
Color :: distinct [4]u8
Color, 4 components, R8G8B8A8 (32bit)
Note: In Raylib this is a struct. But here we use a fixed array, so that .rgba swizzling etc work.
Related Procedures With Parameters
- ClearBackground
- ColorAlpha
- ColorAlphaBlend
- ColorBrightness
- ColorContrast
- ColorNormalize
- ColorTint
- ColorToHSV
- ColorToInt
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawBoundingBox
- DrawCapsule
- DrawCapsuleWires
- DrawCircle
- DrawCircle3D
- DrawCircleGradient
- DrawCircleLines
- DrawCircleLinesV
- DrawCircleSector
- DrawCircleSectorLines
- DrawCircleV
- DrawCube
- DrawCubeV
- DrawCubeWires
- DrawCubeWiresV
- DrawCylinder
- DrawCylinderEx
- DrawCylinderWires
- DrawCylinderWiresEx
- DrawEllipse
- DrawEllipseLines
- DrawLine
- DrawLine3D
- DrawLineBezier
- DrawLineEx
- DrawLineStrip
- DrawLineV
- 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
- DrawSplineBasis
- DrawSplineBezierCubic
- DrawSplineBezierQuadratic
- DrawSplineCatmullRom
- DrawSplineLinear
- DrawSplineSegmentBasis
- DrawSplineSegmentBezierCubic
- DrawSplineSegmentBezierQuadratic
- DrawSplineSegmentCatmullRom
- DrawSplineSegmentLinear
- DrawText
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- DrawTriangle
- DrawTriangle3D
- DrawTriangleFan
- DrawTriangleLines
- DrawTriangleStrip
- DrawTriangleStrip3D
- Fade
- GenImageChecked
- GenImageColor
- GenImageGradientLinear
- GenImageGradientRadial
- GenImageGradientSquare
- GuiColorPanel
- GuiColorPicker
- GuiDrawIcon
- ImageAlphaClear
- ImageClearBackground
- ImageColorReplace
- ImageColorTint
- ImageDraw
- ImageDrawCircle
- ImageDrawCircleLines
- ImageDrawCircleLinesV
- ImageDrawCircleV
- ImageDrawLine
- ImageDrawLineV
- ImageDrawPixel
- ImageDrawPixelV
- ImageDrawRectangle
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageDrawRectangleV
- ImageDrawText
- ImageDrawTextEx
- ImageResizeCanvas
- ImageText
- ImageTextEx
- ImageToPOT
- LoadFontFromImage
- SetPixelColor
- UnloadImageColors
- UnloadImagePalette
Related Procedures With Returns
- ColorFromHSV
- ColorFromNormalized
- GetColor
- GetImageColor
- GetPixelColor
- LoadImageColors
- LoadImagePalette
Related Constants
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 BORDERLESS_WINDOWED_MODE = 15, // Set to run program in borderless windowed mode 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
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
Related Procedures With Parameters
FilePathList ¶
FilePathList :: struct { capacity: u32, // Filepaths max entries count: u32, // Filepaths entries count paths: [^]cstring, }
File path list
Related Procedures With Parameters
Related Procedures With Returns
Font ¶
Font :: struct { baseSize: i32, // Base size (default chars height) glyphCount: i32, // Number of characters glyphPadding: i32, // Padding around the chars texture: Texture, // Characters texture atlas recs: [^]Rectangle, // Characters rectangles in texture glyphs: [^]GlyphInfo, }
Font type, includes texture and charSet array data
Related Procedures With Parameters
- DrawTextCodepoint
- DrawTextCodepoints
- DrawTextEx
- DrawTextPro
- ExportFontAsCode
- GetGlyphAtlasRec
- GetGlyphIndex
- GetGlyphInfo
- GuiSetFont
- ImageDrawTextEx
- ImageTextEx
- IsFontReady
- MeasureTextEx
- UnloadFont
Related Procedures With Returns
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
Related Procedures With Parameters
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
Related Procedures With Parameters
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
Related Procedures With Parameters
Related Procedures With Returns
Gesture ¶
Gesture :: enum u32 { 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
Related Procedures With Parameters
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
Related Procedures With Parameters
Related Procedures With Returns
GuiCheckBoxProperty ¶
GuiCheckBoxProperty :: enum i32 { CHECK_PADDING = 16, // CheckBox internal check padding }
CheckBox
GuiColorPickerProperty ¶
GuiColorPickerProperty :: enum i32 { COLOR_SELECTOR_SIZE = 16, HUEBAR_WIDTH, // ColorPicker right hue bar width HUEBAR_PADDING, // ColorPicker right hue bar separation from panel HUEBAR_SELECTOR_HEIGHT, // ColorPicker right hue bar selector height HUEBAR_SELECTOR_OVERFLOW, // ColorPicker right hue bar selector overflow }
ColorPicker
GuiComboBoxProperty ¶
GuiComboBoxProperty :: enum i32 { COMBO_BUTTON_WIDTH = 16, // ComboBox right button width COMBO_BUTTON_SPACING, // ComboBox button separation }
ComboBox
GuiControl ¶
GuiControl :: enum i32 { // Default -> populates to all controls when set DEFAULT = 0, // Basic controls LABEL, // Used also for: LABELBUTTON BUTTON, TOGGLE, // Used also for: TOGGLEGROUP SLIDER, // Used also for: SLIDERBAR PROGRESSBAR, CHECKBOX, COMBOBOX, DROPDOWNBOX, TEXTBOX, // Used also for: TEXTBOXMULTI VALUEBOX, SPINNER, // Uses: BUTTON, VALUEBOX LISTVIEW, COLORPICKER, SCROLLBAR, STATUSBAR, }
Gui controls
Related Procedures With Parameters
GuiControlProperty ¶
GuiControlProperty :: enum i32 { BORDER_COLOR_NORMAL = 0, BASE_COLOR_NORMAL, TEXT_COLOR_NORMAL, BORDER_COLOR_FOCUSED, BASE_COLOR_FOCUSED, TEXT_COLOR_FOCUSED, BORDER_COLOR_PRESSED, BASE_COLOR_PRESSED, TEXT_COLOR_PRESSED, BORDER_COLOR_DISABLED, BASE_COLOR_DISABLED, TEXT_COLOR_DISABLED, BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT, RESERVED, }
Gui base properties for every control NOTE: RAYGUI_MAX_PROPS_BASE properties (by default 16 properties)
GuiDefaultProperty ¶
GuiDefaultProperty :: enum i32 { TEXT_SIZE = 16, // Text size (glyphs max height) TEXT_SPACING, // Text spacing between glyphs LINE_COLOR, // Line control color BACKGROUND_COLOR, // Background color TEXT_LINE_SPACING, // Text spacing between lines TEXT_ALIGNMENT_VERTICAL, // Text vertical alignment inside text bounds (after border and padding) TEXT_WRAP_MODE, // Text wrap-mode inside text bounds }
DEFAULT extended properties NOTE: Those properties are common to all controls or global
GuiDropdownBoxProperty ¶
GuiDropdownBoxProperty :: enum i32 { ARROW_PADDING = 16, // DropdownBox arrow separation from border and items DROPDOWN_ITEMS_SPACING, // DropdownBox items separation }
DropdownBox
GuiIconName ¶
GuiIconName :: enum i32 { ICON_NONE = 0, ICON_FOLDER_FILE_OPEN = 1, ICON_FILE_SAVE_CLASSIC = 2, ICON_FOLDER_OPEN = 3, ICON_FOLDER_SAVE = 4, ICON_FILE_OPEN = 5, ICON_FILE_SAVE = 6, ICON_FILE_EXPORT = 7, ICON_FILE_ADD = 8, ICON_FILE_DELETE = 9, ICON_FILETYPE_TEXT = 10, ICON_FILETYPE_AUDIO = 11, ICON_FILETYPE_IMAGE = 12, ICON_FILETYPE_PLAY = 13, ICON_FILETYPE_VIDEO = 14, ICON_FILETYPE_INFO = 15, ICON_FILE_COPY = 16, ICON_FILE_CUT = 17, ICON_FILE_PASTE = 18, ICON_CURSOR_HAND = 19, ICON_CURSOR_POINTER = 20, ICON_CURSOR_CLASSIC = 21, ICON_PENCIL = 22, ICON_PENCIL_BIG = 23, ICON_BRUSH_CLASSIC = 24, ICON_BRUSH_PAINTER = 25, ICON_WATER_DROP = 26, ICON_COLOR_PICKER = 27, ICON_RUBBER = 28, ICON_COLOR_BUCKET = 29, ICON_TEXT_T = 30, ICON_TEXT_A = 31, ICON_SCALE = 32, ICON_RESIZE = 33, ICON_FILTER_POINT = 34, ICON_FILTER_BILINEAR = 35, ICON_CROP = 36, ICON_CROP_ALPHA = 37, ICON_SQUARE_TOGGLE = 38, ICON_SYMMETRY = 39, ICON_SYMMETRY_HORIZONTAL = 40, ICON_SYMMETRY_VERTICAL = 41, ICON_LENS = 42, ICON_LENS_BIG = 43, ICON_EYE_ON = 44, ICON_EYE_OFF = 45, ICON_FILTER_TOP = 46, ICON_FILTER = 47, ICON_TARGET_POINT = 48, ICON_TARGET_SMALL = 49, ICON_TARGET_BIG = 50, ICON_TARGET_MOVE = 51, ICON_CURSOR_MOVE = 52, ICON_CURSOR_SCALE = 53, ICON_CURSOR_SCALE_RIGHT = 54, ICON_CURSOR_SCALE_LEFT = 55, ICON_UNDO = 56, ICON_REDO = 57, ICON_REREDO = 58, ICON_MUTATE = 59, ICON_ROTATE = 60, ICON_REPEAT = 61, ICON_SHUFFLE = 62, ICON_EMPTYBOX = 63, ICON_TARGET = 64, ICON_TARGET_SMALL_FILL = 65, ICON_TARGET_BIG_FILL = 66, ICON_TARGET_MOVE_FILL = 67, ICON_CURSOR_MOVE_FILL = 68, ICON_CURSOR_SCALE_FILL = 69, ICON_CURSOR_SCALE_RIGHT_FILL = 70, ICON_CURSOR_SCALE_LEFT_FILL = 71, ICON_UNDO_FILL = 72, ICON_REDO_FILL = 73, ICON_REREDO_FILL = 74, ICON_MUTATE_FILL = 75, ICON_ROTATE_FILL = 76, ICON_REPEAT_FILL = 77, ICON_SHUFFLE_FILL = 78, ICON_EMPTYBOX_SMALL = 79, ICON_BOX = 80, ICON_BOX_TOP = 81, ICON_BOX_TOP_RIGHT = 82, ICON_BOX_RIGHT = 83, ICON_BOX_BOTTOM_RIGHT = 84, ICON_BOX_BOTTOM = 85, ICON_BOX_BOTTOM_LEFT = 86, ICON_BOX_LEFT = 87, ICON_BOX_TOP_LEFT = 88, ICON_BOX_CENTER = 89, ICON_BOX_CIRCLE_MASK = 90, ICON_POT = 91, ICON_ALPHA_MULTIPLY = 92, ICON_ALPHA_CLEAR = 93, ICON_DITHERING = 94, ICON_MIPMAPS = 95, ICON_BOX_GRID = 96, ICON_GRID = 97, ICON_BOX_CORNERS_SMALL = 98, ICON_BOX_CORNERS_BIG = 99, ICON_FOUR_BOXES = 100, ICON_GRID_FILL = 101, ICON_BOX_MULTISIZE = 102, ICON_ZOOM_SMALL = 103, ICON_ZOOM_MEDIUM = 104, ICON_ZOOM_BIG = 105, ICON_ZOOM_ALL = 106, ICON_ZOOM_CENTER = 107, ICON_BOX_DOTS_SMALL = 108, ICON_BOX_DOTS_BIG = 109, ICON_BOX_CONCENTRIC = 110, ICON_BOX_GRID_BIG = 111, ICON_OK_TICK = 112, ICON_CROSS = 113, ICON_ARROW_LEFT = 114, ICON_ARROW_RIGHT = 115, ICON_ARROW_DOWN = 116, ICON_ARROW_UP = 117, ICON_ARROW_LEFT_FILL = 118, ICON_ARROW_RIGHT_FILL = 119, ICON_ARROW_DOWN_FILL = 120, ICON_ARROW_UP_FILL = 121, ICON_AUDIO = 122, ICON_FX = 123, ICON_WAVE = 124, ICON_WAVE_SINUS = 125, ICON_WAVE_SQUARE = 126, ICON_WAVE_TRIANGULAR = 127, ICON_CROSS_SMALL = 128, ICON_PLAYER_PREVIOUS = 129, ICON_PLAYER_PLAY_BACK = 130, ICON_PLAYER_PLAY = 131, ICON_PLAYER_PAUSE = 132, ICON_PLAYER_STOP = 133, ICON_PLAYER_NEXT = 134, ICON_PLAYER_RECORD = 135, ICON_MAGNET = 136, ICON_LOCK_CLOSE = 137, ICON_LOCK_OPEN = 138, ICON_CLOCK = 139, ICON_TOOLS = 140, ICON_GEAR = 141, ICON_GEAR_BIG = 142, ICON_BIN = 143, ICON_HAND_POINTER = 144, ICON_LASER = 145, ICON_COIN = 146, ICON_EXPLOSION = 147, ICON_1UP = 148, ICON_PLAYER = 149, ICON_PLAYER_JUMP = 150, ICON_KEY = 151, ICON_DEMON = 152, ICON_TEXT_POPUP = 153, ICON_GEAR_EX = 154, ICON_CRACK = 155, ICON_CRACK_POINTS = 156, ICON_STAR = 157, ICON_DOOR = 158, ICON_EXIT = 159, ICON_MODE_2D = 160, ICON_MODE_3D = 161, ICON_CUBE = 162, ICON_CUBE_FACE_TOP = 163, ICON_CUBE_FACE_LEFT = 164, ICON_CUBE_FACE_FRONT = 165, ICON_CUBE_FACE_BOTTOM = 166, ICON_CUBE_FACE_RIGHT = 167, ICON_CUBE_FACE_BACK = 168, ICON_CAMERA = 169, ICON_SPECIAL = 170, ICON_LINK_NET = 171, ICON_LINK_BOXES = 172, ICON_LINK_MULTI = 173, ICON_LINK = 174, ICON_LINK_BROKE = 175, ICON_TEXT_NOTES = 176, ICON_NOTEBOOK = 177, ICON_SUITCASE = 178, ICON_SUITCASE_ZIP = 179, ICON_MAILBOX = 180, ICON_MONITOR = 181, ICON_PRINTER = 182, ICON_PHOTO_CAMERA = 183, ICON_PHOTO_CAMERA_FLASH = 184, ICON_HOUSE = 185, ICON_HEART = 186, ICON_CORNER = 187, ICON_VERTICAL_BARS = 188, ICON_VERTICAL_BARS_FILL = 189, ICON_LIFE_BARS = 190, ICON_INFO = 191, ICON_CROSSLINE = 192, ICON_HELP = 193, ICON_FILETYPE_ALPHA = 194, ICON_FILETYPE_HOME = 195, ICON_LAYERS_VISIBLE = 196, ICON_LAYERS = 197, ICON_WINDOW = 198, ICON_HIDPI = 199, ICON_FILETYPE_BINARY = 200, ICON_HEX = 201, ICON_SHIELD = 202, ICON_FILE_NEW = 203, ICON_FOLDER_ADD = 204, ICON_ALARM = 205, ICON_CPU = 206, ICON_ROM = 207, ICON_STEP_OVER = 208, ICON_STEP_INTO = 209, ICON_STEP_OUT = 210, ICON_RESTART = 211, ICON_BREAKPOINT_ON = 212, ICON_BREAKPOINT_OFF = 213, ICON_BURGER_MENU = 214, ICON_CASE_SENSITIVE = 215, ICON_REG_EXP = 216, ICON_FOLDER = 217, ICON_FILE = 218, ICON_SAND_TIMER = 219, ICON_220 = 220, ICON_221 = 221, ICON_222 = 222, ICON_223 = 223, ICON_224 = 224, ICON_225 = 225, ICON_226 = 226, ICON_227 = 227, ICON_228 = 228, ICON_229 = 229, ICON_230 = 230, ICON_231 = 231, ICON_232 = 232, ICON_233 = 233, ICON_234 = 234, ICON_235 = 235, ICON_236 = 236, ICON_237 = 237, ICON_238 = 238, ICON_239 = 239, ICON_240 = 240, ICON_241 = 241, ICON_242 = 242, ICON_243 = 243, ICON_244 = 244, ICON_245 = 245, ICON_246 = 246, ICON_247 = 247, ICON_248 = 248, ICON_249 = 249, ICON_250 = 250, ICON_251 = 251, ICON_252 = 252, ICON_253 = 253, ICON_254 = 254, ICON_255 = 255, }
---------------------------------------------------------------------------------- Icons enumeration ----------------------------------------------------------------------------------
Related Procedures With Parameters
GuiListViewProperty ¶
GuiListViewProperty :: enum i32 { LIST_ITEMS_HEIGHT = 16, // ListView items height LIST_ITEMS_SPACING, // ListView items separation SCROLLBAR_WIDTH, // ListView scrollbar size (usually width) SCROLLBAR_SIDE, // ListView scrollbar side (0-left, 1-right) }
ListView
GuiProgressBarProperty ¶
GuiProgressBarProperty :: enum i32 { PROGRESS_PADDING = 16, // ProgressBar internal padding }
ProgressBar
GuiScrollBarProperty ¶
GuiScrollBarProperty :: enum i32 { ARROWS_SIZE = 16, ARROWS_VISIBLE, SCROLL_SLIDER_PADDING, // (SLIDERBAR, SLIDER_PADDING) SCROLL_SLIDER_SIZE, SCROLL_PADDING, SCROLL_SPEED, }
ScrollBar
GuiSliderProperty ¶
GuiSliderProperty :: enum i32 { SLIDER_WIDTH = 16, // Slider size of internal bar SLIDER_PADDING, // Slider/SliderBar internal bar padding }
Slider/SliderBar
GuiSpinnerProperty ¶
GuiSpinnerProperty :: enum i32 { SPIN_BUTTON_WIDTH = 16, // Spinner left/right buttons width SPIN_BUTTON_SPACING, // Spinner buttons separation }
Spinner
GuiState ¶
GuiState :: enum i32 { STATE_NORMAL = 0, STATE_FOCUSED, STATE_PRESSED, STATE_DISABLED, }
Gui control state
GuiTextAlignment ¶
GuiTextAlignment :: enum i32 { TEXT_ALIGN_LEFT = 0, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, }
Gui control text alignment
GuiTextAlignmentVertical ¶
GuiTextAlignmentVertical :: enum i32 { TEXT_ALIGN_TOP = 0, TEXT_ALIGN_MIDDLE, TEXT_ALIGN_BOTTOM, }
GuiTextBoxProperty ¶
GuiTextBoxProperty :: enum i32 { TEXT_READONLY = 16, // TextBox in read-only mode: 0-text editable, 1-text no-editable }
TextBox/TextBoxMulti/ValueBox/Spinner
GuiTextWrapMode ¶
GuiTextWrapMode :: enum i32 { TEXT_WRAP_NONE = 0, TEXT_WRAP_CHAR, TEXT_WRAP_WORD, }
GuiToggleProperty ¶
GuiToggleProperty :: enum i32 { GROUP_PADDING = 16, // ToggleGroup separation between toggles }
Toggle/ToggleGroup
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)
Related Procedures With Parameters
- ExportImage
- ExportImageAsCode
- ExportImageToMemory
- GenMeshCubicmap
- GenMeshHeightmap
- GetImageAlphaBorder
- GetImageColor
- 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
- ImageRotate
- ImageRotateCCW
- ImageRotateCW
- ImageToPOT
- IsImageReady
- LoadFontFromImage
- LoadImageColors
- LoadImagePalette
- LoadTextureCubemap
- LoadTextureFromImage
- SetWindowIcon
- SetWindowIcons
- UnloadImage
Related Procedures With Returns
- GenImageCellular
- GenImageChecked
- GenImageColor
- GenImageFontAtlas
- GenImageGradientLinear
- GenImageGradientRadial
- GenImageGradientSquare
- GenImagePerlinNoise
- GenImageText
- GenImageWhiteNoise
- ImageText
- ImageTextEx
- LoadImage
- LoadImageAnim
- LoadImageFromMemory
- LoadImageFromScreen
- LoadImageFromTexture
- LoadImageRaw
- LoadImageSvg
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
Related Procedures With Parameters
Related Procedures With Returns
Material ¶
Material :: struct { shader: Shader, // Material shader maps: [^]MaterialMap, // Material maps array (MAX_MATERIAL_MAPS) params: [4]f32, }
Material type (generic)
Related Procedures With Parameters
Related Procedures With Returns
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
Related Procedures With Parameters
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 defining a mesh NOTE: Data stored in CPU memory (and GPU)
Related Procedures With Parameters
- DrawMesh
- DrawMeshInstanced
- ExportMesh
- GenMeshTangents
- GetMeshBoundingBox
- GetRayCollisionMesh
- LoadModelFromMesh
- UnloadMesh
- UpdateMeshBuffer
- UploadMesh
Related Procedures With Returns
Model ¶
Model :: struct #align (align_of(uintptr)) { transform: matrix[4, 4]f32, // 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
Related Procedures With Parameters
- DrawModel
- DrawModelEx
- DrawModelWires
- DrawModelWiresEx
- GetModelBoundingBox
- IsModelAnimationValid
- IsModelReady
- SetModelMeshMaterial
- UnloadModel
- UpdateModelAnimation
Related Procedures With Returns
ModelAnimation ¶
ModelAnimation :: struct { boneCount: i32, // Number of bones frameCount: i32, // Number of animation frames bones: [^]BoneInfo, // Bones information (skeleton) framePoses: [^][^]Transform, // Poses array by frame name: [32]u8, }
Model animation
Related Procedures With Parameters
Related Procedures With Returns
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
Related Procedures With Parameters
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
Related Procedures With Parameters
Music ¶
Music :: struct { using 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
Related Procedures With Parameters
- GetMusicTimeLength
- GetMusicTimePlayed
- IsMusicReady
- IsMusicStreamPlaying
- PauseMusicStream
- PlayMusicStream
- ResumeMusicStream
- SeekMusicStream
- SetMusicPan
- SetMusicPitch
- SetMusicVolume
- StopMusicStream
- UnloadMusicStream
- UpdateMusicStream
Related Procedures With Returns
Procedures Through `using` From AudioStream
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
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
Related Procedures With Parameters
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) UNCOMPRESSED_R16, // 16 bpp (1 channel - float) UNCOMPRESSED_R16G16B16, // 16*3 bpp (3 channels - float) UNCOMPRESSED_R16G16B16A16, // 16*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
Related Procedures With Parameters
Ray ¶
Ray type (useful for raycast)
Related Procedures With Parameters
- DrawRay
- GetRayCollisionBox
- GetRayCollisionMesh
- GetRayCollisionQuad
- GetRayCollisionSphere
- GetRayCollisionTriangle
Related Procedures With Returns
RayCollision ¶
RayCollision :: struct { hit: bool, // Did the ray hit something? distance: f32, // Distance to nearest hit point: [3]f32, // Point of nearest hit normal: [3]f32, }
RayCollision, ray hit information
Related Procedures With Returns
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
Related Procedures With Parameters
- CheckCollisionCircleRec
- CheckCollisionPointRec
- CheckCollisionRecs
- DrawBillboardPro
- DrawBillboardRec
- DrawRectangleGradientEx
- DrawRectangleLinesEx
- DrawRectanglePro
- DrawRectangleRec
- DrawRectangleRounded
- DrawRectangleRoundedLines
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- GetCollisionRec
- GuiButton
- GuiCheckBox
- GuiColorBarAlpha
- GuiColorBarHue
- GuiColorPanel
- GuiColorPanelHSV
- GuiColorPicker
- GuiColorPickerHSV
- GuiComboBox
- GuiDropdownBox
- GuiDummyRec
- GuiGrid
- GuiGroupBox
- GuiLabel
- GuiLabelButton
- GuiLine
- GuiListView
- GuiListViewEx
- GuiMessageBox
- GuiPanel
- GuiProgressBar
- GuiScrollPanel
- GuiSlider
- GuiSliderBar
- GuiSpinner
- GuiStatusBar
- GuiTabBar
- GuiTextBox
- GuiTextInputBox
- GuiToggle
- GuiToggleGroup
- GuiToggleSlider
- GuiValueBox
- GuiWindowBox
- ImageCrop
- ImageDraw
- ImageDrawRectangleLines
- ImageDrawRectangleRec
- ImageFromImage
- SetShapesTexture
- UpdateTextureRec
Related Procedures With Returns
RenderTexture ¶
RenderTexture :: struct { id: u32, // OpenGL framebuffer object id texture: Texture, // Color buffer attachment texture depth: Texture, }
RenderTexture type, for texture rendering
Related Procedures With Parameters
Related Procedures With Returns
Shader ¶
Shader type (generic)
Related Procedures With Parameters
- BeginShaderMode
- GetShaderLocation
- GetShaderLocationAttrib
- IsShaderReady
- SetShaderValue
- SetShaderValueMatrix
- SetShaderValueTexture
- SetShaderValueV
- UnloadShader
Related Procedures With Returns
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
Related Procedures With Parameters
Sound ¶
Sound :: struct { using stream: AudioStream, // Audio stream frameCount: u32, }
Sound source type
Related Procedures With Parameters
- IsSoundPlaying
- IsSoundReady
- LoadSoundAlias
- PauseSound
- PlaySound
- ResumeSound
- SetSoundPan
- SetSoundPitch
- SetSoundVolume
- StopSound
- UnloadSound
- UnloadSoundAlias
- UpdateSound
Related Procedures With Returns
Procedures Through `using` From AudioStream
- AttachAudioStreamProcessor
- DetachAudioStreamProcessor
- IsAudioStreamPlaying
- IsAudioStreamProcessed
- IsAudioStreamReady
- PauseAudioStream
- PlayAudioStream
- ResumeAudioStream
- SetAudioStreamCallback
- SetAudioStreamPan
- SetAudioStreamPitch
- SetAudioStreamVolume
- StopAudioStream
- UnloadAudioStream
- UpdateAudioStream
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
Related Procedures With Parameters
- DrawBillboard
- DrawBillboardPro
- DrawBillboardRec
- DrawTexture
- DrawTextureEx
- DrawTextureNPatch
- DrawTexturePro
- DrawTextureRec
- DrawTextureV
- GenTextureMipmaps
- IsTextureReady
- LoadImageFromTexture
- SetMaterialTexture
- SetShaderValueTexture
- SetShapesTexture
- SetTextureFilter
- SetTextureWrap
- UnloadTexture
- UpdateTexture
- UpdateTextureRec
Related Procedures With Returns
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
Related Procedures With Parameters
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
Related Procedures With Parameters
TraceLogCallback ¶
TraceLogCallback :: proc "c" (logLevel: TraceLogLevel, text: cstring, args: ^c.va_list)
Callbacks to hook some internal functions WARNING: This callbacks are intended for advance users
Related Procedures With Parameters
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
Related Procedures With Parameters
Transform ¶
Transform :: struct { translation: [3]f32, // Translation rotation: quaternion128, // Rotation scale: [3]f32, }
Transformation properties
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 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
Related Procedures With Parameters
VrStereoConfig ¶
VrStereoConfig :: struct #align (4) { projection: [2]matrix[4, 4]f32, // VR projection matrices (per eye) viewOffset: [2]matrix[4, 4]f32, // 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
Related Procedures With Parameters
Related Procedures With Returns
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
Related Procedures With Parameters
- ExportWave
- ExportWaveAsCode
- IsWaveReady
- LoadSoundFromWave
- LoadWaveSamples
- UnloadWave
- WaveCopy
- WaveCrop
- WaveFormat
Related Procedures With Returns
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)
RAYGUI_SHARED ¶
RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
RAYGUI_VERSION ¶
RAYGUI_VERSION :: "4.0"
RAYLIB_SHARED ¶
RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
SCROLLBAR_LEFT_SIDE ¶
SCROLLBAR_LEFT_SIDE :: 0
SCROLLBAR_RIGHT_SIDE ¶
SCROLLBAR_RIGHT_SIDE :: 1
VERSION_MAJOR ¶
VERSION_MAJOR :: 5
VERSION_MINOR ¶
VERSION_MINOR :: 0
VERSION_PATCH ¶
VERSION_PATCH :: 0
Variables
Procedures
AttachAudioMixedProcessor ¶
AttachAudioMixedProcessor :: proc "c" (processor: AudioCallback) ---
Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s
AttachAudioStreamProcessor ¶
AttachAudioStreamProcessor :: proc "c" (stream: AudioStream, processor: AudioCallback) ---
Attach audio stream processor to stream, receives the samples as <float>s
BeginBlendMode ¶
BeginBlendMode :: proc "c" (mode: BlendMode) ---
Begin blending mode (alpha, additive, multiplied)
BeginMode2D ¶
BeginMode2D :: proc "c" (camera: Camera2D) ---
Initialize 2D mode with custom camera (2D)
BeginMode3D ¶
BeginMode3D :: proc "c" (camera: Camera3D) ---
Initializes 3D mode with custom camera (3D)
BeginScissorMode ¶
BeginScissorMode :: proc "c" (x, y, width, height: i32) ---
Begin scissor mode (define screen area for following drawing)
BeginTextureMode ¶
BeginTextureMode :: proc "c" (target: RenderTexture) ---
Initializes render texture for drawing
BeginVrStereoMode ¶
BeginVrStereoMode :: proc "c" (config: VrStereoConfig) ---
Begin stereo rendering (requires VR simulator)
ChangeDirectory ¶
Change working directory, return true on success
CheckCollisionBoxSphere ¶
CheckCollisionBoxSphere :: proc "c" (box: BoundingBox, center: [3]f32, radius: f32) -> bool ---
Check collision between box and sphere
CheckCollisionBoxes ¶
CheckCollisionBoxes :: proc "c" (box1, box2: BoundingBox) -> bool ---
Check collision between two bounding boxes
CheckCollisionCircleRec ¶
Check collision between circle and rectangle
CheckCollisionCircles ¶
CheckCollisionCircles :: proc "c" (center1: [2]f32, radius1: f32, center2: [2]f32, radius2: f32) -> bool ---
Check collision between two circles
CheckCollisionLines ¶
CheckCollisionLines :: proc "c" (startPos1, endPos1, startPos2, endPos2: [2]f32, collisionPoint: [^][2]f32) -> bool ---
Check the collision between two lines defined by two points each, returns collision point by reference
CheckCollisionPointCircle ¶
Check if point is inside circle
CheckCollisionPointLine ¶
Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
CheckCollisionPointPoly ¶
Check if point is within a polygon described by array of vertices
CheckCollisionPointRec ¶
Check if point is inside rectangle
CheckCollisionPointTriangle ¶
Check if point is inside a triangle
CheckCollisionRecs ¶
Basic shapes collision detection functions
CheckCollisionSpheres ¶
CheckCollisionSpheres :: proc "c" (center1: [3]f32, radius1: f32, center2: [3]f32, radius2: f32) -> bool ---
Check collision between two spheres
ClearBackground ¶
ClearBackground :: proc "c" (color: Color) ---
Set background color (framebuffer clear color)
ClearWindowState ¶
ClearWindowState :: proc "c" (flags: ConfigFlags) ---
Clear window configuration state flags
CodepointToUTF8 ¶
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 ¶
Get a Color from HSV values, hue [0..360], saturation/value [0..1]
ColorFromNormalized ¶
Get Color from normalized values [0..1]
ColorNormalize ¶
Get Color normalized as float [0..1]
ColorTint ¶
Get color multiplied with another color
ColorToHSV ¶
Get HSV values for a Color, hue [0..360], saturation/value [0..1]
ColorToInt ¶
Get hexadecimal value for a Color
CompressData ¶
Compress data (DEFLATE algorithm), memory must be MemFree()
DecodeDataBase64 ¶
Decode Base64 string data, memory must be MemFree()
DecompressData ¶
Decompress data (DEFLATE algorithm), memory must be MemFree()
DetachAudioMixedProcessor ¶
DetachAudioMixedProcessor :: proc "c" (processor: AudioCallback) ---
Detach audio stream processor from the entire audio pipeline
DetachAudioStreamProcessor ¶
DetachAudioStreamProcessor :: proc "c" (stream: AudioStream, processor: AudioCallback) ---
Detach audio stream processor from stream
DirectoryExists ¶
Check if a directory path exists
DisableEventWaiting ¶
DisableEventWaiting :: proc "c" () ---
Disable waiting for events on EndDrawing(), automatic events polling
DrawBillboard ¶
DrawBillboard :: proc "c" (camera: Camera3D, texture: Texture, position: [3]f32, size: f32, tint: Color) ---
Draw a billboard texture
DrawBillboardPro ¶
DrawBillboardPro :: proc "c" ( camera: Camera3D, texture: Texture, source: Rectangle, position: [3]f32, up: [3]f32, size: [2]f32, origin: [2]f32, rotation: f32, tint: Color, ) ---
Draw a billboard texture defined by source and rotation
DrawBillboardRec ¶
DrawBillboardRec :: proc "c" ( camera: Camera3D, texture: Texture, source: Rectangle, position: [3]f32, size: [2]f32, tint: Color, ) ---
Draw a billboard texture defined by source
DrawBoundingBox ¶
DrawBoundingBox :: proc "c" (box: BoundingBox, color: Color) ---
Draw bounding box (wires)
DrawCapsule ¶
DrawCapsule :: proc "c" ( startPos, endPos: [3]f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw a capsule with the center of its sphere caps at startPos and endPos
DrawCapsuleWires ¶
DrawCapsuleWires :: proc "c" ( startPos, endPos: [3]f32, radius: f32, slices, rings: i32, color: Color, ) ---
Draw capsule wireframe with the center of its sphere caps at startPos and endPos
DrawCircle ¶
Draw a color-filled circle
DrawCircle3D ¶
DrawCircle3D :: proc "c" (center: [3]f32, radius: f32, rotationAxis: [3]f32, rotationAngle: f32, color: Color) ---
Draw a circle in 3D world space
DrawCircleGradient ¶
Draw a gradient-filled circle
DrawCircleLines ¶
Draw circle outline
DrawCircleLinesV ¶
Draw circle outline (Vector version)
DrawCircleSector ¶
DrawCircleSector :: proc "c" ( center: [2]f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw a piece of a circle
DrawCircleSectorLines ¶
DrawCircleSectorLines :: proc "c" ( center: [2]f32, radius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw circle sector outline
DrawCircleV ¶
Draw a color-filled circle (Vector version)
DrawCube ¶
Draw cube
DrawCubeV ¶
Draw cube (Vector version)
DrawCubeWires ¶
Draw cube wires
DrawCubeWiresV ¶
Draw cube wires (Vector version)
DrawCylinder ¶
DrawCylinder :: proc "c" ( position: [3]f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone
DrawCylinderEx ¶
DrawCylinderEx :: proc "c" ( startPos, endPos: [3]f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder with base at startPos and top at endPos
DrawCylinderWires ¶
DrawCylinderWires :: proc "c" ( position: [3]f32, radiusTop, radiusBottom: f32, height: f32, slices: i32, color: Color, ) ---
Draw a cylinder/cone wires
DrawCylinderWiresEx ¶
DrawCylinderWiresEx :: proc "c" ( startPos, endPos: [3]f32, startRadius, endRadius: f32, sides: i32, color: Color, ) ---
Draw a cylinder wires with base at startPos and top at endPos
DrawEllipse ¶
Draw ellipse
DrawEllipseLines ¶
Draw ellipse outline
DrawGrid ¶
Draw a grid (centered at (0, 0, 0))
DrawLine ¶
Draw a line
DrawLine3D ¶
Draw a line in 3D world space
DrawLineBezier ¶
Draw line segment cubic-bezier in-out interpolation
DrawLineEx ¶
Draw a line (using triangles/quads)
DrawLineStrip ¶
Draw lines sequence (using gl lines)
DrawLineV ¶
Draw a line (using gl lines)
DrawMesh ¶
Draw a 3d mesh with material and transform
DrawMeshInstanced ¶
DrawMeshInstanced :: proc "c" (mesh: Mesh, material: Material, transforms: [^]matrix[4, 4]f32, instances: i32) ---
Draw multiple mesh instances with material and different transforms
DrawModel ¶
Draw a model (with texture if set)
DrawModelEx ¶
DrawModelEx :: proc "c" ( model: Model, position: [3]f32, rotationAxis: [3]f32, rotationAngle: f32, scale: [3]f32, tint: Color, ) ---
Draw a model with extended parameters
DrawModelWires ¶
Draw a model wires (with texture if set)
DrawModelWiresEx ¶
DrawModelWiresEx :: proc "c" ( model: Model, position: [3]f32, rotationAxis: [3]f32, rotationAngle: f32, scale: [3]f32, tint: Color, ) ---
Draw a model wires (with texture if set) with extended parameters
DrawPixelV ¶
Draw a pixel (Vector version)
DrawPlane ¶
Draw a plane XZ
DrawPoint3D ¶
Draw a point in 3D space, actually a small line
DrawPoly ¶
Draw a regular polygon (Vector version)
DrawPolyLines ¶
DrawPolyLines :: proc "c" (center: [2]f32, sides: i32, radius: f32, rotation: f32, color: Color) ---
Draw a polygon outline of n sides
DrawPolyLinesEx ¶
DrawPolyLinesEx :: proc "c" ( center: [2]f32, sides: i32, radius: f32, rotation: f32, lineThick: f32, color: Color, ) ---
Draw a polygon outline of n sides with extended parameters
DrawRectangle ¶
Draw a color-filled rectangle
DrawRectangleGradientEx ¶
Draw a gradient-filled rectangle with custom vertex colors
DrawRectangleGradientH ¶
DrawRectangleGradientH :: proc "c" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a horizontal-gradient-filled rectangle
DrawRectangleGradientV ¶
DrawRectangleGradientV :: proc "c" ( posX, posY: i32, width, height: i32, color1, color2: Color, ) ---
Draw a vertical-gradient-filled rectangle
DrawRectangleLines ¶
Draw rectangle outline
DrawRectangleLinesEx ¶
Draw rectangle outline with extended parameters
DrawRectanglePro ¶
Draw a color-filled rectangle with pro parameters
DrawRectangleRec ¶
Draw a color-filled rectangle
DrawRectangleRounded ¶
Draw rectangle with rounded edges
DrawRectangleRoundedLines ¶
DrawRectangleRoundedLines :: proc "c" (rec: Rectangle, roundness: f32, segments: i32, lineThick: f32, color: Color) ---
Draw rectangle with rounded edges outline
DrawRectangleV ¶
Draw a color-filled rectangle (Vector version)
DrawRing ¶
DrawRing :: proc "c" ( center: [2]f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring
DrawRingLines ¶
DrawRingLines :: proc "c" ( center: [2]f32, innerRadius, outerRadius: f32, startAngle, endAngle: f32, segments: i32, color: Color, ) ---
Draw ring outline
DrawSphere ¶
Draw sphere
DrawSphereEx ¶
Draw sphere with extended parameters
DrawSphereWires ¶
Draw sphere wires
DrawSplineBasis ¶
Draw spline: B-Spline, minimum 4 points
DrawSplineBezierCubic ¶
DrawSplineBezierCubic :: proc "c" (points: [^][2]f32, pointCount: i32, thick: f32, color: Color) ---
Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
DrawSplineBezierQuadratic ¶
DrawSplineBezierQuadratic :: proc "c" (points: [^][2]f32, pointCount: i32, thick: f32, color: Color) ---
Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
DrawSplineCatmullRom ¶
Draw spline: Catmull-Rom, minimum 4 points
DrawSplineLinear ¶
Splines drawing functions
DrawSplineSegmentBasis ¶
Draw spline segment: B-Spline, 4 points
DrawSplineSegmentBezierCubic ¶
Draw spline segment: Cubic Bezier, 2 points, 2 control points
DrawSplineSegmentBezierQuadratic ¶
Draw spline segment: Quadratic Bezier, 2 points, 1 control point
DrawSplineSegmentCatmullRom ¶
Draw spline segment: Catmull-Rom, 4 points
DrawSplineSegmentLinear ¶
Draw spline segment: Linear, 2 points
DrawText ¶
Draw text (using default font)
DrawTextCodepoint ¶
DrawTextCodepoint :: proc "c" (font: Font, codepoint: rune, position: [2]f32, fontSize: f32, tint: Color) ---
Draw one character (codepoint)
DrawTextCodepoints ¶
DrawTextCodepoints :: proc "c" ( font: Font, codepoints: [^]rune, codepointCount: i32, position: [2]f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw multiple character (codepoint)
DrawTextEx ¶
DrawTextEx :: proc "c" ( font: Font, text: cstring, position: [2]f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using font and additional parameters
DrawTextPro ¶
DrawTextPro :: proc "c" ( font: Font, text: cstring, position, origin: [2]f32, rotation: f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text using Font and pro parameters (rotation)
DrawTexture ¶
Texture drawing functions
DrawTextureEx ¶
DrawTextureEx :: proc "c" (texture: Texture, position: [2]f32, rotation: f32, scale: f32, tint: Color) ---
Draw a Texture2D with extended parameters
DrawTextureNPatch ¶
DrawTextureNPatch :: proc "c" ( texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: [2]f32, rotation: f32, tint: Color, ) ---
Draws a texture (or part of it) that stretches or shrinks nicely
DrawTexturePro ¶
DrawTexturePro :: proc "c" ( texture: Texture, source, dest: Rectangle, origin: [2]f32, rotation: f32, tint: Color, ) ---
Draw a part of a texture defined by a rectangle with 'pro' parameters
DrawTextureRec ¶
Draw a part of a texture defined by a rectangle
DrawTextureV ¶
Draw a Texture2D with position defined as Vector2
DrawTriangle ¶
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangle3D ¶
Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangleFan ¶
Draw a triangle fan defined by points (first vertex is the center)
DrawTriangleLines ¶
Draw triangle outline (vertex in counter-clockwise order!)
DrawTriangleStrip ¶
Draw a triangle strip defined by points
DrawTriangleStrip3D ¶
Draw a triangle strip defined by points
EnableEventWaiting ¶
EnableEventWaiting :: proc "c" () ---
Enable waiting for events on EndDrawing(), no automatic event polling
EncodeDataBase64 ¶
Encode data to Base64 string, memory must be MemFree()
ExportAutomationEventList ¶
ExportAutomationEventList :: proc "c" (list: AutomationEventList, fileName: cstring) -> bool ---
Export automation events list as text file
ExportDataAsCode ¶
Export data to code (.h), returns true on success
ExportFontAsCode ¶
Export font as code file, returns true on success
ExportImage ¶
Export image data to file, returns true on success
ExportImageAsCode ¶
Export image as code file defining an array of bytes, returns true on success
ExportImageToMemory ¶
Export image to memory buffer
ExportMesh ¶
Export mesh data to file, returns true on success
ExportWave ¶
Export wave data to file, returns true on success
ExportWaveAsCode ¶
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
FloatEquals ¶
Check whether two given floats are almost equal
GenImageCellular ¶
Generate image: cellular algorithm, bigger tileSize means bigger cells
GenImageChecked ¶
GenImageChecked :: proc "c" ( width, height: i32, checksX, checksY: i32, col1, col2: Color, ) -> Image ---
Generate image: checked
GenImageColor ¶
Generate image: plain color
GenImageFontAtlas ¶
GenImageFontAtlas :: proc "c" ( glyphs: [^]GlyphInfo, glyphRecs: ^[^]Rectangle, codepointCount: i32, fontSize: i32, padding: i32, packMethod: i32, ) -> Image ---
Generate image font atlas using chars info
GenImageGradientLinear ¶
Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
GenImageGradientRadial ¶
GenImageGradientRadial :: proc "c" (width, height: i32, density: f32, inner, outer: Color) -> Image ---
Generate image: radial gradient
GenImageGradientSquare ¶
GenImageGradientSquare :: proc "c" (width, height: i32, density: f32, inner, outer: Color) -> Image ---
Generate image: square gradient
GenImagePerlinNoise ¶
GenImagePerlinNoise :: proc "c" (width, height: i32, offsetX, offsetY: i32, scale: f32) -> Image ---
Generate image: perlin noise
GenImageText ¶
Generate image: grayscale image from text data
GenImageWhiteNoise ¶
Generate image: white noise
GenMeshCone ¶
Generate cone/pyramid mesh
GenMeshCube ¶
Generate cuboid mesh
GenMeshCubicmap ¶
Generate cubes-based map mesh from image data
GenMeshCylinder ¶
Generate cylinder mesh
GenMeshHeightmap ¶
Generate heightmap mesh from image data
GenMeshHemiSphere ¶
Generate half-sphere mesh (no bottom cap)
GenMeshKnot ¶
Generate trefoil knot mesh
GenMeshPlane ¶
Generate plane mesh (with subdivisions)
GenMeshPoly ¶
Generate polygonal mesh
GenMeshSphere ¶
Generate sphere mesh (standard sphere)
GenMeshTorus ¶
Generate torus mesh
GenTextureMipmaps ¶
GenTextureMipmaps :: proc "c" (texture: ^Texture) ---
Generate GPU mipmaps for a texture
GetApplicationDirectory ¶
GetApplicationDirectory :: proc "c" () -> cstring ---
Get the directory of the running application (uses static string)
GetCameraMatrix ¶
Get camera transform matrix (view matrix)
GetCameraMatrix2D ¶
Get camera 2d transform matrix
GetCharPressed ¶
GetCharPressed :: proc "c" () -> rune ---
Get char pressed (unicode), call it multiple times for chars queued
GetCodepoint ¶
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointCount ¶
Get total number of codepoints in a UTF-8 encoded string
GetCodepointNext ¶
Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCodepointPrevious ¶
Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
GetCollisionRec ¶
Get collision rectangle for two rectangles collision
GetColor ¶
Get Color structure from hexadecimal value
GetDirectoryPath ¶
Get full path for a given fileName with path (uses static string)
GetFileExtension ¶
Get pointer to extension for a filename string (includes dot: '.png')
GetFileLength ¶
Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
GetFileModTime ¶
Get file modification time (last write time)
GetFileName ¶
Get pointer to filename for a path string
GetFileNameWithoutExt ¶
Get filename string without extension (uses static string)
GetFrameTime ¶
GetFrameTime :: proc "c" () -> f32 ---
Returns time in seconds for last frame drawn (delta time)
GetGamepadAxisCount ¶
Get gamepad axis count for a gamepad
GetGamepadAxisMovement ¶
GetGamepadAxisMovement :: proc "c" (gamepad: i32, axis: GamepadAxis) -> f32 ---
Get axis movement value for a gamepad axis
GetGamepadButtonPressed ¶
GetGamepadButtonPressed :: proc "c" () -> GamepadButton ---
Get the last gamepad button pressed
GetGamepadName ¶
Get gamepad internal name id
GetGestureHoldDuration ¶
GetGestureHoldDuration :: proc "c" () -> f32 ---
Get gesture hold time in milliseconds
GetGlyphAtlasRec ¶
Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
GetGlyphIndex ¶
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 "c" () -> KeyboardKey ---
Get key pressed (keycode), call it multiple times for keys queued
GetMeshBoundingBox ¶
GetMeshBoundingBox :: proc "c" (mesh: Mesh) -> BoundingBox ---
Compute mesh bounding box limits
GetModelBoundingBox ¶
GetModelBoundingBox :: proc "c" (model: Model) -> BoundingBox ---
Compute model bounding box limits (considers all meshes)
GetMonitorHeight ¶
Get specified monitor height (current video mode used by monitor)
GetMonitorName ¶
Get the human-readable, UTF-8 encoded name of the specified monitor
GetMonitorPhysicalHeight ¶
Get specified monitor physical height in millimetres
GetMonitorPhysicalWidth ¶
Get specified monitor physical width in millimetres
GetMonitorPosition ¶
Get specified monitor position
GetMonitorRefreshRate ¶
Get specified monitor refresh rate
GetMonitorWidth ¶
Get specified monitor width (current video mode used by monitor)
GetMouseRay ¶
Get a ray trace from mouse position
GetMouseWheelMoveV ¶
GetMouseWheelMoveV :: proc "c" () -> [2]f32 ---
Get mouse wheel movement for both X and Y
GetMusicTimeLength ¶
Get music time length (in seconds)
GetMusicTimePlayed ¶
Get current music time played (in seconds)
GetPixelColor ¶
GetPixelColor :: proc "c" (srcPtr: rawptr, format: PixelFormat) -> Color ---
Get Color from a source pixel pointer of certain format
GetPixelDataSize ¶
GetPixelDataSize :: proc "c" (width, height: i32, format: PixelFormat) -> i32 ---
Get pixel data size in bytes for certain format
GetPrevDirectoryPath ¶
Get previous directory path for a given path (uses static string)
GetRandomValue ¶
Get a random value between min and max (both included)
GetRayCollisionBox ¶
GetRayCollisionBox :: proc "c" (ray: Ray, box: BoundingBox) -> RayCollision ---
Get collision info between ray and box
GetRayCollisionMesh ¶
GetRayCollisionMesh :: proc "c" (ray: Ray, mesh: Mesh, transform: matrix[4, 4]f32) -> RayCollision ---
Get collision info between ray and mesh
GetRayCollisionQuad ¶
GetRayCollisionQuad :: proc "c" (ray: Ray, p1, p2, p3, p4: [3]f32) -> RayCollision ---
Get collision info between ray and quad
GetRayCollisionSphere ¶
GetRayCollisionSphere :: proc "c" (ray: Ray, center: [3]f32, radius: f32) -> RayCollision ---
Get collision info between ray and sphere
GetRayCollisionTriangle ¶
GetRayCollisionTriangle :: proc "c" (ray: Ray, p1, p2, p3: [3]f32) -> RayCollision ---
Get collision info between ray and triangle
GetRenderHeight ¶
GetRenderHeight :: proc "c" () -> i32 ---
Get current render height (it considers HiDPI)
GetRenderWidth ¶
GetRenderWidth :: proc "c" () -> i32 ---
Get current render width (it considers HiDPI)
GetScreenToWorld2D ¶
Get the world space position for a 2d camera screen space position
GetShaderLocation ¶
Get shader uniform location
GetShaderLocationAttrib ¶
Get shader attribute location
GetSplinePointBasis ¶
Get (evaluate) spline point: B-Spline
GetSplinePointBezierCubic ¶
Get (evaluate) spline point: Cubic Bezier
GetSplinePointBezierQuad ¶
Get (evaluate) spline point: Quadratic Bezier
GetSplinePointCatmullRom ¶
Get (evaluate) spline point: Catmull-Rom
GetSplinePointLinear ¶
Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]
GetTouchPointId ¶
Get touch point identifier for given index
GetTouchPosition ¶
Returns touch position XY for a touch point index (relative to screen size)
GetTouchX ¶
GetTouchX :: proc "c" () -> i32 ---
Returns touch position X for touch point 0 (relative to screen size)
GetTouchY ¶
GetTouchY :: proc "c" () -> i32 ---
Returns touch position Y for touch point 0 (relative to screen size)
GetWindowPosition ¶
GetWindowPosition :: proc "c" () -> [2]f32 ---
Get window position XY on monitor
GetWorkingDirectory ¶
GetWorkingDirectory :: proc "c" () -> cstring ---
Get current working directory (uses static string)
GetWorldToScreen ¶
Get the screen space position for a 3d world space position
GetWorldToScreen2D ¶
Get the screen space position for a 2d camera world space position
GetWorldToScreenEx ¶
GetWorldToScreenEx :: proc "c" (position: [3]f32, camera: Camera3D, width, height: i32) -> [2]f32 ---
Get size position for a 3d world space position
GuiButton ¶
Button control, returns true when clicked
GuiCheckBox ¶
Check Box control, returns true when active
GuiColorBarAlpha ¶
Color Bar Alpha control
GuiColorBarHue ¶
Color Bar Hue control
GuiColorPanel ¶
Color Panel control
GuiColorPanelHSV ¶
Color Panel control that returns HSV color value, used by GuiColorPickerHSV()
GuiColorPicker ¶
Color Picker control (multiple color controls)
GuiColorPickerHSV ¶
Color Picker control that avoids conversion to RGB on each call (multiple color controls)
GuiComboBox ¶
Combo Box control, returns selected item index
GuiDrawIcon ¶
GuiDrawIcon :: proc "c" (iconId: GuiIconName, posX, posY: i32, pixelSize: i32, color: Color) ---
Draw icon using pixel size at specified position
GuiDropdownBox ¶
GuiDropdownBox :: proc "c" (bounds: Rectangle, text: cstring, active: ^i32, editMode: bool) -> bool ---
Dropdown Box control, returns selected item
GuiDummyRec ¶
Dummy control for placeholders
GuiGetStyle ¶
GuiGetStyle :: proc "c" (control: GuiControl, property: i32) -> i32 ---
Get one style property
GuiGrid ¶
GuiGrid :: proc "c" (bounds: Rectangle, text: cstring, spacing: f32, subdivs: i32, mouseCell: ^[2]f32) -> i32 ---
Grid control, returns mouse cell position
GuiGroupBox ¶
Group Box control with text name
GuiIconText ¶
GuiIconText :: proc "c" (iconId: GuiIconName, text: cstring) -> cstring ---
Get text with icon id prepended (if supported)
GuiLabel ¶
Label control, shows text
GuiLabelButton ¶
Label button control, show true when clicked
GuiLine ¶
Line separator control, could contain text
GuiListView ¶
GuiListView :: proc "c" (bounds: Rectangle, text: cstring, scrollIndex: ^i32, active: ^i32) -> i32 ---
Advance controls set
GuiListViewEx ¶
GuiListViewEx :: proc "c" ( bounds: Rectangle, text: [^]cstring, count: i32, scrollIndex: ^i32, active: ^i32, focus: ^i32, ) -> i32 ---
List View with extended parameters
GuiLoadIcons ¶
Load raygui icons file (.rgi) into internal icons data
GuiLoadStyle ¶
GuiLoadStyle :: proc "c" (fileName: cstring) ---
Load style file over global style variable (.rgs)
GuiMessageBox ¶
GuiMessageBox :: proc "c" (bounds: Rectangle, title: cstring, message: cstring, buttons: cstring) -> i32 ---
Message Box control, displays a message
GuiPanel ¶
Panel control, useful to group controls
GuiProgressBar ¶
GuiProgressBar :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Progress Bar control, shows current progress value
GuiScrollPanel ¶
GuiScrollPanel :: proc "c" (bounds: Rectangle, text: cstring, content: Rectangle, scroll: ^[2]f32, view: ^Rectangle) -> i32 ---
Scroll Panel control
GuiSetAlpha ¶
GuiSetAlpha :: proc "c" (alpha: f32) ---
Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
GuiSetStyle ¶
GuiSetStyle :: proc "c" (control: GuiControl, property: i32, value: i32) ---
Set one style property
GuiSlider ¶
GuiSlider :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Slider control, returns selected value
GuiSliderBar ¶
GuiSliderBar :: proc "c" ( bounds: Rectangle, textLeft: cstring, textRight: cstring, value: ^f32, minValue: f32, maxValue: f32, ) -> i32 ---
Slider Bar control, returns selected value
GuiSpinner ¶
GuiSpinner :: proc "c" ( bounds: Rectangle, text: cstring, value: ^i32, minValue, maxValue: i32, editMode: bool, ) -> i32 ---
Spinner control, returns selected value
GuiStatusBar ¶
Status Bar control, shows info text
GuiTabBar ¶
Tab Bar control, returns TAB to be closed or -1
GuiTextBox ¶
GuiTextBox :: proc "c" (bounds: Rectangle, text: cstring, textSize: i32, editMode: bool) -> bool ---
Text Box control, updates input text
GuiTextInputBox ¶
GuiTextInputBox :: proc "c" ( bounds: Rectangle, title: cstring, message: cstring, buttons: cstring, text: cstring, textMaxSize: i32, secretViewActive: ^bool, ) -> i32 ---
Text Input Box control, ask for text, supports secret
GuiToggle ¶
Toggle Button control, returns true when active
GuiToggleGroup ¶
Toggle Group control, returns active toggle index
GuiValueBox ¶
GuiValueBox :: proc "c" ( bounds: Rectangle, text: cstring, value: ^i32, minValue, maxValue: i32, editMode: bool, ) -> i32 ---
Value Box control, updates input text with numbers
GuiWindowBox ¶
Window Box control, shows a window that can be closed
ImageAlphaClear ¶
Clear alpha channel to desired color
ImageAlphaCrop ¶
Crop image depending on alpha value
ImageAlphaMask ¶
Apply alpha mask to image
ImageAlphaPremultiply ¶
ImageAlphaPremultiply :: proc "c" (image: ^Image) ---
Premultiply alpha channel
ImageBlurGaussian ¶
Apply Gaussian blur using a box blur approximation
ImageClearBackground ¶
Clear image background with given color
ImageColorBrightness ¶
Modify image color: brightness (-255 to 255)
ImageColorContrast ¶
Modify image color: contrast (-100 to 100)
ImageColorGrayscale ¶
ImageColorGrayscale :: proc "c" (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 ¶
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 "c" (dst: ^Image, centerX, centerY: i32, radius: i32, color: Color) ---
Draw circle outline within an image
ImageDrawCircleLinesV ¶
Draw circle outline within an image (Vector version)
ImageDrawCircleV ¶
Draw a filled circle within an image (Vector version)
ImageDrawLine ¶
ImageDrawLine :: proc "c" ( dst: ^Image, startPosX, startPosY, endPosX, endPosY: i32, color: Color, ) ---
Draw line within an image
ImageDrawLineV ¶
Draw line within an image (Vector version)
ImageDrawPixel ¶
Draw pixel within an image
ImageDrawPixelV ¶
Draw pixel within an image (Vector version)
ImageDrawRectangle ¶
ImageDrawRectangle :: proc "c" ( 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 ¶
Draw rectangle within an image (Vector version)
ImageDrawText ¶
ImageDrawText :: proc "c" ( dst: ^Image, text: cstring, posX, posY: i32, fontSize: i32, color: Color, ) ---
Draw text (using default font) within an image (destination)
ImageDrawTextEx ¶
ImageDrawTextEx :: proc "c" ( dst: ^Image, font: Font, text: cstring, position: [2]f32, fontSize: f32, spacing: f32, tint: Color, ) ---
Draw text (custom sprite font) within an image (destination)
ImageFormat ¶
ImageFormat :: proc "c" (image: ^Image, newFormat: PixelFormat) ---
Convert image data to desired format
ImageFromImage ¶
Create an image from another image piece
ImageMipmaps ¶
ImageMipmaps :: proc "c" (image: ^Image) ---
Compute all mipmap levels for a provided image
ImageResize ¶
Resize image (Bicubic scaling algorithm)
ImageResizeCanvas ¶
ImageResizeCanvas :: proc "c" ( image: ^Image, newWidth, newHeight: i32, offsetX, offsetY: i32, fill: Color, ) ---
Resize canvas and fill with color
ImageResizeNN ¶
Resize image (Nearest-Neighbor scaling algorithm)
ImageRotate ¶
Rotate image by input angle in degrees( -359 to 359)
ImageRotateCCW ¶
ImageRotateCCW :: proc "c" (image: ^Image) ---
Rotate image counter-clockwise 90deg
ImageText ¶
Create an image from text (default font)
ImageTextEx ¶
ImageTextEx :: proc "c" (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 ¶
Initialize window and OpenGL context
IsAudioDeviceReady ¶
IsAudioDeviceReady :: proc "c" () -> bool ---
Check if audio device has been initialized successfully
IsAudioStreamPlaying ¶
IsAudioStreamPlaying :: proc "c" (stream: AudioStream) -> bool ---
Check if audio stream is playing
IsAudioStreamProcessed ¶
IsAudioStreamProcessed :: proc "c" (stream: AudioStream) -> bool ---
Check if any audio stream buffers requires refill
IsAudioStreamReady ¶
IsAudioStreamReady :: proc "c" (stream: AudioStream) -> bool ---
Checks if an audio stream is ready
IsCursorOnScreen ¶
IsCursorOnScreen :: proc "c" () -> bool ---
Check if cursor is on the current screen.
IsFileDropped ¶
IsFileDropped :: proc "c" () -> bool ---
Check if a file has been dropped into window
IsFileExtension ¶
Check file extension (including point: .png, .wav)
IsGamepadAvailable ¶
Check if a gamepad is available
IsGamepadButtonDown ¶
IsGamepadButtonDown :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is being pressed
IsGamepadButtonPressed ¶
IsGamepadButtonPressed :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been pressed once
IsGamepadButtonReleased ¶
IsGamepadButtonReleased :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button has been released once
IsGamepadButtonUp ¶
IsGamepadButtonUp :: proc "c" (gamepad: i32, button: GamepadButton) -> bool ---
Check if a gamepad button is NOT being pressed
IsGestureDetected ¶
Check if a gesture have been detected
IsKeyPressed ¶
IsKeyPressed :: proc "c" (key: KeyboardKey) -> bool ---
Detect if a key has been pressed once
IsKeyPressedRepeat ¶
IsKeyPressedRepeat :: proc "c" (key: KeyboardKey) -> bool ---
Check if a key has been pressed again (Only PLATFORM_DESKTOP)
IsKeyReleased ¶
IsKeyReleased :: proc "c" (key: KeyboardKey) -> bool ---
Detect if a key has been released once
IsMaterialReady ¶
Check if a material is ready
IsModelAnimationValid ¶
IsModelAnimationValid :: proc "c" (model: Model, anim: ModelAnimation) -> bool ---
Check model animation skeleton match
IsMouseButtonDown ¶
IsMouseButtonDown :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button is being pressed
IsMouseButtonPressed ¶
IsMouseButtonPressed :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button has been pressed once
IsMouseButtonReleased ¶
IsMouseButtonReleased :: proc "c" (button: MouseButton) -> bool ---
Detect if a mouse button has been released once
IsMouseButtonUp ¶
IsMouseButtonUp :: proc "c" (button: MouseButton) -> bool {…}
IsMusicReady ¶
Checks if a music stream is ready
IsMusicStreamPlaying ¶
Check if music is playing
IsPathFile ¶
Check if a given path is a file or a directory
IsRenderTextureReady ¶
IsRenderTextureReady :: proc "c" (target: RenderTexture) -> bool ---
Check if a render texture is ready
IsShaderReady ¶
Check if a shader is ready
IsSoundPlaying ¶
Check if a sound is currently playing
IsTextureReady ¶
Check if a texture is ready
IsWindowFocused ¶
IsWindowFocused :: proc "c" () -> bool ---
Check if window is currently focused (only PLATFORM_DESKTOP)
IsWindowFullscreen ¶
IsWindowFullscreen :: proc "c" () -> bool ---
Check if window is currently fullscreen
IsWindowHidden ¶
IsWindowHidden :: proc "c" () -> bool ---
Check if window is currently hidden (only PLATFORM_DESKTOP)
IsWindowMaximized ¶
IsWindowMaximized :: proc "c" () -> bool ---
Check if window is currently maximized (only PLATFORM_DESKTOP)
IsWindowMinimized ¶
IsWindowMinimized :: proc "c" () -> bool ---
Check if window is currently minimized (only PLATFORM_DESKTOP)
IsWindowReady ¶
IsWindowReady :: proc "c" () -> bool ---
Check if window has been initialized successfully
IsWindowResized ¶
IsWindowResized :: proc "c" () -> bool ---
Check if window has been resized last frame
IsWindowState ¶
IsWindowState :: proc "c" (flags: ConfigFlags) -> bool ---
Check if one specific window flag is enabled
Lerp ¶
Calculate linear interpolation between two floats
LoadAudioStream ¶
LoadAudioStream :: proc "c" (sampleRate, sampleSize: u32, channels: u32) -> AudioStream ---
Load audio stream (to stream raw audio pcm data)
LoadAutomationEventList ¶
LoadAutomationEventList :: proc "c" (fileName: cstring) -> AutomationEventList ---
Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
LoadCodepoints ¶
Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
LoadDirectoryFiles ¶
LoadDirectoryFiles :: proc "c" (dirPath: cstring) -> FilePathList ---
Load directory filepaths
LoadDirectoryFilesEx ¶
LoadDirectoryFilesEx :: proc "c" (basePath: cstring, filter: cstring, scanSubdirs: bool) -> FilePathList ---
Load directory filepaths with extension filtering and recursive directory scan
LoadFileData ¶
Load file data as byte array (read)
LoadFileText ¶
Load text data from file (read), returns a '\0' terminated string
LoadFont ¶
Load font from file into GPU memory (VRAM)
LoadFontData ¶
LoadFontData :: proc "c" ( fileData: rawptr, dataSize: i32, fontSize: i32, codepoints: [^]rune, codepointCount: i32, type: FontType, ) -> [^]GlyphInfo ---
Load font data for further use
LoadFontEx ¶
LoadFontEx :: proc "c" (fileName: cstring, fontSize: i32, codepoints: [^]rune, codepointCount: i32) -> Font ---
Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set
LoadFontFromImage ¶
Load font from Image (XNA style)
LoadFontFromMemory ¶
LoadFontFromMemory :: proc "c" ( fileType: cstring, fileData: rawptr, dataSize: i32, fontSize: i32, codepoints: [^]rune, codepointCount: i32, ) -> Font ---
Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
LoadImage ¶
Load image from file into CPU memory (RAM)
LoadImageAnim ¶
Load image sequence from file (frames appended to image.data)
LoadImageColors ¶
Load color data from image as a Color array (RGBA - 32bit)
LoadImageFromMemory ¶
Load image from memory buffer, fileType refers to extension: i.e. '.png'
LoadImageFromScreen ¶
LoadImageFromScreen :: proc "c" () -> Image ---
Load image from screen buffer and (screenshot)
LoadImageFromTexture ¶
Load image from GPU texture data
LoadImagePalette ¶
Load colors palette from image as a Color array (RGBA - 32bit)
LoadImageRaw ¶
LoadImageRaw :: proc "c" (fileName: cstring, width, height: i32, format: PixelFormat, headerSize: i32) -> Image ---
Load image from RAW file data
LoadImageSvg ¶
Load image from SVG file data or string with specified size
LoadMaterialDefault ¶
LoadMaterialDefault :: proc "c" () -> Material ---
Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
LoadMaterials ¶
Load materials from model file
LoadModel ¶
Load model from files (meshes and materials)
LoadModelAnimations ¶
LoadModelAnimations :: proc "c" (fileName: cstring, animCount: ^i32) -> [^]ModelAnimation ---
Load model animations from file
LoadModelFromMesh ¶
Load model from generated mesh (default material)
LoadMusicStream ¶
Load music stream from file
LoadMusicStreamFromMemory ¶
Load music stream from data
LoadRandomSequence ¶
Load random values sequence, no values repeated
LoadRenderTexture ¶
LoadRenderTexture :: proc "c" (width, height: i32) -> RenderTexture ---
Load texture for rendering (framebuffer)
LoadShader ¶
Load shader from files and bind default locations
LoadShaderFromMemory ¶
Load shader from code strings and bind default locations
LoadSoundAlias ¶
Create a new sound that shares the same sample data as the source sound, does not own the sound data
LoadSoundFromWave ¶
Load sound from wave data
LoadTexture ¶
Load texture from file into GPU memory (VRAM)
LoadTextureCubemap ¶
LoadTextureCubemap :: proc "c" (image: Image, layout: CubemapLayout) -> Texture ---
Load cubemap from image, multiple image cubemap layouts supported
LoadTextureFromImage ¶
Load texture from image data
LoadUTF8 ¶
Load UTF-8 text encoded from codepoints array
LoadVrStereoConfig ¶
LoadVrStereoConfig :: proc "c" (device: VrDeviceInfo) -> VrStereoConfig ---
Load VR stereo config for VR simulator device parameters
LoadWaveFromMemory ¶
Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
LoadWaveSamples ¶
Load samples data from wave as a 32bit float data array
MatrixAdd ¶
Add two matrices
MatrixDeterminant ¶
Compute matrix determinant
MatrixInvert ¶
Invert provided matrix
MatrixLookAt ¶
Get camera look-at matrix (view matrix)
MatrixMultiply ¶
Get two matrix multiplication NOTE: When multiplying matrices... the order matters!
MatrixOrtho ¶
Get orthographic projection matrix
MatrixPerspective ¶
Get perspective projection matrix NOTE: Fovy angle must be provided in radians
MatrixRotate ¶
Create rotation matrix from axis and angle NOTE: Angle should be provided in radians
MatrixRotateX ¶
Get x-rotation matrix NOTE: Angle must be provided in radians
MatrixRotateXYZ ¶
Get xyz-rotation matrix NOTE: Angle must be provided in radians
MatrixRotateY ¶
Get y-rotation matrix NOTE: Angle must be provided in radians
MatrixRotateZ ¶
Get z-rotation matrix NOTE: Angle must be provided in radians
MatrixRotateZYX ¶
Get zyx-rotation matrix NOTE: Angle must be provided in radians
MatrixScale ¶
Get scaling matrix
MatrixSubtract ¶
Subtract two matrices (left - right)
MatrixToFloatV ¶
Get float array of matrix data
MatrixTrace ¶
Get the trace of the matrix (sum of the values along the diagonal)
MatrixTranslate ¶
Get translation matrix
MatrixTranspose ¶
Transposes provided matrix
MaximizeWindow ¶
MaximizeWindow :: proc "c" () ---
Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
MeasureText ¶
Measure string width for default font
MeasureTextEx ¶
Measure string size for Font
MemAllocator ¶
MemAllocator :: proc "contextless" () -> runtime.Allocator {…}
MemAllocatorProc ¶
MemAllocatorProc :: proc( 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) {…}
MemFreeCstring ¶
MemFreeCstring :: proc "c" (s: cstring) {…}
MemFreePtr ¶
MemFreePtr :: proc "c" (ptr: rawptr) ---
MemRealloc ¶
Internal memory reallocator
MinimizeWindow ¶
MinimizeWindow :: proc "c" () ---
Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
Normalize ¶
Normalize input value within input range
OpenURL ¶
OpenURL :: proc "c" (url: cstring) ---
Open URL with default system browser (if available)
PlayAutomationEvent ¶
PlayAutomationEvent :: proc "c" (event: AutomationEvent) ---
Play a recorded automation event
QuaternionAdd ¶
QuaternionAdd :: proc "c" (q1, q2: quaternion128) -> quaternion128 {…}
Add two quaternions
QuaternionAddValue ¶
QuaternionAddValue :: proc "c" (q: quaternion128, add: f32) -> quaternion128 {…}
Add quaternion and float value
QuaternionDivide ¶
QuaternionDivide :: proc "c" (q1, q2: quaternion128) -> quaternion128 {…}
Divide two quaternions
QuaternionEquals ¶
QuaternionEquals :: proc "c" (p, q: quaternion128) -> bool {…}
Check whether two given quaternions are almost equal
QuaternionFromAxisAngle ¶
QuaternionFromAxisAngle :: proc "c" (axis: [3]f32, angle: f32) -> quaternion128 {…}
Get rotation quaternion for an angle and axis NOTE: Angle must be provided in radians
QuaternionFromEuler ¶
QuaternionFromEuler :: proc "c" (pitch, yaw, roll: f32) -> quaternion128 {…}
Get the quaternion equivalent to Euler angles NOTE: Rotation order is ZYX
QuaternionFromMatrix ¶
QuaternionFromMatrix :: proc "c" (mat: matrix[4, 4]f32) -> quaternion128 {…}
Get a quaternion for a given rotation matrix
QuaternionFromVector3ToVector3 ¶
QuaternionFromVector3ToVector3 :: proc "c" (from, to: [3]f32) -> quaternion128 {…}
Calculate quaternion based on the rotation from one vector to another
QuaternionInvert ¶
QuaternionInvert :: proc "c" (q: quaternion128) -> quaternion128 {…}
Invert provided quaternion
QuaternionLength ¶
QuaternionLength :: proc "c" (q: quaternion128) -> f32 {…}
Computes the length of a quaternion
QuaternionLerp ¶
QuaternionLerp :: proc "c" (q1, q2: quaternion128, amount: f32) -> (q3: quaternion128) {…}
Calculate linear interpolation between two quaternions
QuaternionMultiply ¶
QuaternionMultiply :: proc "c" (q1, q2: quaternion128) -> quaternion128 {…}
Calculate two quaternion multiplication
QuaternionNlerp ¶
QuaternionNlerp :: proc "c" (q1, q2: quaternion128, amount: f32) -> quaternion128 {…}
Calculate slerp-optimized interpolation between two quaternions
QuaternionNormalize ¶
QuaternionNormalize :: proc "c" (q: quaternion128) -> quaternion128 {…}
Normalize provided quaternion
QuaternionScale ¶
QuaternionScale :: proc "c" (q: quaternion128, mul: f32) -> quaternion128 {…}
Scale quaternion by float value
QuaternionSlerp ¶
QuaternionSlerp :: proc "c" (q1, q2: quaternion128, amount: f32) -> quaternion128 {…}
Calculates spherical linear interpolation between two quaternions
QuaternionSubtract ¶
QuaternionSubtract :: proc "c" (q1, q2: quaternion128) -> quaternion128 {…}
Subtract two quaternions
QuaternionSubtractValue ¶
QuaternionSubtractValue :: proc "c" (q: quaternion128, sub: f32) -> quaternion128 {…}
Subtract quaternion and float value
QuaternionToAxisAngle ¶
QuaternionToAxisAngle :: proc "c" (q: quaternion128) -> (outAxis: [3]f32, outAngle: f32) {…}
Get the rotation angle and axis for a given quaternion
QuaternionToEuler ¶
QuaternionToEuler :: proc "c" (q: quaternion128) -> [3]f32 {…}
Get the Euler angles equivalent to quaternion (roll, pitch, yaw) NOTE: Angles are returned in a Vector3 struct in radians
QuaternionToMatrix ¶
QuaternionToMatrix :: proc "c" (q: quaternion128) -> matrix[4, 4]f32 {…}
Get a matrix for a given quaternion
QuaternionTransform ¶
QuaternionTransform :: proc "c" (q: quaternion128, mat: matrix[4, 4]f32) -> quaternion128 {…}
Transform a quaternion given a transformation matrix
Remap ¶
Remap input value within input range to output range
RestoreWindow ¶
RestoreWindow :: proc "c" () ---
Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
SaveFileData ¶
Save data to file from byte array (write), returns true on success
SaveFileText ¶
Save text data to file (write), string must be '\0' terminated, returns true on success
SeekMusicStream ¶
Seek music to a position (in seconds)
SetAudioStreamBufferSizeDefault ¶
SetAudioStreamBufferSizeDefault :: proc "c" (size: i32) ---
Default size for new audio streams
SetAudioStreamCallback ¶
SetAudioStreamCallback :: proc "c" (stream: AudioStream, callback: AudioCallback) ---
Audio thread callback to request new data
SetAudioStreamPan ¶
SetAudioStreamPan :: proc "c" (stream: AudioStream, pan: f32) ---
Set pan for audio stream (0.5 is centered)
SetAudioStreamPitch ¶
SetAudioStreamPitch :: proc "c" (stream: AudioStream, pitch: f32) ---
Set pitch for audio stream (1.0 is base level)
SetAudioStreamVolume ¶
SetAudioStreamVolume :: proc "c" (stream: AudioStream, volume: f32) ---
Set volume for audio stream (1.0 is max level)
SetAutomationEventBaseFrame ¶
SetAutomationEventBaseFrame :: proc "c" (frame: i32) ---
Set automation event internal base frame to start recording
SetAutomationEventList ¶
SetAutomationEventList :: proc "c" (list: ^AutomationEventList) ---
Set automation event list to record to
SetConfigFlags ¶
SetConfigFlags :: proc "c" (flags: ConfigFlags) ---
Setup init configuration flags (view FLAGS). NOTE: This function is expected to be called before window creation
SetExitKey ¶
SetExitKey :: proc "c" (key: KeyboardKey) ---
Set a custom key to exit program (default is ESC)
SetGamepadMappings ¶
Set internal gamepad mappings (SDL_GameControllerDB)
SetGesturesEnabled ¶
SetGesturesEnabled :: proc "c" (flags: Gestures) ---
Enable a set of gestures using flags
SetLoadFileDataCallback ¶
SetLoadFileDataCallback :: proc "c" (callback: LoadFileDataCallback) ---
Set custom file binary data loader
SetLoadFileTextCallback ¶
SetLoadFileTextCallback :: proc "c" (callback: LoadFileTextCallback) ---
Set custom file text data loader
SetMaterialTexture ¶
SetMaterialTexture :: proc "c" (material: ^Material, mapType: MaterialMapIndex, texture: Texture) ---
Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
SetModelMeshMaterial ¶
Set material for a mesh
SetMusicPan ¶
Set pan for a music (0.5 is center)
SetMusicPitch ¶
Set pitch for a music (1.0 is base level)
SetMusicVolume ¶
Set volume for music (1.0 is max level)
SetPixelColor ¶
SetPixelColor :: proc "c" (dstPtr: rawptr, color: Color, format: PixelFormat) ---
Set color formatted into destination pixel pointer
SetRandomSeed ¶
SetRandomSeed :: proc "c" (seed: u32) ---
Set the seed for the random number generator
SetSaveFileDataCallback ¶
SetSaveFileDataCallback :: proc "c" (callback: SaveFileDataCallback) ---
Set custom file binary data saver
SetSaveFileTextCallback ¶
SetSaveFileTextCallback :: proc "c" (callback: SaveFileTextCallback) ---
Set custom file text data saver
SetShaderValue ¶
SetShaderValue :: proc "c" (shader: Shader, #any_int locIndex: i32, value: rawptr, uniformType: ShaderUniformDataType) ---
We use #any_int here so we can pass ShaderLocationIndex
SetShaderValueMatrix ¶
Set shader uniform value (matrix 4x4)
SetShaderValueTexture ¶
Set shader uniform value for texture (sampler2d)
SetShaderValueV ¶
SetShaderValueV :: proc "c" (shader: Shader, #any_int locIndex: i32, value: rawptr, uniformType: ShaderUniformDataType, count: i32) ---
Set shader uniform value vector
SetSoundPan ¶
Set pan for a sound (0.5 is center)
SetSoundPitch ¶
Set pitch for a sound (1.0 is base level)
SetSoundVolume ¶
Set volume for a sound (1.0 is max level)
SetTextLineSpacing ¶
SetTextLineSpacing :: proc "c" (spacing: i32) ---
Set vertical line spacing when drawing with line-breaks
SetTextureFilter ¶
SetTextureFilter :: proc "c" (texture: Texture, filter: TextureFilter) ---
Set texture scaling filter mode
SetTextureWrap ¶
SetTextureWrap :: proc "c" (texture: Texture, wrap: TextureWrap) ---
Set texture wrapping mode
SetTraceLogCallback ¶
SetTraceLogCallback :: proc "c" (callback: TraceLogCallback) ---
Set custom trace log
SetTraceLogLevel ¶
SetTraceLogLevel :: proc "c" (logLevel: TraceLogLevel) ---
Set the current threshold (minimum) log level
SetWindowIcon ¶
SetWindowIcon :: proc "c" (image: Image) ---
Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowIcons ¶
Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
SetWindowMaxSize ¶
SetWindowMaxSize :: proc "c" (width, height: i32) ---
Set window maximum dimensions (for WINDOW_RESIZABLE)
SetWindowMinSize ¶
SetWindowMinSize :: proc "c" (width, height: i32) ---
Set window minimum dimensions (for WINDOW_RESIZABLE)
SetWindowMonitor ¶
SetWindowMonitor :: proc "c" (monitor: i32) ---
Set monitor for the current window
SetWindowOpacity ¶
SetWindowOpacity :: proc "c" (opacity: f32) ---
Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
SetWindowPosition ¶
SetWindowPosition :: proc "c" (x, y: i32) ---
Set window position on screen (only PLATFORM_DESKTOP)
SetWindowState ¶
SetWindowState :: proc "c" (flags: ConfigFlags) ---
Set window configuration state using flags (only PLATFORM_DESKTOP)
SetWindowTitle ¶
SetWindowTitle :: proc "c" (title: cstring) ---
Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)
StartAutomationEventRecording ¶
StartAutomationEventRecording :: proc "c" () ---
Start recording automation events (AutomationEventList must be set)
StopAutomationEventRecording ¶
StopAutomationEventRecording :: proc "c" () ---
Stop recording automation events
SwapScreenBuffer ¶
SwapScreenBuffer :: proc "c" () ---
Swap back buffer with front buffer (screen drawing)
TextAppend ¶
Append text at specific position and move cursor!
TextCopy ¶
Copy one string to another, returns bytes copied
TextFindIndex ¶
Find first text occurrence within a string
TextFormat ¶
Text formatting with variables (sprintf style)
TextFormatAlloc ¶
Text formatting with variables (sprintf style) and allocates (must be freed with 'MemFree')
TextInsert ¶
Insert text in a position (WARNING: memory must be freed!)
TextIsEqual ¶
Check if two text string are equal
TextJoin ¶
Join text strings with delimiter
TextLength ¶
Get text length, checks for '\0' ending
TextReplace ¶
Replace text string (WARNING: memory must be freed!)
TextSplit ¶
Split text into multiple strings
TextSubtext ¶
Get a piece of a text string
TextToInteger ¶
Get integer value from text (negative values not supported)
TextToLower ¶
Get lower case version of provided string
TextToPascal ¶
Get Pascal case notation version of provided string
TextToUpper ¶
Get upper case version of provided string
ToggleBorderlessWindowed ¶
ToggleBorderlessWindowed :: proc "c" () ---
Toggle window state: borderless windowed (only PLATFORM_DESKTOP)
ToggleFullscreen ¶
ToggleFullscreen :: proc "c" () ---
Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
TraceLog ¶
TraceLog :: proc "c" (logLevel: TraceLogLevel, text: cstring, .. args: ..any) ---
NOTE: Following functions implemented in module [utils] ------------------------------------------------------------------
UnloadAudioStream ¶
UnloadAudioStream :: proc "c" (stream: AudioStream) ---
Unload audio stream and free memory
UnloadAutomationEventList ¶
UnloadAutomationEventList :: proc "c" (list: ^AutomationEventList) ---
Unload automation events list from file
UnloadCodepoints ¶
UnloadCodepoints :: proc "c" (codepoints: [^]rune) ---
Unload codepoints data from memory
UnloadDroppedFiles ¶
UnloadDroppedFiles :: proc "c" (files: FilePathList) ---
Unload dropped filepaths
UnloadFileData ¶
UnloadFileData :: proc "c" (data: [^]u8) ---
Unload file data allocated by LoadFileData()
UnloadFileText ¶
UnloadFileText :: proc "c" (text: [^]u8) ---
Unload file text data allocated by LoadFileText()
UnloadFontData ¶
Unload font chars info data (RAM)
UnloadImageColors ¶
UnloadImageColors :: proc "c" (colors: [^]Color) ---
Unload color data loaded with LoadImageColors()
UnloadImagePalette ¶
UnloadImagePalette :: proc "c" (colors: [^]Color) ---
Unload colors palette loaded with LoadImagePalette()
UnloadMaterial ¶
UnloadMaterial :: proc "c" (material: Material) ---
Unload material from GPU memory (VRAM)
UnloadModel ¶
UnloadModel :: proc "c" (model: Model) ---
Unload model (including meshes) from memory (RAM and/or VRAM)
UnloadModelAnimation ¶
UnloadModelAnimation :: proc "c" (anim: ModelAnimation) ---
Unload animation data
UnloadModelAnimations ¶
UnloadModelAnimations :: proc "c" (animations: [^]ModelAnimation, animCount: i32) ---
Unload animation array data
UnloadRandomSequence ¶
UnloadRandomSequence :: proc "c" (sequence: [^]i32) ---
Unload random values sequence
UnloadRenderTexture ¶
UnloadRenderTexture :: proc "c" (target: RenderTexture) ---
Unload render texture from GPU memory (VRAM)
UnloadSoundAlias ¶
UnloadSoundAlias :: proc "c" (alias: Sound) ---
Unload a sound alias (does not deallocate sample data)
UnloadTexture ¶
UnloadTexture :: proc "c" (texture: Texture) ---
Unload texture from GPU memory (VRAM)
UnloadUTF8 ¶
UnloadUTF8 :: proc "c" (text: [^]u8) ---
Unload UTF-8 text encoded from codepoints array
UnloadVrStereoConfig ¶
UnloadVrStereoConfig :: proc "c" (config: VrStereoConfig) ---
Unload VR stereo config
UnloadWaveSamples ¶
UnloadWaveSamples :: proc "c" (samples: [^]f32) ---
Unload samples data loaded with LoadWaveSamples()
UpdateAudioStream ¶
UpdateAudioStream :: proc "c" (stream: AudioStream, data: rawptr, frameCount: i32) ---
Update audio stream buffers with data
UpdateCamera ¶
UpdateCamera :: proc "c" (camera: ^Camera3D, mode: CameraMode) ---
Set camera mode (multiple camera modes available)
UpdateCameraPro ¶
Update camera movement/rotation
UpdateMeshBuffer ¶
Update mesh vertex data in GPU for a specific buffer index
UpdateModelAnimation ¶
UpdateModelAnimation :: proc "c" (model: Model, anim: ModelAnimation, frame: i32) ---
Update model animation pose
UpdateMusicStream ¶
UpdateMusicStream :: proc "c" (music: Music) ---
Updates buffers for music streaming
UpdateSound ¶
Update sound buffer with new data
UpdateTexture ¶
Update GPU texture with new data
UpdateTextureRec ¶
Update GPU texture rectangle with new data
UploadMesh ¶
Upload mesh vertex data in GPU and provide VAO/VBO ids
Vector2AddValue ¶
Add vector and float value
Vector2Angle ¶
Calculate angle between two vectors NOTE: Angle is calculated from origin point (0, 0)
Vector2Clamp ¶
Clamp the components of the vector between min and max values specified by the given vectors
Vector2ClampValue ¶
Clamp the magnitude of the vector between two min and max values
Vector2Distance ¶
Calculate distance between two vectors
Vector2DistanceSqrt ¶
Calculate square distance between two vectors
Vector2Divide ¶
Divide vector by vector
Vector2DotProduct ¶
Calculate two vectors dot product
Vector2LengthSqr ¶
Calculate vector square length
Vector2Lerp ¶
Calculate linear interpolation between two vectors
Vector2LineAngle ¶
Calculate angle defined by a two vectors line NOTE: Parameters need to be normalized Current implementation should be aligned with glm::angle
Vector2MoveTowards ¶
Move Vector towards target
Vector2Multiply ¶
Multiply vector by vector
Vector2Normalize ¶
Normalize provided vector
Vector2Reflect ¶
Calculate reflected vector to normal
Vector2Rotate ¶
Rotate vector by angle
Vector2Scale ¶
Scale vector (multiply by value)
Vector2Subtract ¶
Subtract two vectors (v1 - v2)
Vector2SubtractValue ¶
Subtract vector by float value
Vector2Transform ¶
Transforms a Vector2 by a given Matrix
Vector3AddValue ¶
Add vector and float value
Vector3Angle ¶
Calculate angle between two vectors NOTE: Angle is calculated from origin point (0, 0)
Vector3Barycenter ¶
Compute barycenter coordinates (u, v, w) for point p with respect to triangle (a, b, c) NOTE: Assumes P is on the plane of the triangle
Vector3Clamp ¶
Clamp the components of the vector between min and max values specified by the given vectors
Vector3ClampValue ¶
Clamp the magnitude of the vector between two min and max values
Vector3CrossProduct ¶
Calculate two vectors dot product
Vector3Distance ¶
Calculate distance between two vectors
Vector3DistanceSqrt ¶
Calculate square distance between two vectors
Vector3Divide ¶
Divide vector by vector
Vector3DotProduct ¶
Calculate two vectors dot product
Vector3LengthSqr ¶
Calculate vector square length
Vector3Lerp ¶
Calculate linear interpolation between two vectors
Vector3LineAngle ¶
Calculate angle defined by a two vectors line NOTE: Parameters need to be normalized Current implementation should be aligned with glm::angle
Vector3MoveTowards ¶
Move Vector towards target
Vector3Multiply ¶
Multiply vector by vector
Vector3Normalize ¶
Normalize provided vector
Vector3OrthoNormalize ¶
Vector3OrthoNormalize :: proc "c" (v1, v2: ^[3]f32) {…}
Orthonormalize provided vectors Makes vectors normalized and orthogonal to each other Gram-Schmidt function implementation
Vector3Project ¶
Calculate the projection of the vector v1 on to v2
Vector3Reflect ¶
Calculate reflected vector to normal
Vector3Refract ¶
Compute the direction of a refracted ray v: normalized direction of the incoming ray n: normalized normal vector of the interface of two optical media r: ratio of the refractive index of the medium from where the ray comes to the refractive index of the medium on the other side of the surface
Vector3Reject ¶
Calculate the rejection of the vector v1 on to v2
Vector3RotateByAxisAngle ¶
Rotates a vector around an axis
Vector3RotateByQuaternion ¶
Vector3RotateByQuaternion :: proc "c" (v: [3]f32, q: quaternion128) -> [3]f32 {…}
Transform a vector by quaternion rotation
Vector3Scale ¶
Scale vector (multiply by value)
Vector3Subtract ¶
Subtract two vectors (v1 - v2)
Vector3SubtractValue ¶
Subtract vector by float value
Vector3Transform ¶
Transforms a Vector3 by a given Matrix
Vector3Unproject ¶
Vector3Unproject :: proc "c" (source: [3]f32, projection: matrix[4, 4]f32, view: matrix[4, 4]f32) -> [3]f32 {…}
Projects a Vector3 from screen space into object space
WaveCrop ¶
Crop a wave to defined samples range
WaveFormat ¶
Convert wave data to desired format
WindowShouldClose ¶
WindowShouldClose :: proc "c" () -> bool ---
Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)
Wrap ¶
Wrap input value from min to max
Procedure Groups
Source Files
Generation Information
Generated with odin version dev-2024-11 (vendor "odin") Windows_amd64 @ 2024-11-20 21:11:52.344994800 +0000 UTC