Class Raylib

java.lang.Object
com.raylib.Raylib

public class Raylib extends Object
  • Field Details

    • LIGHTGRAY

      public static Color LIGHTGRAY
    • GRAY

      public static Color GRAY
    • DARKGRAY

      public static Color DARKGRAY
    • YELLOW

      public static Color YELLOW
    • GOLD

      public static Color GOLD
    • ORANGE

      public static Color ORANGE
    • PINK

      public static Color PINK
    • RED

      public static Color RED
    • MAROON

      public static Color MAROON
    • GREEN

      public static Color GREEN
    • LIME

      public static Color LIME
    • DARKGREEN

      public static Color DARKGREEN
    • SKYBLUE

      public static Color SKYBLUE
    • BLUE

      public static Color BLUE
    • DARKBLUE

      public static Color DARKBLUE
    • PURPLE

      public static Color PURPLE
    • VIOLET

      public static Color VIOLET
    • DARKPURPLE

      public static Color DARKPURPLE
    • BEIGE

      public static Color BEIGE
    • BROWN

      public static Color BROWN
    • DARKBROWN

      public static Color DARKBROWN
    • WHITE

      public static Color WHITE
    • BLACK

      public static Color BLACK
    • BLANK

      public static Color BLANK
    • MAGENTA

      public static Color MAGENTA
    • RAYWHITE

      public static Color RAYWHITE
  • Constructor Details

    • Raylib

      public Raylib()
  • Method Details

    • createIntBuffer

      public static IntBuffer createIntBuffer(int size)
      Any IntBuffers you create *MUST* be direct allocation and native order. Use this method to ensure that.
      Parameters:
      size -
      Returns:
    • createFloatBuffer

      public static FloatBuffer createFloatBuffer(int size)
      Any FloatBuffers you create *MUST* be direct allocation and native order. Use this method to ensure that.
      Parameters:
      size -
      Returns:
    • createByteBuffer

      public static ByteBuffer createByteBuffer(int size)
      Any ByteBuffers you create *MUST* be direct allocation and native order. Use this method to ensure that.
      Parameters:
      size -
      Returns:
    • initWindow

      public static void initWindow(int width, int height, String title)
      Initialize window and OpenGL context
    • closeWindow

      public static void closeWindow()
      Close window and unload OpenGL context
    • windowShouldClose

      public static boolean windowShouldClose()
      Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)
    • isWindowReady

      public static boolean isWindowReady()
      Check if window has been initialized successfully
    • isWindowFullscreen

      public static boolean isWindowFullscreen()
      Check if window is currently fullscreen
    • isWindowHidden

      public static boolean isWindowHidden()
      Check if window is currently hidden
    • isWindowMinimized

      public static boolean isWindowMinimized()
      Check if window is currently minimized
    • isWindowMaximized

      public static boolean isWindowMaximized()
      Check if window is currently maximized
    • isWindowFocused

      public static boolean isWindowFocused()
      Check if window is currently focused
    • isWindowResized

      public static boolean isWindowResized()
      Check if window has been resized last frame
    • isWindowState

      public static boolean isWindowState(int flag)
      Check if one specific window flag is enabled
    • setWindowState

      public static void setWindowState(int flags)
      Set window configuration state using flags
    • clearWindowState

      public static void clearWindowState(int flags)
      Clear window configuration state flags
    • toggleFullscreen

      public static void toggleFullscreen()
      Toggle window state: fullscreen/windowed, resizes monitor to match window resolution
    • toggleBorderlessWindowed

      public static void toggleBorderlessWindowed()
      Toggle window state: borderless windowed, resizes window to match monitor resolution
    • maximizeWindow

      public static void maximizeWindow()
      Set window state: maximized, if resizable
    • minimizeWindow

      public static void minimizeWindow()
      Set window state: minimized, if resizable
    • restoreWindow

      public static void restoreWindow()
      Set window state: not minimized/maximized
    • setWindowIcon

      public static void setWindowIcon(Image image)
      Set icon for window (single image, RGBA 32bit)
    • setWindowIcons

      public static void setWindowIcons(Image images, int count)
      Set icon for window (multiple images, RGBA 32bit)
    • setWindowTitle

      public static void setWindowTitle(String title)
      Set title for window
    • setWindowPosition

      public static void setWindowPosition(int x, int y)
      Set window position on screen
    • setWindowMonitor

      public static void setWindowMonitor(int monitor)
      Set monitor for the current window
    • setWindowMinSize

      public static void setWindowMinSize(int width, int height)
      Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
    • setWindowMaxSize

      public static void setWindowMaxSize(int width, int height)
      Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)
    • setWindowSize

      public static void setWindowSize(int width, int height)
      Set window dimensions
    • setWindowOpacity

      public static void setWindowOpacity(float opacity)
      Set window opacity [0.0f..1.0f]
    • setWindowFocused

      public static void setWindowFocused()
      Set window focused
    • getWindowHandle

      public static MemorySegment getWindowHandle()
      Get native window handle
    • getScreenWidth

      public static int getScreenWidth()
      Get current screen width
    • getScreenHeight

      public static int getScreenHeight()
      Get current screen height
    • getRenderWidth

      public static int getRenderWidth()
      Get current render width (it considers HiDPI)
    • getRenderHeight

      public static int getRenderHeight()
      Get current render height (it considers HiDPI)
    • getMonitorCount

      public static int getMonitorCount()
      Get number of connected monitors
    • getCurrentMonitor

      public static int getCurrentMonitor()
      Get current monitor where window is placed
    • getMonitorPosition

      public static Vector2 getMonitorPosition(int monitor)
      Get specified monitor position
    • getMonitorPosition

      public static Vector2 getMonitorPosition(Arena arena, int monitor)
      Get specified monitor position
    • getMonitorWidth

      public static int getMonitorWidth(int monitor)
      Get specified monitor width (current video mode used by monitor)
    • getMonitorHeight

      public static int getMonitorHeight(int monitor)
      Get specified monitor height (current video mode used by monitor)
    • getMonitorPhysicalWidth

      public static int getMonitorPhysicalWidth(int monitor)
      Get specified monitor physical width in millimetres
    • getMonitorPhysicalHeight

      public static int getMonitorPhysicalHeight(int monitor)
      Get specified monitor physical height in millimetres
    • getMonitorRefreshRate

      public static int getMonitorRefreshRate(int monitor)
      Get specified monitor refresh rate
    • getWindowPosition

      public static Vector2 getWindowPosition()
      Get window position XY on monitor
    • getWindowPosition

      public static Vector2 getWindowPosition(Arena arena)
      Get window position XY on monitor
    • getWindowScaleDPI

      public static Vector2 getWindowScaleDPI()
      Get window scale DPI factor
    • getWindowScaleDPI

      public static Vector2 getWindowScaleDPI(Arena arena)
      Get window scale DPI factor
    • getMonitorName

      public static String getMonitorName(int monitor)
      Get the human-readable, UTF-8 encoded name of the specified monitor
    • setClipboardText

      public static void setClipboardText(String text)
      Set clipboard text content
    • getClipboardText

      public static String getClipboardText()
      Get clipboard text content
    • getClipboardImage

      public static Image getClipboardImage()
      Get clipboard image content
    • getClipboardImage

      public static Image getClipboardImage(Arena arena)
      Get clipboard image content
    • enableEventWaiting

      public static void enableEventWaiting()
      Enable waiting for events on EndDrawing(), no automatic event polling
    • disableEventWaiting

      public static void disableEventWaiting()
      Disable waiting for events on EndDrawing(), automatic events polling
    • showCursor

      public static void showCursor()
      Shows cursor
    • hideCursor

      public static void hideCursor()
      Hides cursor
    • isCursorHidden

      public static boolean isCursorHidden()
      Check if cursor is not visible
    • enableCursor

      public static void enableCursor()
      Enables cursor (unlock cursor)
    • disableCursor

      public static void disableCursor()
      Disables cursor (lock cursor)
    • isCursorOnScreen

      public static boolean isCursorOnScreen()
      Check if cursor is on the screen
    • clearBackground

      public static void clearBackground(Color color)
      Set background color (framebuffer clear color)
    • beginDrawing

      public static void beginDrawing()
      Setup canvas (framebuffer) to start drawing
    • endDrawing

      public static void endDrawing()
      End canvas drawing and swap buffers (double buffering)
    • beginMode2D

      public static void beginMode2D(Camera2D camera)
      Begin 2D mode with custom camera (2D)
    • endMode2D

      public static void endMode2D()
      Ends 2D mode with custom camera
    • beginMode3D

      public static void beginMode3D(Camera3D camera)
      Begin 3D mode with custom camera (3D)
    • endMode3D

      public static void endMode3D()
      Ends 3D mode and returns to default 2D orthographic mode
    • beginTextureMode

      public static void beginTextureMode(RenderTexture target)
      Begin drawing to render texture
    • endTextureMode

      public static void endTextureMode()
      Ends drawing to render texture
    • beginShaderMode

      public static void beginShaderMode(Shader shader)
      Begin custom shader drawing
    • endShaderMode

      public static void endShaderMode()
      End custom shader drawing (use default shader)
    • beginBlendMode

      public static void beginBlendMode(int mode)
      Begin blending mode (alpha, additive, multiplied, subtract, custom)
    • endBlendMode

      public static void endBlendMode()
      End blending mode (reset to default: alpha blending)
    • beginScissorMode

      public static void beginScissorMode(int x, int y, int width, int height)
      Begin scissor mode (define screen area for following drawing)
    • endScissorMode

      public static void endScissorMode()
      End scissor mode
    • beginVrStereoMode

      public static void beginVrStereoMode(VrStereoConfig config)
      Begin stereo rendering (requires VR simulator)
    • endVrStereoMode

      public static void endVrStereoMode()
      End stereo rendering (requires VR simulator)
    • loadVrStereoConfig

      public static VrStereoConfig loadVrStereoConfig(VrDeviceInfo device)
      Load VR stereo config for VR simulator device parameters
    • loadVrStereoConfig

      public static VrStereoConfig loadVrStereoConfig(Arena arena, VrDeviceInfo device)
      Load VR stereo config for VR simulator device parameters
    • unloadVrStereoConfig

      public static void unloadVrStereoConfig(VrStereoConfig config)
      Unload VR stereo config
    • loadShader

      public static Shader loadShader(String vsFileName, String fsFileName)
      Load shader from files and bind default locations
    • loadShader

      public static Shader loadShader(Arena arena, String vsFileName, String fsFileName)
      Load shader from files and bind default locations
    • loadShaderFromMemory

      public static Shader loadShaderFromMemory(String vsCode, String fsCode)
      Load shader from code strings and bind default locations
    • loadShaderFromMemory

      public static Shader loadShaderFromMemory(Arena arena, String vsCode, String fsCode)
      Load shader from code strings and bind default locations
    • isShaderValid

      public static boolean isShaderValid(Shader shader)
      Check if a shader is valid (loaded on GPU)
    • getShaderLocation

      public static int getShaderLocation(Shader shader, String uniformName)
      Get shader uniform location
    • getShaderLocationAttrib

      public static int getShaderLocationAttrib(Shader shader, String attribName)
      Get shader attribute location
    • setShaderValue

      public static void setShaderValue(Shader shader, int locIndex, MemorySegment value, int uniformType)
      Set shader uniform value
    • setShaderValueV

      public static void setShaderValueV(Shader shader, int locIndex, MemorySegment value, int uniformType, int count)
      Set shader uniform value vector
    • setShaderValueMatrix

      public static void setShaderValueMatrix(Shader shader, int locIndex, Matrix mat)
      Set shader uniform value (matrix 4x4)
    • setShaderValueTexture

      public static void setShaderValueTexture(Shader shader, int locIndex, Texture texture)
      Set shader uniform value for texture (sampler2d)
    • unloadShader

      public static void unloadShader(Shader shader)
      Unload shader from GPU memory (VRAM)
    • getScreenToWorldRay

      public static Ray getScreenToWorldRay(Vector2 position, Camera3D camera)
      Get a ray trace from screen position (i.e mouse)
    • getScreenToWorldRay

      public static Ray getScreenToWorldRay(Arena arena, Vector2 position, Camera3D camera)
      Get a ray trace from screen position (i.e mouse)
    • getScreenToWorldRayEx

      public static Ray getScreenToWorldRayEx(Vector2 position, Camera3D camera, int width, int height)
      Get a ray trace from screen position (i.e mouse) in a viewport
    • getScreenToWorldRayEx

      public static Ray getScreenToWorldRayEx(Arena arena, Vector2 position, Camera3D camera, int width, int height)
      Get a ray trace from screen position (i.e mouse) in a viewport
    • getWorldToScreen

      public static Vector2 getWorldToScreen(Vector3 position, Camera3D camera)
      Get the screen space position for a 3d world space position
    • getWorldToScreen

      public static Vector2 getWorldToScreen(Arena arena, Vector3 position, Camera3D camera)
      Get the screen space position for a 3d world space position
    • getWorldToScreenEx

      public static Vector2 getWorldToScreenEx(Vector3 position, Camera3D camera, int width, int height)
      Get size position for a 3d world space position
    • getWorldToScreenEx

      public static Vector2 getWorldToScreenEx(Arena arena, Vector3 position, Camera3D camera, int width, int height)
      Get size position for a 3d world space position
    • getWorldToScreen2D

      public static Vector2 getWorldToScreen2D(Vector2 position, Camera2D camera)
      Get the screen space position for a 2d camera world space position
    • getWorldToScreen2D

      public static Vector2 getWorldToScreen2D(Arena arena, Vector2 position, Camera2D camera)
      Get the screen space position for a 2d camera world space position
    • getScreenToWorld2D

      public static Vector2 getScreenToWorld2D(Vector2 position, Camera2D camera)
      Get the world space position for a 2d camera screen space position
    • getScreenToWorld2D

      public static Vector2 getScreenToWorld2D(Arena arena, Vector2 position, Camera2D camera)
      Get the world space position for a 2d camera screen space position
    • getCameraMatrix

      public static Matrix getCameraMatrix(Camera3D camera)
      Get camera transform matrix (view matrix)
    • getCameraMatrix

      public static Matrix getCameraMatrix(Arena arena, Camera3D camera)
      Get camera transform matrix (view matrix)
    • getCameraMatrix2D

      public static Matrix getCameraMatrix2D(Camera2D camera)
      Get camera 2d transform matrix
    • getCameraMatrix2D

      public static Matrix getCameraMatrix2D(Arena arena, Camera2D camera)
      Get camera 2d transform matrix
    • setTargetFPS

      public static void setTargetFPS(int fps)
      Set target FPS (maximum)
    • getFrameTime

      public static float getFrameTime()
      Get time in seconds for last frame drawn (delta time)
    • getTime

      public static double getTime()
      Get elapsed time in seconds since InitWindow()
    • getFPS

      public static int getFPS()
      Get current FPS
    • swapScreenBuffer

      public static void swapScreenBuffer()
      Swap back buffer with front buffer (screen drawing)
    • pollInputEvents

      public static void pollInputEvents()
      Register all input events
    • waitTime

      public static void waitTime(double seconds)
      Wait for some time (halt program execution)
    • setRandomSeed

      public static void setRandomSeed(int seed)
      Set the seed for the random number generator
    • getRandomValue

      public static int getRandomValue(int min, int max)
      Get a random value between min and max (both included)
    • loadRandomSequence

      public static IntBuffer loadRandomSequence(int count, int min, int max)
      Load random values sequence, no values repeated
    • unloadRandomSequence

      public static void unloadRandomSequence(IntBuffer sequence)
      Unload random values sequence
    • takeScreenshot

      public static void takeScreenshot(String fileName)
      Takes a screenshot of current screen (filename extension defines format)
    • setConfigFlags

      public static void setConfigFlags(int flags)
      Setup init configuration flags (view FLAGS)
    • openURL

      public static void openURL(String url)
      Open URL with default system browser (if available)
    • setTraceLogLevel

      public static void setTraceLogLevel(int logLevel)
      Set the current threshold (minimum) log level
    • memAlloc

      public static MemorySegment memAlloc(int size)
      Internal memory allocator
    • memRealloc

      public static MemorySegment memRealloc(MemorySegment ptr, int size)
      Internal memory reallocator
    • memFree

      public static void memFree(MemorySegment ptr)
      Internal memory free
    • setTraceLogCallback

      public static void setTraceLogCallback(MemorySegment callback)
      Set custom trace log
    • setLoadFileDataCallback

      public static void setLoadFileDataCallback(MemorySegment callback)
      Set custom file binary data loader
    • setSaveFileDataCallback

      public static void setSaveFileDataCallback(MemorySegment callback)
      Set custom file binary data saver
    • setLoadFileTextCallback

      public static void setLoadFileTextCallback(MemorySegment callback)
      Set custom file text data loader
    • setSaveFileTextCallback

      public static void setSaveFileTextCallback(MemorySegment callback)
      Set custom file text data saver
    • loadFileData

      public static ByteBuffer loadFileData(String fileName, IntBuffer dataSize)
      Load file data as byte array (read)
    • unloadFileData

      public static void unloadFileData(ByteBuffer data)
      Unload file data allocated by LoadFileData()
    • saveFileData

      public static boolean saveFileData(String fileName, MemorySegment data, int dataSize)
      Save data to file from byte array (write), returns true on success
    • exportDataAsCode

      public static boolean exportDataAsCode(ByteBuffer data, int dataSize, String fileName)
      Export data to code (.h), returns true on success
    • loadFileText

      public static ByteBuffer loadFileText(String fileName)
      Load text data from file (read), returns a '\0' terminated string
    • unloadFileText

      public static void unloadFileText(ByteBuffer text)
      Unload file text data allocated by LoadFileText()
    • saveFileText

      public static boolean saveFileText(String fileName, ByteBuffer text)
      Save text data to file (write), string must be '\0' terminated, returns true on success
    • fileExists

      public static boolean fileExists(String fileName)
      Check if file exists
    • directoryExists

      public static boolean directoryExists(String dirPath)
      Check if a directory path exists
    • isFileExtension

      public static boolean isFileExtension(String fileName, String ext)
      Check file extension (including point: .png, .wav)
    • getFileLength

      public static int getFileLength(String fileName)
      Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
    • getFileExtension

      public static String getFileExtension(String fileName)
      Get pointer to extension for a filename string (includes dot: '.png')
    • getFileName

      public static String getFileName(String filePath)
      Get pointer to filename for a path string
    • getFileNameWithoutExt

      public static String getFileNameWithoutExt(String filePath)
      Get filename string without extension (uses static string)
    • getDirectoryPath

      public static String getDirectoryPath(String filePath)
      Get full path for a given fileName with path (uses static string)
    • getPrevDirectoryPath

      public static String getPrevDirectoryPath(String dirPath)
      Get previous directory path for a given path (uses static string)
    • getWorkingDirectory

      public static String getWorkingDirectory()
      Get current working directory (uses static string)
    • getApplicationDirectory

      public static String getApplicationDirectory()
      Get the directory of the running application (uses static string)
    • makeDirectory

      public static int makeDirectory(String dirPath)
      Create directories (including full path requested), returns 0 on success
    • changeDirectory

      public static boolean changeDirectory(String dir)
      Change working directory, return true on success
    • isPathFile

      public static boolean isPathFile(String path)
      Check if a given path is a file or a directory
    • isFileNameValid

      public static boolean isFileNameValid(String fileName)
      Check if fileName is valid for the platform/OS
    • loadDirectoryFiles

      public static FilePathList loadDirectoryFiles(String dirPath)
      Load directory filepaths
    • loadDirectoryFiles

      public static FilePathList loadDirectoryFiles(Arena arena, String dirPath)
      Load directory filepaths
    • loadDirectoryFilesEx

      public static FilePathList loadDirectoryFilesEx(String basePath, String filter, boolean scanSubdirs)
      Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result
    • loadDirectoryFilesEx

      public static FilePathList loadDirectoryFilesEx(Arena arena, String basePath, String filter, boolean scanSubdirs)
      Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result
    • unloadDirectoryFiles

      public static void unloadDirectoryFiles(FilePathList files)
      Unload filepaths
    • isFileDropped

      public static boolean isFileDropped()
      Check if a file has been dropped into window
    • loadDroppedFiles

      public static FilePathList loadDroppedFiles()
      Load dropped filepaths
    • loadDroppedFiles

      public static FilePathList loadDroppedFiles(Arena arena)
      Load dropped filepaths
    • unloadDroppedFiles

      public static void unloadDroppedFiles(FilePathList files)
      Unload dropped filepaths
    • getFileModTime

      public static long getFileModTime(String fileName)
      Get file modification time (last write time)
    • compressData

      public static ByteBuffer compressData(ByteBuffer data, int dataSize, IntBuffer compDataSize)
      Compress data (DEFLATE algorithm), memory must be MemFree()
    • decompressData

      public static ByteBuffer decompressData(ByteBuffer compData, int compDataSize, IntBuffer dataSize)
      Decompress data (DEFLATE algorithm), memory must be MemFree()
    • encodeDataBase64

      public static ByteBuffer encodeDataBase64(ByteBuffer data, int dataSize, IntBuffer outputSize)
      Encode data to Base64 string, memory must be MemFree()
    • decodeDataBase64

      public static ByteBuffer decodeDataBase64(ByteBuffer data, IntBuffer outputSize)
      Decode Base64 string data, memory must be MemFree()
    • computeCRC32

      public static int computeCRC32(ByteBuffer data, int dataSize)
      Compute CRC32 hash code
    • computeMD5

      public static MemorySegment computeMD5(ByteBuffer data, int dataSize)
      Compute MD5 hash code, returns static int[4] (16 bytes)
    • computeSHA1

      public static MemorySegment computeSHA1(ByteBuffer data, int dataSize)
      Compute SHA1 hash code, returns static int[5] (20 bytes)
    • loadAutomationEventList

      public static AutomationEventList loadAutomationEventList(String fileName)
      Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
    • loadAutomationEventList

      public static AutomationEventList loadAutomationEventList(Arena arena, String fileName)
      Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
    • unloadAutomationEventList

      public static void unloadAutomationEventList(AutomationEventList list)
      Unload automation events list from file
    • exportAutomationEventList

      public static boolean exportAutomationEventList(AutomationEventList list, String fileName)
      Export automation events list as text file
    • setAutomationEventList

      public static void setAutomationEventList(AutomationEventList list)
      Set automation event list to record to
    • setAutomationEventBaseFrame

      public static void setAutomationEventBaseFrame(int frame)
      Set automation event internal base frame to start recording
    • startAutomationEventRecording

      public static void startAutomationEventRecording()
      Start recording automation events (AutomationEventList must be set)
    • stopAutomationEventRecording

      public static void stopAutomationEventRecording()
      Stop recording automation events
    • playAutomationEvent

      public static void playAutomationEvent(AutomationEvent event)
      Play a recorded automation event
    • isKeyPressed

      public static boolean isKeyPressed(int key)
      Check if a key has been pressed once
    • isKeyPressedRepeat

      public static boolean isKeyPressedRepeat(int key)
      Check if a key has been pressed again
    • isKeyDown

      public static boolean isKeyDown(int key)
      Check if a key is being pressed
    • isKeyReleased

      public static boolean isKeyReleased(int key)
      Check if a key has been released once
    • isKeyUp

      public static boolean isKeyUp(int key)
      Check if a key is NOT being pressed
    • getKeyPressed

      public static int getKeyPressed()
      Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
    • getCharPressed

      public static int getCharPressed()
      Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
    • setExitKey

      public static void setExitKey(int key)
      Set a custom key to exit program (default is ESC)
    • isGamepadAvailable

      public static boolean isGamepadAvailable(int gamepad)
      Check if a gamepad is available
    • getGamepadName

      public static String getGamepadName(int gamepad)
      Get gamepad internal name id
    • isGamepadButtonPressed

      public static boolean isGamepadButtonPressed(int gamepad, int button)
      Check if a gamepad button has been pressed once
    • isGamepadButtonDown

      public static boolean isGamepadButtonDown(int gamepad, int button)
      Check if a gamepad button is being pressed
    • isGamepadButtonReleased

      public static boolean isGamepadButtonReleased(int gamepad, int button)
      Check if a gamepad button has been released once
    • isGamepadButtonUp

      public static boolean isGamepadButtonUp(int gamepad, int button)
      Check if a gamepad button is NOT being pressed
    • getGamepadButtonPressed

      public static int getGamepadButtonPressed()
      Get the last gamepad button pressed
    • getGamepadAxisCount

      public static int getGamepadAxisCount(int gamepad)
      Get gamepad axis count for a gamepad
    • getGamepadAxisMovement

      public static float getGamepadAxisMovement(int gamepad, int axis)
      Get axis movement value for a gamepad axis
    • setGamepadMappings

      public static int setGamepadMappings(String mappings)
      Set internal gamepad mappings (SDL_GameControllerDB)
    • setGamepadVibration

      public static void setGamepadVibration(int gamepad, float leftMotor, float rightMotor, float duration)
      Set gamepad vibration for both motors (duration in seconds)
    • isMouseButtonPressed

      public static boolean isMouseButtonPressed(int button)
      Check if a mouse button has been pressed once
    • isMouseButtonDown

      public static boolean isMouseButtonDown(int button)
      Check if a mouse button is being pressed
    • isMouseButtonReleased

      public static boolean isMouseButtonReleased(int button)
      Check if a mouse button has been released once
    • isMouseButtonUp

      public static boolean isMouseButtonUp(int button)
      Check if a mouse button is NOT being pressed
    • getMouseX

      public static int getMouseX()
      Get mouse position X
    • getMouseY

      public static int getMouseY()
      Get mouse position Y
    • getMousePosition

      public static Vector2 getMousePosition()
      Get mouse position XY
    • getMousePosition

      public static Vector2 getMousePosition(Arena arena)
      Get mouse position XY
    • getMouseDelta

      public static Vector2 getMouseDelta()
      Get mouse delta between frames
    • getMouseDelta

      public static Vector2 getMouseDelta(Arena arena)
      Get mouse delta between frames
    • setMousePosition

      public static void setMousePosition(int x, int y)
      Set mouse position XY
    • setMouseOffset

      public static void setMouseOffset(int offsetX, int offsetY)
      Set mouse offset
    • setMouseScale

      public static void setMouseScale(float scaleX, float scaleY)
      Set mouse scaling
    • getMouseWheelMove

      public static float getMouseWheelMove()
      Get mouse wheel movement for X or Y, whichever is larger
    • getMouseWheelMoveV

      public static Vector2 getMouseWheelMoveV()
      Get mouse wheel movement for both X and Y
    • getMouseWheelMoveV

      public static Vector2 getMouseWheelMoveV(Arena arena)
      Get mouse wheel movement for both X and Y
    • setMouseCursor

      public static void setMouseCursor(int cursor)
      Set mouse cursor
    • getTouchX

      public static int getTouchX()
      Get touch position X for touch point 0 (relative to screen size)
    • getTouchY

      public static int getTouchY()
      Get touch position Y for touch point 0 (relative to screen size)
    • getTouchPosition

      public static Vector2 getTouchPosition(int index)
      Get touch position XY for a touch point index (relative to screen size)
    • getTouchPosition

      public static Vector2 getTouchPosition(Arena arena, int index)
      Get touch position XY for a touch point index (relative to screen size)
    • getTouchPointId

      public static int getTouchPointId(int index)
      Get touch point identifier for given index
    • getTouchPointCount

      public static int getTouchPointCount()
      Get number of touch points
    • setGesturesEnabled

      public static void setGesturesEnabled(int flags)
      Enable a set of gestures using flags
    • isGestureDetected

      public static boolean isGestureDetected(int gesture)
      Check if a gesture have been detected
    • getGestureDetected

      public static int getGestureDetected()
      Get latest detected gesture
    • getGestureHoldDuration

      public static float getGestureHoldDuration()
      Get gesture hold time in seconds
    • getGestureDragVector

      public static Vector2 getGestureDragVector()
      Get gesture drag vector
    • getGestureDragVector

      public static Vector2 getGestureDragVector(Arena arena)
      Get gesture drag vector
    • getGestureDragAngle

      public static float getGestureDragAngle()
      Get gesture drag angle
    • getGesturePinchVector

      public static Vector2 getGesturePinchVector()
      Get gesture pinch delta
    • getGesturePinchVector

      public static Vector2 getGesturePinchVector(Arena arena)
      Get gesture pinch delta
    • getGesturePinchAngle

      public static float getGesturePinchAngle()
      Get gesture pinch angle
    • updateCamera

      public static void updateCamera(Camera3D camera, int mode)
      Update camera position for selected mode
    • updateCameraPro

      public static void updateCameraPro(Camera3D camera, Vector3 movement, Vector3 rotation, float zoom)
      Update camera movement/rotation
    • setShapesTexture

      public static void setShapesTexture(Texture texture, Rectangle source)
      Set texture and rectangle to be used on shapes drawing
    • getShapesTexture

      public static Texture getShapesTexture()
      Get texture that is used for shapes drawing
    • getShapesTexture

      public static Texture getShapesTexture(Arena arena)
      Get texture that is used for shapes drawing
    • getShapesTextureRectangle

      public static Rectangle getShapesTextureRectangle()
      Get texture source rectangle that is used for shapes drawing
    • getShapesTextureRectangle

      public static Rectangle getShapesTextureRectangle(Arena arena)
      Get texture source rectangle that is used for shapes drawing
    • drawPixel

      public static void drawPixel(int posX, int posY, Color color)
      Draw a pixel using geometry [Can be slow, use with care]
    • drawPixelV

      public static void drawPixelV(Vector2 position, Color color)
      Draw a pixel using geometry (Vector version) [Can be slow, use with care]
    • drawLine

      public static void drawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color)
      Draw a line
    • drawLineV

      public static void drawLineV(Vector2 startPos, Vector2 endPos, Color color)
      Draw a line (using gl lines)
    • drawLineEx

      public static void drawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color)
      Draw a line (using triangles/quads)
    • drawLineStrip

      public static void drawLineStrip(MemorySegment points, int pointCount, Color color)
      Draw lines sequence (using gl lines)
    • drawLineBezier

      public static void drawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color)
      Draw line segment cubic-bezier in-out interpolation
    • drawCircle

      public static void drawCircle(int centerX, int centerY, float radius, Color color)
      Draw a color-filled circle
    • drawCircleSector

      public static void drawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
      Draw a piece of a circle
    • drawCircleSectorLines

      public static void drawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
      Draw circle sector outline
    • drawCircleGradient

      public static void drawCircleGradient(int centerX, int centerY, float radius, Color inner, Color outer)
      Draw a gradient-filled circle
    • drawCircleV

      public static void drawCircleV(Vector2 center, float radius, Color color)
      Draw a color-filled circle (Vector version)
    • drawCircleLines

      public static void drawCircleLines(int centerX, int centerY, float radius, Color color)
      Draw circle outline
    • drawCircleLinesV

      public static void drawCircleLinesV(Vector2 center, float radius, Color color)
      Draw circle outline (Vector version)
    • drawEllipse

      public static void drawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color)
      Draw ellipse
    • drawEllipseLines

      public static void drawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color)
      Draw ellipse outline
    • drawRing

      public static void drawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color)
      Draw ring
    • drawRingLines

      public static void drawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color)
      Draw ring outline
    • drawRectangle

      public static void drawRectangle(int posX, int posY, int width, int height, Color color)
      Draw a color-filled rectangle
    • drawRectangleV

      public static void drawRectangleV(Vector2 position, Vector2 size, Color color)
      Draw a color-filled rectangle (Vector version)
    • drawRectangleRec

      public static void drawRectangleRec(Rectangle rec, Color color)
      Draw a color-filled rectangle
    • drawRectanglePro

      public static void drawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color)
      Draw a color-filled rectangle with pro parameters
    • drawRectangleGradientV

      public static void drawRectangleGradientV(int posX, int posY, int width, int height, Color top, Color bottom)
      Draw a vertical-gradient-filled rectangle
    • drawRectangleGradientH

      public static void drawRectangleGradientH(int posX, int posY, int width, int height, Color left, Color right)
      Draw a horizontal-gradient-filled rectangle
    • drawRectangleGradientEx

      public static void drawRectangleGradientEx(Rectangle rec, Color topLeft, Color bottomLeft, Color topRight, Color bottomRight)
      Draw a gradient-filled rectangle with custom vertex colors
    • drawRectangleLines

      public static void drawRectangleLines(int posX, int posY, int width, int height, Color color)
      Draw rectangle outline
    • drawRectangleLinesEx

      public static void drawRectangleLinesEx(Rectangle rec, float lineThick, Color color)
      Draw rectangle outline with extended parameters
    • drawRectangleRounded

      public static void drawRectangleRounded(Rectangle rec, float roundness, int segments, Color color)
      Draw rectangle with rounded edges
    • drawRectangleRoundedLines

      public static void drawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color)
      Draw rectangle lines with rounded edges
    • drawRectangleRoundedLinesEx

      public static void drawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float lineThick, Color color)
      Draw rectangle with rounded edges outline
    • drawTriangle

      public static void drawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
      Draw a color-filled triangle (vertex in counter-clockwise order!)
    • drawTriangleLines

      public static void drawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
      Draw triangle outline (vertex in counter-clockwise order!)
    • drawTriangleFan

      public static void drawTriangleFan(MemorySegment points, int pointCount, Color color)
      Draw a triangle fan defined by points (first vertex is the center)
    • drawTriangleStrip

      public static void drawTriangleStrip(MemorySegment points, int pointCount, Color color)
      Draw a triangle strip defined by points
    • drawPoly

      public static void drawPoly(Vector2 center, int sides, float radius, float rotation, Color color)
      Draw a regular polygon (Vector version)
    • drawPolyLines

      public static void drawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color)
      Draw a polygon outline of n sides
    • drawPolyLinesEx

      public static void drawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color)
      Draw a polygon outline of n sides with extended parameters
    • drawSplineLinear

      public static void drawSplineLinear(MemorySegment points, int pointCount, float thick, Color color)
      Draw spline: Linear, minimum 2 points
    • drawSplineBasis

      public static void drawSplineBasis(MemorySegment points, int pointCount, float thick, Color color)
      Draw spline: B-Spline, minimum 4 points
    • drawSplineCatmullRom

      public static void drawSplineCatmullRom(MemorySegment points, int pointCount, float thick, Color color)
      Draw spline: Catmull-Rom, minimum 4 points
    • drawSplineBezierQuadratic

      public static void drawSplineBezierQuadratic(MemorySegment points, int pointCount, float thick, Color color)
      Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
    • drawSplineBezierCubic

      public static void drawSplineBezierCubic(MemorySegment points, int pointCount, float thick, Color color)
      Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
    • drawSplineSegmentLinear

      public static void drawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color)
      Draw spline segment: Linear, 2 points
    • drawSplineSegmentBasis

      public static void drawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color)
      Draw spline segment: B-Spline, 4 points
    • drawSplineSegmentCatmullRom

      public static void drawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color)
      Draw spline segment: Catmull-Rom, 4 points
    • drawSplineSegmentBezierQuadratic

      public static void drawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color)
      Draw spline segment: Quadratic Bezier, 2 points, 1 control point
    • drawSplineSegmentBezierCubic

      public static void drawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color)
      Draw spline segment: Cubic Bezier, 2 points, 2 control points
    • getSplinePointLinear

      public static Vector2 getSplinePointLinear(Vector2 startPos, Vector2 endPos, float t)
      Get (evaluate) spline point: Linear
    • getSplinePointLinear

      public static Vector2 getSplinePointLinear(Arena arena, Vector2 startPos, Vector2 endPos, float t)
      Get (evaluate) spline point: Linear
    • getSplinePointBasis

      public static Vector2 getSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t)
      Get (evaluate) spline point: B-Spline
    • getSplinePointBasis

      public static Vector2 getSplinePointBasis(Arena arena, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t)
      Get (evaluate) spline point: B-Spline
    • getSplinePointCatmullRom

      public static Vector2 getSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t)
      Get (evaluate) spline point: Catmull-Rom
    • getSplinePointCatmullRom

      public static Vector2 getSplinePointCatmullRom(Arena arena, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t)
      Get (evaluate) spline point: Catmull-Rom
    • getSplinePointBezierQuad

      public static Vector2 getSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t)
      Get (evaluate) spline point: Quadratic Bezier
    • getSplinePointBezierQuad

      public static Vector2 getSplinePointBezierQuad(Arena arena, Vector2 p1, Vector2 c2, Vector2 p3, float t)
      Get (evaluate) spline point: Quadratic Bezier
    • getSplinePointBezierCubic

      public static Vector2 getSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t)
      Get (evaluate) spline point: Cubic Bezier
    • getSplinePointBezierCubic

      public static Vector2 getSplinePointBezierCubic(Arena arena, Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t)
      Get (evaluate) spline point: Cubic Bezier
    • checkCollisionRecs

      public static boolean checkCollisionRecs(Rectangle rec1, Rectangle rec2)
      Check collision between two rectangles
    • checkCollisionCircles

      public static boolean checkCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2)
      Check collision between two circles
    • checkCollisionCircleRec

      public static boolean checkCollisionCircleRec(Vector2 center, float radius, Rectangle rec)
      Check collision between circle and rectangle
    • checkCollisionCircleLine

      public static boolean checkCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2)
      Check if circle collides with a line created betweeen two points [p1] and [p2]
    • checkCollisionPointRec

      public static boolean checkCollisionPointRec(Vector2 point, Rectangle rec)
      Check if point is inside rectangle
    • checkCollisionPointCircle

      public static boolean checkCollisionPointCircle(Vector2 point, Vector2 center, float radius)
      Check if point is inside circle
    • checkCollisionPointTriangle

      public static boolean checkCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3)
      Check if point is inside a triangle
    • checkCollisionPointLine

      public static boolean checkCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold)
      Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
    • checkCollisionPointPoly

      public static boolean checkCollisionPointPoly(Vector2 point, MemorySegment points, int pointCount)
      Check if point is within a polygon described by array of vertices
    • checkCollisionLines

      public static boolean checkCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 collisionPoint)
      Check the collision between two lines defined by two points each, returns collision point by reference
    • getCollisionRec

      public static Rectangle getCollisionRec(Rectangle rec1, Rectangle rec2)
      Get collision rectangle for two rectangles collision
    • getCollisionRec

      public static Rectangle getCollisionRec(Arena arena, Rectangle rec1, Rectangle rec2)
      Get collision rectangle for two rectangles collision
    • loadImage

      public static Image loadImage(String fileName)
      Load image from file into CPU memory (RAM)
    • loadImage

      public static Image loadImage(Arena arena, String fileName)
      Load image from file into CPU memory (RAM)
    • loadImageRaw

      public static Image loadImageRaw(String fileName, int width, int height, int format, int headerSize)
      Load image from RAW file data
    • loadImageRaw

      public static Image loadImageRaw(Arena arena, String fileName, int width, int height, int format, int headerSize)
      Load image from RAW file data
    • loadImageAnim

      public static Image loadImageAnim(String fileName, IntBuffer frames)
      Load image sequence from file (frames appended to image.data)
    • loadImageAnim

      public static Image loadImageAnim(Arena arena, String fileName, IntBuffer frames)
      Load image sequence from file (frames appended to image.data)
    • loadImageAnimFromMemory

      public static Image loadImageAnimFromMemory(String fileType, ByteBuffer fileData, int dataSize, IntBuffer frames)
      Load image sequence from memory buffer
    • loadImageAnimFromMemory

      public static Image loadImageAnimFromMemory(Arena arena, String fileType, ByteBuffer fileData, int dataSize, IntBuffer frames)
      Load image sequence from memory buffer
    • loadImageFromMemory

      public static Image loadImageFromMemory(String fileType, ByteBuffer fileData, int dataSize)
      Load image from memory buffer, fileType refers to extension: i.e. '.png'
    • loadImageFromMemory

      public static Image loadImageFromMemory(Arena arena, String fileType, ByteBuffer fileData, int dataSize)
      Load image from memory buffer, fileType refers to extension: i.e. '.png'
    • loadImageFromTexture

      public static Image loadImageFromTexture(Texture texture)
      Load image from GPU texture data
    • loadImageFromTexture

      public static Image loadImageFromTexture(Arena arena, Texture texture)
      Load image from GPU texture data
    • loadImageFromScreen

      public static Image loadImageFromScreen()
      Load image from screen buffer and (screenshot)
    • loadImageFromScreen

      public static Image loadImageFromScreen(Arena arena)
      Load image from screen buffer and (screenshot)
    • isImageValid

      public static boolean isImageValid(Image image)
      Check if an image is valid (data and parameters)
    • unloadImage

      public static void unloadImage(Image image)
      Unload image from CPU memory (RAM)
    • exportImage

      public static boolean exportImage(Image image, String fileName)
      Export image data to file, returns true on success
    • exportImageToMemory

      public static ByteBuffer exportImageToMemory(Image image, String fileType, IntBuffer fileSize)
      Export image to memory buffer
    • exportImageAsCode

      public static boolean exportImageAsCode(Image image, String fileName)
      Export image as code file defining an array of bytes, returns true on success
    • genImageColor

      public static Image genImageColor(int width, int height, Color color)
      Generate image: plain color
    • genImageColor

      public static Image genImageColor(Arena arena, int width, int height, Color color)
      Generate image: plain color
    • genImageGradientLinear

      public static Image genImageGradientLinear(int width, int height, int direction, Color start, Color end)
      Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
    • genImageGradientLinear

      public static Image genImageGradientLinear(Arena arena, int width, int height, int direction, Color start, Color end)
      Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
    • genImageGradientRadial

      public static Image genImageGradientRadial(int width, int height, float density, Color inner, Color outer)
      Generate image: radial gradient
    • genImageGradientRadial

      public static Image genImageGradientRadial(Arena arena, int width, int height, float density, Color inner, Color outer)
      Generate image: radial gradient
    • genImageGradientSquare

      public static Image genImageGradientSquare(int width, int height, float density, Color inner, Color outer)
      Generate image: square gradient
    • genImageGradientSquare

      public static Image genImageGradientSquare(Arena arena, int width, int height, float density, Color inner, Color outer)
      Generate image: square gradient
    • genImageChecked

      public static Image genImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2)
      Generate image: checked
    • genImageChecked

      public static Image genImageChecked(Arena arena, int width, int height, int checksX, int checksY, Color col1, Color col2)
      Generate image: checked
    • genImageWhiteNoise

      public static Image genImageWhiteNoise(int width, int height, float factor)
      Generate image: white noise
    • genImageWhiteNoise

      public static Image genImageWhiteNoise(Arena arena, int width, int height, float factor)
      Generate image: white noise
    • genImagePerlinNoise

      public static Image genImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale)
      Generate image: perlin noise
    • genImagePerlinNoise

      public static Image genImagePerlinNoise(Arena arena, int width, int height, int offsetX, int offsetY, float scale)
      Generate image: perlin noise
    • genImageCellular

      public static Image genImageCellular(int width, int height, int tileSize)
      Generate image: cellular algorithm, bigger tileSize means bigger cells
    • genImageCellular

      public static Image genImageCellular(Arena arena, int width, int height, int tileSize)
      Generate image: cellular algorithm, bigger tileSize means bigger cells
    • genImageText

      public static Image genImageText(int width, int height, String text)
      Generate image: grayscale image from text data
    • genImageText

      public static Image genImageText(Arena arena, int width, int height, String text)
      Generate image: grayscale image from text data
    • imageCopy

      public static Image imageCopy(Image image)
      Create an image duplicate (useful for transformations)
    • imageCopy

      public static Image imageCopy(Arena arena, Image image)
      Create an image duplicate (useful for transformations)
    • imageFromImage

      public static Image imageFromImage(Image image, Rectangle rec)
      Create an image from another image piece
    • imageFromImage

      public static Image imageFromImage(Arena arena, Image image, Rectangle rec)
      Create an image from another image piece
    • imageFromChannel

      public static Image imageFromChannel(Image image, int selectedChannel)
      Create an image from a selected channel of another image (GRAYSCALE)
    • imageFromChannel

      public static Image imageFromChannel(Arena arena, Image image, int selectedChannel)
      Create an image from a selected channel of another image (GRAYSCALE)
    • imageText

      public static Image imageText(String text, int fontSize, Color color)
      Create an image from text (default font)
    • imageText

      public static Image imageText(Arena arena, String text, int fontSize, Color color)
      Create an image from text (default font)
    • imageTextEx

      public static Image imageTextEx(Font font, String text, float fontSize, float spacing, Color tint)
      Create an image from text (custom sprite font)
    • imageTextEx

      public static Image imageTextEx(Arena arena, Font font, String text, float fontSize, float spacing, Color tint)
      Create an image from text (custom sprite font)
    • imageFormat

      public static void imageFormat(Image image, int newFormat)
      Convert image data to desired format
    • imageToPOT

      public static void imageToPOT(Image image, Color fill)
      Convert image to POT (power-of-two)
    • imageCrop

      public static void imageCrop(Image image, Rectangle crop)
      Crop an image to a defined rectangle
    • imageAlphaCrop

      public static void imageAlphaCrop(Image image, float threshold)
      Crop image depending on alpha value
    • imageAlphaClear

      public static void imageAlphaClear(Image image, Color color, float threshold)
      Clear alpha channel to desired color
    • imageAlphaMask

      public static void imageAlphaMask(Image image, Image alphaMask)
      Apply alpha mask to image
    • imageAlphaPremultiply

      public static void imageAlphaPremultiply(Image image)
      Premultiply alpha channel
    • imageBlurGaussian

      public static void imageBlurGaussian(Image image, int blurSize)
      Apply Gaussian blur using a box blur approximation
    • imageKernelConvolution

      public static void imageKernelConvolution(Image image, MemorySegment kernel, int kernelSize)
      Apply custom square convolution kernel to image
    • imageResize

      public static void imageResize(Image image, int newWidth, int newHeight)
      Resize image (Bicubic scaling algorithm)
    • imageResizeNN

      public static void imageResizeNN(Image image, int newWidth, int newHeight)
      Resize image (Nearest-Neighbor scaling algorithm)
    • imageResizeCanvas

      public static void imageResizeCanvas(Image image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill)
      Resize canvas and fill with color
    • imageMipmaps

      public static void imageMipmaps(Image image)
      Compute all mipmap levels for a provided image
    • imageDither

      public static void imageDither(Image image, int rBpp, int gBpp, int bBpp, int aBpp)
      Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
    • imageFlipVertical

      public static void imageFlipVertical(Image image)
      Flip image vertically
    • imageFlipHorizontal

      public static void imageFlipHorizontal(Image image)
      Flip image horizontally
    • imageRotate

      public static void imageRotate(Image image, int degrees)
      Rotate image by input angle in degrees (-359 to 359)
    • imageRotateCW

      public static void imageRotateCW(Image image)
      Rotate image clockwise 90deg
    • imageRotateCCW

      public static void imageRotateCCW(Image image)
      Rotate image counter-clockwise 90deg
    • imageColorTint

      public static void imageColorTint(Image image, Color color)
      Modify image color: tint
    • imageColorInvert

      public static void imageColorInvert(Image image)
      Modify image color: invert
    • imageColorGrayscale

      public static void imageColorGrayscale(Image image)
      Modify image color: grayscale
    • imageColorContrast

      public static void imageColorContrast(Image image, float contrast)
      Modify image color: contrast (-100 to 100)
    • imageColorBrightness

      public static void imageColorBrightness(Image image, int brightness)
      Modify image color: brightness (-255 to 255)
    • imageColorReplace

      public static void imageColorReplace(Image image, Color color, Color replace)
      Modify image color: replace color
    • loadImageColors

      public static Color loadImageColors(Image image)
      Load color data from image as a Color array (RGBA - 32bit)
    • loadImagePalette

      public static Color loadImagePalette(Image image, int maxPaletteSize, IntBuffer colorCount)
      Load colors palette from image as a Color array (RGBA - 32bit)
    • unloadImageColors

      public static void unloadImageColors(Color colors)
      Unload color data loaded with LoadImageColors()
    • unloadImagePalette

      public static void unloadImagePalette(Color colors)
      Unload colors palette loaded with LoadImagePalette()
    • getImageAlphaBorder

      public static Rectangle getImageAlphaBorder(Image image, float threshold)
      Get image alpha border rectangle
    • getImageAlphaBorder

      public static Rectangle getImageAlphaBorder(Arena arena, Image image, float threshold)
      Get image alpha border rectangle
    • getImageColor

      public static Color getImageColor(Image image, int x, int y)
      Get image pixel color at (x, y) position
    • getImageColor

      public static Color getImageColor(Arena arena, Image image, int x, int y)
      Get image pixel color at (x, y) position
    • imageClearBackground

      public static void imageClearBackground(Image dst, Color color)
      Clear image background with given color
    • imageDrawPixel

      public static void imageDrawPixel(Image dst, int posX, int posY, Color color)
      Draw pixel within an image
    • imageDrawPixelV

      public static void imageDrawPixelV(Image dst, Vector2 position, Color color)
      Draw pixel within an image (Vector version)
    • imageDrawLine

      public static void imageDrawLine(Image dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color)
      Draw line within an image
    • imageDrawLineV

      public static void imageDrawLineV(Image dst, Vector2 start, Vector2 end, Color color)
      Draw line within an image (Vector version)
    • imageDrawLineEx

      public static void imageDrawLineEx(Image dst, Vector2 start, Vector2 end, int thick, Color color)
      Draw a line defining thickness within an image
    • imageDrawCircle

      public static void imageDrawCircle(Image dst, int centerX, int centerY, int radius, Color color)
      Draw a filled circle within an image
    • imageDrawCircleV

      public static void imageDrawCircleV(Image dst, Vector2 center, int radius, Color color)
      Draw a filled circle within an image (Vector version)
    • imageDrawCircleLines

      public static void imageDrawCircleLines(Image dst, int centerX, int centerY, int radius, Color color)
      Draw circle outline within an image
    • imageDrawCircleLinesV

      public static void imageDrawCircleLinesV(Image dst, Vector2 center, int radius, Color color)
      Draw circle outline within an image (Vector version)
    • imageDrawRectangle

      public static void imageDrawRectangle(Image dst, int posX, int posY, int width, int height, Color color)
      Draw rectangle within an image
    • imageDrawRectangleV

      public static void imageDrawRectangleV(Image dst, Vector2 position, Vector2 size, Color color)
      Draw rectangle within an image (Vector version)
    • imageDrawRectangleRec

      public static void imageDrawRectangleRec(Image dst, Rectangle rec, Color color)
      Draw rectangle within an image
    • imageDrawRectangleLines

      public static void imageDrawRectangleLines(Image dst, Rectangle rec, int thick, Color color)
      Draw rectangle lines within an image
    • imageDrawTriangle

      public static void imageDrawTriangle(Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color)
      Draw triangle within an image
    • imageDrawTriangleEx

      public static void imageDrawTriangleEx(Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3)
      Draw triangle with interpolated colors within an image
    • imageDrawTriangleLines

      public static void imageDrawTriangleLines(Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color)
      Draw triangle outline within an image
    • imageDrawTriangleFan

      public static void imageDrawTriangleFan(Image dst, Vector2 points, int pointCount, Color color)
      Draw a triangle fan defined by points within an image (first vertex is the center)
    • imageDrawTriangleStrip

      public static void imageDrawTriangleStrip(Image dst, Vector2 points, int pointCount, Color color)
      Draw a triangle strip defined by points within an image
    • imageDraw

      public static void imageDraw(Image dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint)
      Draw a source image within a destination image (tint applied to source)
    • imageDrawText

      public static void imageDrawText(Image dst, String text, int posX, int posY, int fontSize, Color color)
      Draw text (using default font) within an image (destination)
    • imageDrawTextEx

      public static void imageDrawTextEx(Image dst, Font font, String text, Vector2 position, float fontSize, float spacing, Color tint)
      Draw text (custom sprite font) within an image (destination)
    • loadTexture

      public static Texture loadTexture(String fileName)
      Load texture from file into GPU memory (VRAM)
    • loadTexture

      public static Texture loadTexture(Arena arena, String fileName)
      Load texture from file into GPU memory (VRAM)
    • loadTextureFromImage

      public static Texture loadTextureFromImage(Image image)
      Load texture from image data
    • loadTextureFromImage

      public static Texture loadTextureFromImage(Arena arena, Image image)
      Load texture from image data
    • loadTextureCubemap

      public static Texture loadTextureCubemap(Image image, int layout)
      Load cubemap from image, multiple image cubemap layouts supported
    • loadTextureCubemap

      public static Texture loadTextureCubemap(Arena arena, Image image, int layout)
      Load cubemap from image, multiple image cubemap layouts supported
    • loadRenderTexture

      public static RenderTexture loadRenderTexture(int width, int height)
      Load texture for rendering (framebuffer)
    • loadRenderTexture

      public static RenderTexture loadRenderTexture(Arena arena, int width, int height)
      Load texture for rendering (framebuffer)
    • isTextureValid

      public static boolean isTextureValid(Texture texture)
      Check if a texture is valid (loaded in GPU)
    • unloadTexture

      public static void unloadTexture(Texture texture)
      Unload texture from GPU memory (VRAM)
    • isRenderTextureValid

      public static boolean isRenderTextureValid(RenderTexture target)
      Check if a render texture is valid (loaded in GPU)
    • unloadRenderTexture

      public static void unloadRenderTexture(RenderTexture target)
      Unload render texture from GPU memory (VRAM)
    • updateTexture

      public static void updateTexture(Texture texture, MemorySegment pixels)
      Update GPU texture with new data
    • updateTextureRec

      public static void updateTextureRec(Texture texture, Rectangle rec, MemorySegment pixels)
      Update GPU texture rectangle with new data
    • genTextureMipmaps

      public static void genTextureMipmaps(Texture texture)
      Generate GPU mipmaps for a texture
    • setTextureFilter

      public static void setTextureFilter(Texture texture, int filter)
      Set texture scaling filter mode
    • setTextureWrap

      public static void setTextureWrap(Texture texture, int wrap)
      Set texture wrapping mode
    • drawTexture

      public static void drawTexture(Texture texture, int posX, int posY, Color tint)
      Draw a Texture2D
    • drawTextureV

      public static void drawTextureV(Texture texture, Vector2 position, Color tint)
      Draw a Texture2D with position defined as Vector2
    • drawTextureEx

      public static void drawTextureEx(Texture texture, Vector2 position, float rotation, float scale, Color tint)
      Draw a Texture2D with extended parameters
    • drawTextureRec

      public static void drawTextureRec(Texture texture, Rectangle source, Vector2 position, Color tint)
      Draw a part of a texture defined by a rectangle
    • drawTexturePro

      public static void drawTexturePro(Texture texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint)
      Draw a part of a texture defined by a rectangle with 'pro' parameters
    • drawTextureNPatch

      public static void drawTextureNPatch(Texture texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint)
      Draws a texture (or part of it) that stretches or shrinks nicely
    • colorIsEqual

      public static boolean colorIsEqual(Color col1, Color col2)
      Check if two colors are equal
    • fade

      public static Color fade(Color color, float alpha)
      Get color with alpha applied, alpha goes from 0.0f to 1.0f
    • fade

      public static Color fade(Arena arena, Color color, float alpha)
      Get color with alpha applied, alpha goes from 0.0f to 1.0f
    • colorToInt

      public static int colorToInt(Color color)
      Get hexadecimal value for a Color (0xRRGGBBAA)
    • colorNormalize

      public static Vector4 colorNormalize(Color color)
      Get Color normalized as float [0..1]
    • colorNormalize

      public static Vector4 colorNormalize(Arena arena, Color color)
      Get Color normalized as float [0..1]
    • colorFromNormalized

      public static Color colorFromNormalized(Vector4 normalized)
      Get Color from normalized values [0..1]
    • colorFromNormalized

      public static Color colorFromNormalized(Arena arena, Vector4 normalized)
      Get Color from normalized values [0..1]
    • colorToHSV

      public static Vector3 colorToHSV(Color color)
      Get HSV values for a Color, hue [0..360], saturation/value [0..1]
    • colorToHSV

      public static Vector3 colorToHSV(Arena arena, Color color)
      Get HSV values for a Color, hue [0..360], saturation/value [0..1]
    • colorFromHSV

      public static Color colorFromHSV(float hue, float saturation, float value)
      Get a Color from HSV values, hue [0..360], saturation/value [0..1]
    • colorFromHSV

      public static Color colorFromHSV(Arena arena, float hue, float saturation, float value)
      Get a Color from HSV values, hue [0..360], saturation/value [0..1]
    • colorTint

      public static Color colorTint(Color color, Color tint)
      Get color multiplied with another color
    • colorTint

      public static Color colorTint(Arena arena, Color color, Color tint)
      Get color multiplied with another color
    • colorBrightness

      public static Color colorBrightness(Color color, float factor)
      Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
    • colorBrightness

      public static Color colorBrightness(Arena arena, Color color, float factor)
      Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
    • colorContrast

      public static Color colorContrast(Color color, float contrast)
      Get color with contrast correction, contrast values between -1.0f and 1.0f
    • colorContrast

      public static Color colorContrast(Arena arena, Color color, float contrast)
      Get color with contrast correction, contrast values between -1.0f and 1.0f
    • colorAlpha

      public static Color colorAlpha(Color color, float alpha)
      Get color with alpha applied, alpha goes from 0.0f to 1.0f
    • colorAlpha

      public static Color colorAlpha(Arena arena, Color color, float alpha)
      Get color with alpha applied, alpha goes from 0.0f to 1.0f
    • colorAlphaBlend

      public static Color colorAlphaBlend(Color dst, Color src, Color tint)
      Get src alpha-blended into dst color with tint
    • colorAlphaBlend

      public static Color colorAlphaBlend(Arena arena, Color dst, Color src, Color tint)
      Get src alpha-blended into dst color with tint
    • colorLerp

      public static Color colorLerp(Color color1, Color color2, float factor)
      Get color lerp interpolation between two colors, factor [0.0f..1.0f]
    • colorLerp

      public static Color colorLerp(Arena arena, Color color1, Color color2, float factor)
      Get color lerp interpolation between two colors, factor [0.0f..1.0f]
    • getColor

      public static Color getColor(int hexValue)
      Get Color structure from hexadecimal value
    • getColor

      public static Color getColor(Arena arena, int hexValue)
      Get Color structure from hexadecimal value
    • getPixelColor

      public static Color getPixelColor(MemorySegment srcPtr, int format)
      Get Color from a source pixel pointer of certain format
    • getPixelColor

      public static Color getPixelColor(Arena arena, MemorySegment srcPtr, int format)
      Get Color from a source pixel pointer of certain format
    • setPixelColor

      public static void setPixelColor(MemorySegment dstPtr, Color color, int format)
      Set color formatted into destination pixel pointer
    • getPixelDataSize

      public static int getPixelDataSize(int width, int height, int format)
      Get pixel data size in bytes for certain format
    • getFontDefault

      public static Font getFontDefault()
      Get the default Font
    • getFontDefault

      public static Font getFontDefault(Arena arena)
      Get the default Font
    • loadFont

      public static Font loadFont(String fileName)
      Load font from file into GPU memory (VRAM)
    • loadFont

      public static Font loadFont(Arena arena, String fileName)
      Load font from file into GPU memory (VRAM)
    • loadFontEx

      public static Font loadFontEx(String fileName, int fontSize, IntBuffer codepoints, int codepointCount)
      Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height
    • loadFontEx

      public static Font loadFontEx(Arena arena, String fileName, int fontSize, IntBuffer codepoints, int codepointCount)
      Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height
    • loadFontFromImage

      public static Font loadFontFromImage(Image image, Color key, int firstChar)
      Load font from Image (XNA style)
    • loadFontFromImage

      public static Font loadFontFromImage(Arena arena, Image image, Color key, int firstChar)
      Load font from Image (XNA style)
    • loadFontFromMemory

      public static Font loadFontFromMemory(String fileType, ByteBuffer fileData, int dataSize, int fontSize, IntBuffer codepoints, int codepointCount)
      Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
    • loadFontFromMemory

      public static Font loadFontFromMemory(Arena arena, String fileType, ByteBuffer fileData, int dataSize, int fontSize, IntBuffer codepoints, int codepointCount)
      Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
    • isFontValid

      public static boolean isFontValid(Font font)
      Check if a font is valid (font data loaded, WARNING: GPU texture not checked)
    • loadFontData

      public static GlyphInfo loadFontData(ByteBuffer fileData, int dataSize, int fontSize, IntBuffer codepoints, int codepointCount, int type)
      Load font data for further use
    • genImageFontAtlas

      public static Image genImageFontAtlas(MemorySegment glyphs, MemorySegment glyphRecs, int glyphCount, int fontSize, int padding, int packMethod)
      Generate image font atlas using chars info
    • genImageFontAtlas

      public static Image genImageFontAtlas(Arena arena, MemorySegment glyphs, MemorySegment glyphRecs, int glyphCount, int fontSize, int padding, int packMethod)
      Generate image font atlas using chars info
    • unloadFontData

      public static void unloadFontData(GlyphInfo glyphs, int glyphCount)
      Unload font chars info data (RAM)
    • unloadFont

      public static void unloadFont(Font font)
      Unload font from GPU memory (VRAM)
    • exportFontAsCode

      public static boolean exportFontAsCode(Font font, String fileName)
      Export font as code file, returns true on success
    • drawFPS

      public static void drawFPS(int posX, int posY)
      Draw current FPS
    • drawText

      public static void drawText(String text, int posX, int posY, int fontSize, Color color)
      Draw text (using default font)
    • drawTextEx

      public static void drawTextEx(Font font, String text, Vector2 position, float fontSize, float spacing, Color tint)
      Draw text using font and additional parameters
    • drawTextPro

      public static void drawTextPro(Font font, String text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint)
      Draw text using Font and pro parameters (rotation)
    • drawTextCodepoint

      public static void drawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint)
      Draw one character (codepoint)
    • drawTextCodepoints

      public static void drawTextCodepoints(Font font, MemorySegment codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint)
      Draw multiple character (codepoint)
    • setTextLineSpacing

      public static void setTextLineSpacing(int spacing)
      Set vertical line spacing when drawing with line-breaks
    • measureText

      public static int measureText(String text, int fontSize)
      Measure string width for default font
    • measureTextEx

      public static Vector2 measureTextEx(Font font, String text, float fontSize, float spacing)
      Measure string size for Font
    • measureTextEx

      public static Vector2 measureTextEx(Arena arena, Font font, String text, float fontSize, float spacing)
      Measure string size for Font
    • getGlyphIndex

      public static int getGlyphIndex(Font font, int codepoint)
      Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
    • getGlyphInfo

      public static GlyphInfo getGlyphInfo(Font font, int codepoint)
      Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
    • getGlyphInfo

      public static GlyphInfo getGlyphInfo(Arena arena, Font font, int codepoint)
      Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
    • getGlyphAtlasRec

      public static Rectangle getGlyphAtlasRec(Font font, int codepoint)
      Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
    • getGlyphAtlasRec

      public static Rectangle getGlyphAtlasRec(Arena arena, Font font, int codepoint)
      Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
    • loadUTF8

      public static ByteBuffer loadUTF8(MemorySegment codepoints, int length)
      Load UTF-8 text encoded from codepoints array
    • unloadUTF8

      public static void unloadUTF8(ByteBuffer text)
      Unload UTF-8 text encoded from codepoints array
    • loadCodepoints

      public static IntBuffer loadCodepoints(String text, IntBuffer count)
      Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
    • unloadCodepoints

      public static void unloadCodepoints(IntBuffer codepoints)
      Unload codepoints data from memory
    • getCodepointCount

      public static int getCodepointCount(String text)
      Get total number of codepoints in a UTF-8 encoded string
    • getCodepoint

      public static int getCodepoint(String text, IntBuffer codepointSize)
      Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
    • getCodepointNext

      public static int getCodepointNext(String text, IntBuffer codepointSize)
      Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
    • getCodepointPrevious

      public static int getCodepointPrevious(String text, IntBuffer codepointSize)
      Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
    • codepointToUTF8

      public static String codepointToUTF8(int codepoint, IntBuffer utf8Size)
      Encode one codepoint into UTF-8 byte array (array length returned as parameter)
    • textCopy

      public static int textCopy(ByteBuffer dst, String src)
      Copy one string to another, returns bytes copied
    • textIsEqual

      public static boolean textIsEqual(String text1, String text2)
      Check if two text string are equal
    • textLength

      public static int textLength(String text)
      Get text length, checks for '\0' ending
    • textSubtext

      public static String textSubtext(String text, int position, int length)
      Get a piece of a text string
    • textReplace

      public static ByteBuffer textReplace(String text, String replace, String by)
      Replace text string (WARNING: memory must be freed!)
    • textInsert

      public static ByteBuffer textInsert(String text, String insert, int position)
      Insert text in a position (WARNING: memory must be freed!)
    • textJoin

      public static String textJoin(MemorySegment textList, int count, String delimiter)
      Join text strings with delimiter
    • textSplit

      public static MemorySegment textSplit(String text, byte delimiter, IntBuffer count)
      Split text into multiple strings
    • textAppend

      public static void textAppend(ByteBuffer text, String append, IntBuffer position)
      Append text at specific position and move cursor!
    • textFindIndex

      public static int textFindIndex(String text, String find)
      Find first text occurrence within a string
    • textToUpper

      public static String textToUpper(String text)
      Get upper case version of provided string
    • textToLower

      public static String textToLower(String text)
      Get lower case version of provided string
    • textToPascal

      public static String textToPascal(String text)
      Get Pascal case notation version of provided string
    • textToSnake

      public static String textToSnake(String text)
      Get Snake case notation version of provided string
    • textToCamel

      public static String textToCamel(String text)
      Get Camel case notation version of provided string
    • textToInteger

      public static int textToInteger(String text)
      Get integer value from text (negative values not supported)
    • textToFloat

      public static float textToFloat(String text)
      Get float value from text (negative values not supported)
    • drawLine3D

      public static void drawLine3D(Vector3 startPos, Vector3 endPos, Color color)
      Draw a line in 3D world space
    • drawPoint3D

      public static void drawPoint3D(Vector3 position, Color color)
      Draw a point in 3D space, actually a small line
    • drawCircle3D

      public static void drawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color)
      Draw a circle in 3D world space
    • drawTriangle3D

      public static void drawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color)
      Draw a color-filled triangle (vertex in counter-clockwise order!)
    • drawTriangleStrip3D

      public static void drawTriangleStrip3D(MemorySegment points, int pointCount, Color color)
      Draw a triangle strip defined by points
    • drawCube

      public static void drawCube(Vector3 position, float width, float height, float length, Color color)
      Draw cube
    • drawCubeV

      public static void drawCubeV(Vector3 position, Vector3 size, Color color)
      Draw cube (Vector version)
    • drawCubeWires

      public static void drawCubeWires(Vector3 position, float width, float height, float length, Color color)
      Draw cube wires
    • drawCubeWiresV

      public static void drawCubeWiresV(Vector3 position, Vector3 size, Color color)
      Draw cube wires (Vector version)
    • drawSphere

      public static void drawSphere(Vector3 centerPos, float radius, Color color)
      Draw sphere
    • drawSphereEx

      public static void drawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color)
      Draw sphere with extended parameters
    • drawSphereWires

      public static void drawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color)
      Draw sphere wires
    • drawCylinder

      public static void drawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color)
      Draw a cylinder/cone
    • drawCylinderEx

      public static void drawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color)
      Draw a cylinder with base at startPos and top at endPos
    • drawCylinderWires

      public static void drawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color)
      Draw a cylinder/cone wires
    • drawCylinderWiresEx

      public static void drawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color)
      Draw a cylinder wires with base at startPos and top at endPos
    • drawCapsule

      public static void drawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color)
      Draw a capsule with the center of its sphere caps at startPos and endPos
    • drawCapsuleWires

      public static void drawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color)
      Draw capsule wireframe with the center of its sphere caps at startPos and endPos
    • drawPlane

      public static void drawPlane(Vector3 centerPos, Vector2 size, Color color)
      Draw a plane XZ
    • drawRay

      public static void drawRay(Ray ray, Color color)
      Draw a ray line
    • drawGrid

      public static void drawGrid(int slices, float spacing)
      Draw a grid (centered at (0, 0, 0))
    • loadModel

      public static Model loadModel(String fileName)
      Load model from files (meshes and materials)
    • loadModel

      public static Model loadModel(Arena arena, String fileName)
      Load model from files (meshes and materials)
    • loadModelFromMesh

      public static Model loadModelFromMesh(Mesh mesh)
      Load model from generated mesh (default material)
    • loadModelFromMesh

      public static Model loadModelFromMesh(Arena arena, Mesh mesh)
      Load model from generated mesh (default material)
    • isModelValid

      public static boolean isModelValid(Model model)
      Check if a model is valid (loaded in GPU, VAO/VBOs)
    • unloadModel

      public static void unloadModel(Model model)
      Unload model (including meshes) from memory (RAM and/or VRAM)
    • getModelBoundingBox

      public static BoundingBox getModelBoundingBox(Model model)
      Compute model bounding box limits (considers all meshes)
    • getModelBoundingBox

      public static BoundingBox getModelBoundingBox(Arena arena, Model model)
      Compute model bounding box limits (considers all meshes)
    • drawModel

      public static void drawModel(Model model, Vector3 position, float scale, Color tint)
      Draw a model (with texture if set)
    • drawModelEx

      public static void drawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
      Draw a model with extended parameters
    • drawModelWires

      public static void drawModelWires(Model model, Vector3 position, float scale, Color tint)
      Draw a model wires (with texture if set)
    • drawModelWiresEx

      public static void drawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
      Draw a model wires (with texture if set) with extended parameters
    • drawModelPoints

      public static void drawModelPoints(Model model, Vector3 position, float scale, Color tint)
      Draw a model as points
    • drawModelPointsEx

      public static void drawModelPointsEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
      Draw a model as points with extended parameters
    • drawBoundingBox

      public static void drawBoundingBox(BoundingBox box, Color color)
      Draw bounding box (wires)
    • drawBillboard

      public static void drawBillboard(Camera3D camera, Texture texture, Vector3 position, float scale, Color tint)
      Draw a billboard texture
    • drawBillboardRec

      public static void drawBillboardRec(Camera3D camera, Texture texture, Rectangle source, Vector3 position, Vector2 size, Color tint)
      Draw a billboard texture defined by source
    • drawBillboardPro

      public static void drawBillboardPro(Camera3D camera, Texture texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint)
      Draw a billboard texture defined by source and rotation
    • uploadMesh

      public static void uploadMesh(Mesh mesh, boolean dynamic)
      Upload mesh vertex data in GPU and provide VAO/VBO ids
    • updateMeshBuffer

      public static void updateMeshBuffer(Mesh mesh, int index, MemorySegment data, int dataSize, int offset)
      Update mesh vertex data in GPU for a specific buffer index
    • unloadMesh

      public static void unloadMesh(Mesh mesh)
      Unload mesh data from CPU and GPU
    • drawMesh

      public static void drawMesh(Mesh mesh, Material material, Matrix transform)
      Draw a 3d mesh with material and transform
    • drawMeshInstanced

      public static void drawMeshInstanced(Mesh mesh, Material material, MemorySegment transforms, int instances)
      Draw multiple mesh instances with material and different transforms
    • getMeshBoundingBox

      public static BoundingBox getMeshBoundingBox(Mesh mesh)
      Compute mesh bounding box limits
    • getMeshBoundingBox

      public static BoundingBox getMeshBoundingBox(Arena arena, Mesh mesh)
      Compute mesh bounding box limits
    • genMeshTangents

      public static void genMeshTangents(Mesh mesh)
      Compute mesh tangents
    • exportMesh

      public static boolean exportMesh(Mesh mesh, String fileName)
      Export mesh data to file, returns true on success
    • exportMeshAsCode

      public static boolean exportMeshAsCode(Mesh mesh, String fileName)
      Export mesh as code file (.h) defining multiple arrays of vertex attributes
    • genMeshPoly

      public static Mesh genMeshPoly(int sides, float radius)
      Generate polygonal mesh
    • genMeshPoly

      public static Mesh genMeshPoly(Arena arena, int sides, float radius)
      Generate polygonal mesh
    • genMeshPlane

      public static Mesh genMeshPlane(float width, float length, int resX, int resZ)
      Generate plane mesh (with subdivisions)
    • genMeshPlane

      public static Mesh genMeshPlane(Arena arena, float width, float length, int resX, int resZ)
      Generate plane mesh (with subdivisions)
    • genMeshCube

      public static Mesh genMeshCube(float width, float height, float length)
      Generate cuboid mesh
    • genMeshCube

      public static Mesh genMeshCube(Arena arena, float width, float height, float length)
      Generate cuboid mesh
    • genMeshSphere

      public static Mesh genMeshSphere(float radius, int rings, int slices)
      Generate sphere mesh (standard sphere)
    • genMeshSphere

      public static Mesh genMeshSphere(Arena arena, float radius, int rings, int slices)
      Generate sphere mesh (standard sphere)
    • genMeshHemiSphere

      public static Mesh genMeshHemiSphere(float radius, int rings, int slices)
      Generate half-sphere mesh (no bottom cap)
    • genMeshHemiSphere

      public static Mesh genMeshHemiSphere(Arena arena, float radius, int rings, int slices)
      Generate half-sphere mesh (no bottom cap)
    • genMeshCylinder

      public static Mesh genMeshCylinder(float radius, float height, int slices)
      Generate cylinder mesh
    • genMeshCylinder

      public static Mesh genMeshCylinder(Arena arena, float radius, float height, int slices)
      Generate cylinder mesh
    • genMeshCone

      public static Mesh genMeshCone(float radius, float height, int slices)
      Generate cone/pyramid mesh
    • genMeshCone

      public static Mesh genMeshCone(Arena arena, float radius, float height, int slices)
      Generate cone/pyramid mesh
    • genMeshTorus

      public static Mesh genMeshTorus(float radius, float size, int radSeg, int sides)
      Generate torus mesh
    • genMeshTorus

      public static Mesh genMeshTorus(Arena arena, float radius, float size, int radSeg, int sides)
      Generate torus mesh
    • genMeshKnot

      public static Mesh genMeshKnot(float radius, float size, int radSeg, int sides)
      Generate trefoil knot mesh
    • genMeshKnot

      public static Mesh genMeshKnot(Arena arena, float radius, float size, int radSeg, int sides)
      Generate trefoil knot mesh
    • genMeshHeightmap

      public static Mesh genMeshHeightmap(Image heightmap, Vector3 size)
      Generate heightmap mesh from image data
    • genMeshHeightmap

      public static Mesh genMeshHeightmap(Arena arena, Image heightmap, Vector3 size)
      Generate heightmap mesh from image data
    • genMeshCubicmap

      public static Mesh genMeshCubicmap(Image cubicmap, Vector3 cubeSize)
      Generate cubes-based map mesh from image data
    • genMeshCubicmap

      public static Mesh genMeshCubicmap(Arena arena, Image cubicmap, Vector3 cubeSize)
      Generate cubes-based map mesh from image data
    • loadMaterials

      public static Material loadMaterials(String fileName, IntBuffer materialCount)
      Load materials from model file
    • loadMaterialDefault

      public static Material loadMaterialDefault()
      Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
    • loadMaterialDefault

      public static Material loadMaterialDefault(Arena arena)
      Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
    • isMaterialValid

      public static boolean isMaterialValid(Material material)
      Check if a material is valid (shader assigned, map textures loaded in GPU)
    • unloadMaterial

      public static void unloadMaterial(Material material)
      Unload material from GPU memory (VRAM)
    • setMaterialTexture

      public static void setMaterialTexture(Material material, int mapType, Texture texture)
      Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
    • setModelMeshMaterial

      public static void setModelMeshMaterial(Model model, int meshId, int materialId)
      Set material for a mesh
    • loadModelAnimations

      public static ModelAnimation loadModelAnimations(String fileName, IntBuffer animCount)
      Load model animations from file
    • updateModelAnimation

      public static void updateModelAnimation(Model model, ModelAnimation anim, int frame)
      Update model animation pose (CPU)
    • updateModelAnimationBones

      public static void updateModelAnimationBones(Model model, ModelAnimation anim, int frame)
      Update model animation mesh bone matrices (GPU skinning)
    • unloadModelAnimation

      public static void unloadModelAnimation(ModelAnimation anim)
      Unload animation data
    • unloadModelAnimations

      public static void unloadModelAnimations(ModelAnimation animations, int animCount)
      Unload animation array data
    • isModelAnimationValid

      public static boolean isModelAnimationValid(Model model, ModelAnimation anim)
      Check model animation skeleton match
    • checkCollisionSpheres

      public static boolean checkCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2)
      Check collision between two spheres
    • checkCollisionBoxes

      public static boolean checkCollisionBoxes(BoundingBox box1, BoundingBox box2)
      Check collision between two bounding boxes
    • checkCollisionBoxSphere

      public static boolean checkCollisionBoxSphere(BoundingBox box, Vector3 center, float radius)
      Check collision between box and sphere
    • getRayCollisionSphere

      public static RayCollision getRayCollisionSphere(Ray ray, Vector3 center, float radius)
      Get collision info between ray and sphere
    • getRayCollisionSphere

      public static RayCollision getRayCollisionSphere(Arena arena, Ray ray, Vector3 center, float radius)
      Get collision info between ray and sphere
    • getRayCollisionBox

      public static RayCollision getRayCollisionBox(Ray ray, BoundingBox box)
      Get collision info between ray and box
    • getRayCollisionBox

      public static RayCollision getRayCollisionBox(Arena arena, Ray ray, BoundingBox box)
      Get collision info between ray and box
    • getRayCollisionMesh

      public static RayCollision getRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform)
      Get collision info between ray and mesh
    • getRayCollisionMesh

      public static RayCollision getRayCollisionMesh(Arena arena, Ray ray, Mesh mesh, Matrix transform)
      Get collision info between ray and mesh
    • getRayCollisionTriangle

      public static RayCollision getRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3)
      Get collision info between ray and triangle
    • getRayCollisionTriangle

      public static RayCollision getRayCollisionTriangle(Arena arena, Ray ray, Vector3 p1, Vector3 p2, Vector3 p3)
      Get collision info between ray and triangle
    • getRayCollisionQuad

      public static RayCollision getRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4)
      Get collision info between ray and quad
    • getRayCollisionQuad

      public static RayCollision getRayCollisionQuad(Arena arena, Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4)
      Get collision info between ray and quad
    • initAudioDevice

      public static void initAudioDevice()
      Initialize audio device and context
    • closeAudioDevice

      public static void closeAudioDevice()
      Close the audio device and context
    • isAudioDeviceReady

      public static boolean isAudioDeviceReady()
      Check if audio device has been initialized successfully
    • setMasterVolume

      public static void setMasterVolume(float volume)
      Set master volume (listener)
    • getMasterVolume

      public static float getMasterVolume()
      Get master volume (listener)
    • loadWave

      public static Wave loadWave(String fileName)
      Load wave data from file
    • loadWave

      public static Wave loadWave(Arena arena, String fileName)
      Load wave data from file
    • loadWaveFromMemory

      public static Wave loadWaveFromMemory(String fileType, ByteBuffer fileData, int dataSize)
      Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
    • loadWaveFromMemory

      public static Wave loadWaveFromMemory(Arena arena, String fileType, ByteBuffer fileData, int dataSize)
      Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
    • isWaveValid

      public static boolean isWaveValid(Wave wave)
      Checks if wave data is valid (data loaded and parameters)
    • loadSound

      public static Sound loadSound(String fileName)
      Load sound from file
    • loadSound

      public static Sound loadSound(Arena arena, String fileName)
      Load sound from file
    • loadSoundFromWave

      public static Sound loadSoundFromWave(Wave wave)
      Load sound from wave data
    • loadSoundFromWave

      public static Sound loadSoundFromWave(Arena arena, Wave wave)
      Load sound from wave data
    • loadSoundAlias

      public static Sound loadSoundAlias(Sound source)
      Create a new sound that shares the same sample data as the source sound, does not own the sound data
    • loadSoundAlias

      public static Sound loadSoundAlias(Arena arena, Sound source)
      Create a new sound that shares the same sample data as the source sound, does not own the sound data
    • isSoundValid

      public static boolean isSoundValid(Sound sound)
      Checks if a sound is valid (data loaded and buffers initialized)
    • updateSound

      public static void updateSound(Sound sound, MemorySegment data, int sampleCount)
      Update sound buffer with new data
    • unloadWave

      public static void unloadWave(Wave wave)
      Unload wave data
    • unloadSound

      public static void unloadSound(Sound sound)
      Unload sound
    • unloadSoundAlias

      public static void unloadSoundAlias(Sound alias)
      Unload a sound alias (does not deallocate sample data)
    • exportWave

      public static boolean exportWave(Wave wave, String fileName)
      Export wave data to file, returns true on success
    • exportWaveAsCode

      public static boolean exportWaveAsCode(Wave wave, String fileName)
      Export wave sample data to code (.h), returns true on success
    • playSound

      public static void playSound(Sound sound)
      Play a sound
    • stopSound

      public static void stopSound(Sound sound)
      Stop playing a sound
    • pauseSound

      public static void pauseSound(Sound sound)
      Pause a sound
    • resumeSound

      public static void resumeSound(Sound sound)
      Resume a paused sound
    • isSoundPlaying

      public static boolean isSoundPlaying(Sound sound)
      Check if a sound is currently playing
    • setSoundVolume

      public static void setSoundVolume(Sound sound, float volume)
      Set volume for a sound (1.0 is max level)
    • setSoundPitch

      public static void setSoundPitch(Sound sound, float pitch)
      Set pitch for a sound (1.0 is base level)
    • setSoundPan

      public static void setSoundPan(Sound sound, float pan)
      Set pan for a sound (0.5 is center)
    • waveCopy

      public static Wave waveCopy(Wave wave)
      Copy a wave to a new wave
    • waveCopy

      public static Wave waveCopy(Arena arena, Wave wave)
      Copy a wave to a new wave
    • waveCrop

      public static void waveCrop(Wave wave, int initFrame, int finalFrame)
      Crop a wave to defined frames range
    • waveFormat

      public static void waveFormat(Wave wave, int sampleRate, int sampleSize, int channels)
      Convert wave data to desired format
    • loadWaveSamples

      public static FloatBuffer loadWaveSamples(Wave wave)
      Load samples data from wave as a 32bit float data array
    • unloadWaveSamples

      public static void unloadWaveSamples(FloatBuffer samples)
      Unload samples data loaded with LoadWaveSamples()
    • loadMusicStream

      public static Music loadMusicStream(String fileName)
      Load music stream from file
    • loadMusicStream

      public static Music loadMusicStream(Arena arena, String fileName)
      Load music stream from file
    • loadMusicStreamFromMemory

      public static Music loadMusicStreamFromMemory(String fileType, ByteBuffer data, int dataSize)
      Load music stream from data
    • loadMusicStreamFromMemory

      public static Music loadMusicStreamFromMemory(Arena arena, String fileType, ByteBuffer data, int dataSize)
      Load music stream from data
    • isMusicValid

      public static boolean isMusicValid(Music music)
      Checks if a music stream is valid (context and buffers initialized)
    • unloadMusicStream

      public static void unloadMusicStream(Music music)
      Unload music stream
    • playMusicStream

      public static void playMusicStream(Music music)
      Start music playing
    • isMusicStreamPlaying

      public static boolean isMusicStreamPlaying(Music music)
      Check if music is playing
    • updateMusicStream

      public static void updateMusicStream(Music music)
      Updates buffers for music streaming
    • stopMusicStream

      public static void stopMusicStream(Music music)
      Stop music playing
    • pauseMusicStream

      public static void pauseMusicStream(Music music)
      Pause music playing
    • resumeMusicStream

      public static void resumeMusicStream(Music music)
      Resume playing paused music
    • seekMusicStream

      public static void seekMusicStream(Music music, float position)
      Seek music to a position (in seconds)
    • setMusicVolume

      public static void setMusicVolume(Music music, float volume)
      Set volume for music (1.0 is max level)
    • setMusicPitch

      public static void setMusicPitch(Music music, float pitch)
      Set pitch for a music (1.0 is base level)
    • setMusicPan

      public static void setMusicPan(Music music, float pan)
      Set pan for a music (0.5 is center)
    • getMusicTimeLength

      public static float getMusicTimeLength(Music music)
      Get music time length (in seconds)
    • getMusicTimePlayed

      public static float getMusicTimePlayed(Music music)
      Get current music time played (in seconds)
    • loadAudioStream

      public static AudioStream loadAudioStream(int sampleRate, int sampleSize, int channels)
      Load audio stream (to stream raw audio pcm data)
    • loadAudioStream

      public static AudioStream loadAudioStream(Arena arena, int sampleRate, int sampleSize, int channels)
      Load audio stream (to stream raw audio pcm data)
    • isAudioStreamValid

      public static boolean isAudioStreamValid(AudioStream stream)
      Checks if an audio stream is valid (buffers initialized)
    • unloadAudioStream

      public static void unloadAudioStream(AudioStream stream)
      Unload audio stream and free memory
    • updateAudioStream

      public static void updateAudioStream(AudioStream stream, MemorySegment data, int frameCount)
      Update audio stream buffers with data
    • isAudioStreamProcessed

      public static boolean isAudioStreamProcessed(AudioStream stream)
      Check if any audio stream buffers requires refill
    • playAudioStream

      public static void playAudioStream(AudioStream stream)
      Play audio stream
    • pauseAudioStream

      public static void pauseAudioStream(AudioStream stream)
      Pause audio stream
    • resumeAudioStream

      public static void resumeAudioStream(AudioStream stream)
      Resume audio stream
    • isAudioStreamPlaying

      public static boolean isAudioStreamPlaying(AudioStream stream)
      Check if audio stream is playing
    • stopAudioStream

      public static void stopAudioStream(AudioStream stream)
      Stop audio stream
    • setAudioStreamVolume

      public static void setAudioStreamVolume(AudioStream stream, float volume)
      Set volume for audio stream (1.0 is max level)
    • setAudioStreamPitch

      public static void setAudioStreamPitch(AudioStream stream, float pitch)
      Set pitch for audio stream (1.0 is base level)
    • setAudioStreamPan

      public static void setAudioStreamPan(AudioStream stream, float pan)
      Set pan for audio stream (0.5 is centered)
    • setAudioStreamBufferSizeDefault

      public static void setAudioStreamBufferSizeDefault(int size)
      Default size for new audio streams
    • setAudioStreamCallback

      public static void setAudioStreamCallback(AudioStream stream, MemorySegment callback)
      Audio thread callback to request new data
    • attachAudioStreamProcessor

      public static void attachAudioStreamProcessor(AudioStream stream, MemorySegment processor)
      Attach audio stream processor to stream, receives the samples as 'float'
    • detachAudioStreamProcessor

      public static void detachAudioStreamProcessor(AudioStream stream, MemorySegment processor)
      Detach audio stream processor from stream
    • attachAudioMixedProcessor

      public static void attachAudioMixedProcessor(MemorySegment processor)
      Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'
    • detachAudioMixedProcessor

      public static void detachAudioMixedProcessor(MemorySegment processor)
      Detach audio stream processor from the entire audio pipeline
    • clamp

      public static float clamp(float value, float min, float max)
    • lerp

      public static float lerp(float start, float end, float amount)
    • normalize

      public static float normalize(float value, float start, float end)
    • remap

      public static float remap(float value, float inputStart, float inputEnd, float outputStart, float outputEnd)
    • wrap

      public static float wrap(float value, float min, float max)
    • floatEquals

      public static int floatEquals(float x, float y)
    • vector2Zero

      public static Vector2 vector2Zero()
    • vector2Zero

      public static Vector2 vector2Zero(Arena arena)
    • vector2One

      public static Vector2 vector2One()
    • vector2One

      public static Vector2 vector2One(Arena arena)
    • vector2Add

      public static Vector2 vector2Add(Vector2 v1, Vector2 v2)
    • vector2Add

      public static Vector2 vector2Add(Arena arena, Vector2 v1, Vector2 v2)
    • vector2AddValue

      public static Vector2 vector2AddValue(Vector2 v, float add)
    • vector2AddValue

      public static Vector2 vector2AddValue(Arena arena, Vector2 v, float add)
    • vector2Subtract

      public static Vector2 vector2Subtract(Vector2 v1, Vector2 v2)
    • vector2Subtract

      public static Vector2 vector2Subtract(Arena arena, Vector2 v1, Vector2 v2)
    • vector2SubtractValue

      public static Vector2 vector2SubtractValue(Vector2 v, float sub)
    • vector2SubtractValue

      public static Vector2 vector2SubtractValue(Arena arena, Vector2 v, float sub)
    • vector2Length

      public static float vector2Length(Vector2 v)
    • vector2LengthSqr

      public static float vector2LengthSqr(Vector2 v)
    • vector2DotProduct

      public static float vector2DotProduct(Vector2 v1, Vector2 v2)
    • vector2Distance

      public static float vector2Distance(Vector2 v1, Vector2 v2)
    • vector2DistanceSqr

      public static float vector2DistanceSqr(Vector2 v1, Vector2 v2)
    • vector2Angle

      public static float vector2Angle(Vector2 v1, Vector2 v2)
    • vector2LineAngle

      public static float vector2LineAngle(Vector2 start, Vector2 end)
    • vector2Scale

      public static Vector2 vector2Scale(Vector2 v, float scale)
    • vector2Scale

      public static Vector2 vector2Scale(Arena arena, Vector2 v, float scale)
    • vector2Multiply

      public static Vector2 vector2Multiply(Vector2 v1, Vector2 v2)
    • vector2Multiply

      public static Vector2 vector2Multiply(Arena arena, Vector2 v1, Vector2 v2)
    • vector2Negate

      public static Vector2 vector2Negate(Vector2 v)
    • vector2Negate

      public static Vector2 vector2Negate(Arena arena, Vector2 v)
    • vector2Divide

      public static Vector2 vector2Divide(Vector2 v1, Vector2 v2)
    • vector2Divide

      public static Vector2 vector2Divide(Arena arena, Vector2 v1, Vector2 v2)
    • vector2Normalize

      public static Vector2 vector2Normalize(Vector2 v)
    • vector2Normalize

      public static Vector2 vector2Normalize(Arena arena, Vector2 v)
    • vector2Transform

      public static Vector2 vector2Transform(Vector2 v, Matrix mat)
    • vector2Transform

      public static Vector2 vector2Transform(Arena arena, Vector2 v, Matrix mat)
    • vector2Lerp

      public static Vector2 vector2Lerp(Vector2 v1, Vector2 v2, float amount)
    • vector2Lerp

      public static Vector2 vector2Lerp(Arena arena, Vector2 v1, Vector2 v2, float amount)
    • vector2Reflect

      public static Vector2 vector2Reflect(Vector2 v, Vector2 normal)
    • vector2Reflect

      public static Vector2 vector2Reflect(Arena arena, Vector2 v, Vector2 normal)
    • vector2Min

      public static Vector2 vector2Min(Vector2 v1, Vector2 v2)
    • vector2Min

      public static Vector2 vector2Min(Arena arena, Vector2 v1, Vector2 v2)
    • vector2Max

      public static Vector2 vector2Max(Vector2 v1, Vector2 v2)
    • vector2Max

      public static Vector2 vector2Max(Arena arena, Vector2 v1, Vector2 v2)
    • vector2Rotate

      public static Vector2 vector2Rotate(Vector2 v, float angle)
    • vector2Rotate

      public static Vector2 vector2Rotate(Arena arena, Vector2 v, float angle)
    • vector2MoveTowards

      public static Vector2 vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance)
    • vector2MoveTowards

      public static Vector2 vector2MoveTowards(Arena arena, Vector2 v, Vector2 target, float maxDistance)
    • vector2Invert

      public static Vector2 vector2Invert(Vector2 v)
    • vector2Invert

      public static Vector2 vector2Invert(Arena arena, Vector2 v)
    • vector2Clamp

      public static Vector2 vector2Clamp(Vector2 v, Vector2 min, Vector2 max)
    • vector2Clamp

      public static Vector2 vector2Clamp(Arena arena, Vector2 v, Vector2 min, Vector2 max)
    • vector2ClampValue

      public static Vector2 vector2ClampValue(Vector2 v, float min, float max)
    • vector2ClampValue

      public static Vector2 vector2ClampValue(Arena arena, Vector2 v, float min, float max)
    • vector2Equals

      public static int vector2Equals(Vector2 p, Vector2 q)
    • vector2Refract

      public static Vector2 vector2Refract(Vector2 v, Vector2 n, float r)
    • vector2Refract

      public static Vector2 vector2Refract(Arena arena, Vector2 v, Vector2 n, float r)
    • vector3Zero

      public static Vector3 vector3Zero()
    • vector3Zero

      public static Vector3 vector3Zero(Arena arena)
    • vector3One

      public static Vector3 vector3One()
    • vector3One

      public static Vector3 vector3One(Arena arena)
    • vector3Add

      public static Vector3 vector3Add(Vector3 v1, Vector3 v2)
    • vector3Add

      public static Vector3 vector3Add(Arena arena, Vector3 v1, Vector3 v2)
    • vector3AddValue

      public static Vector3 vector3AddValue(Vector3 v, float add)
    • vector3AddValue

      public static Vector3 vector3AddValue(Arena arena, Vector3 v, float add)
    • vector3Subtract

      public static Vector3 vector3Subtract(Vector3 v1, Vector3 v2)
    • vector3Subtract

      public static Vector3 vector3Subtract(Arena arena, Vector3 v1, Vector3 v2)
    • vector3SubtractValue

      public static Vector3 vector3SubtractValue(Vector3 v, float sub)
    • vector3SubtractValue

      public static Vector3 vector3SubtractValue(Arena arena, Vector3 v, float sub)
    • vector3Scale

      public static Vector3 vector3Scale(Vector3 v, float scalar)
    • vector3Scale

      public static Vector3 vector3Scale(Arena arena, Vector3 v, float scalar)
    • vector3Multiply

      public static Vector3 vector3Multiply(Vector3 v1, Vector3 v2)
    • vector3Multiply

      public static Vector3 vector3Multiply(Arena arena, Vector3 v1, Vector3 v2)
    • vector3CrossProduct

      public static Vector3 vector3CrossProduct(Vector3 v1, Vector3 v2)
    • vector3CrossProduct

      public static Vector3 vector3CrossProduct(Arena arena, Vector3 v1, Vector3 v2)
    • vector3Perpendicular

      public static Vector3 vector3Perpendicular(Vector3 v)
    • vector3Perpendicular

      public static Vector3 vector3Perpendicular(Arena arena, Vector3 v)
    • vector3Length

      public static float vector3Length(MemorySegment v)
    • vector3LengthSqr

      public static float vector3LengthSqr(MemorySegment v)
    • vector3DotProduct

      public static float vector3DotProduct(Vector3 v1, Vector3 v2)
    • vector3Distance

      public static float vector3Distance(Vector3 v1, Vector3 v2)
    • vector3DistanceSqr

      public static float vector3DistanceSqr(Vector3 v1, Vector3 v2)
    • vector3Angle

      public static float vector3Angle(Vector3 v1, Vector3 v2)
    • vector3Negate

      public static Vector3 vector3Negate(Vector3 v)
    • vector3Negate

      public static Vector3 vector3Negate(Arena arena, Vector3 v)
    • vector3Divide

      public static Vector3 vector3Divide(Vector3 v1, Vector3 v2)
    • vector3Divide

      public static Vector3 vector3Divide(Arena arena, Vector3 v1, Vector3 v2)
    • vector3Normalize

      public static Vector3 vector3Normalize(Vector3 v)
    • vector3Normalize

      public static Vector3 vector3Normalize(Arena arena, Vector3 v)
    • vector3Project

      public static Vector3 vector3Project(Vector3 v1, Vector3 v2)
    • vector3Project

      public static Vector3 vector3Project(Arena arena, Vector3 v1, Vector3 v2)
    • vector3Reject

      public static Vector3 vector3Reject(Vector3 v1, Vector3 v2)
    • vector3Reject

      public static Vector3 vector3Reject(Arena arena, Vector3 v1, Vector3 v2)
    • vector3OrthoNormalize

      public static void vector3OrthoNormalize(Vector3 v1, Vector3 v2)
    • vector3Transform

      public static Vector3 vector3Transform(Vector3 v, Matrix mat)
    • vector3Transform

      public static Vector3 vector3Transform(Arena arena, Vector3 v, Matrix mat)
    • vector3RotateByQuaternion

      public static Vector3 vector3RotateByQuaternion(Vector3 v, Vector4 q)
    • vector3RotateByQuaternion

      public static Vector3 vector3RotateByQuaternion(Arena arena, Vector3 v, Vector4 q)
    • vector3RotateByAxisAngle

      public static Vector3 vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle)
    • vector3RotateByAxisAngle

      public static Vector3 vector3RotateByAxisAngle(Arena arena, Vector3 v, Vector3 axis, float angle)
    • vector3MoveTowards

      public static Vector3 vector3MoveTowards(Vector3 v, Vector3 target, float maxDistance)
    • vector3MoveTowards

      public static Vector3 vector3MoveTowards(Arena arena, Vector3 v, Vector3 target, float maxDistance)
    • vector3Lerp

      public static Vector3 vector3Lerp(Vector3 v1, Vector3 v2, float amount)
    • vector3Lerp

      public static Vector3 vector3Lerp(Arena arena, Vector3 v1, Vector3 v2, float amount)
    • vector3CubicHermite

      public static Vector3 vector3CubicHermite(Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount)
    • vector3CubicHermite

      public static Vector3 vector3CubicHermite(Arena arena, Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount)
    • vector3Reflect

      public static Vector3 vector3Reflect(Vector3 v, Vector3 normal)
    • vector3Reflect

      public static Vector3 vector3Reflect(Arena arena, Vector3 v, Vector3 normal)
    • vector3Min

      public static Vector3 vector3Min(Vector3 v1, Vector3 v2)
    • vector3Min

      public static Vector3 vector3Min(Arena arena, Vector3 v1, Vector3 v2)
    • vector3Max

      public static Vector3 vector3Max(Vector3 v1, Vector3 v2)
    • vector3Max

      public static Vector3 vector3Max(Arena arena, Vector3 v1, Vector3 v2)
    • vector3Barycenter

      public static Vector3 vector3Barycenter(Vector3 p, Vector3 a, Vector3 b, Vector3 c)
    • vector3Barycenter

      public static Vector3 vector3Barycenter(Arena arena, Vector3 p, Vector3 a, Vector3 b, Vector3 c)
    • vector3Unproject

      public static Vector3 vector3Unproject(Vector3 source, Matrix projection, Matrix view)
    • vector3Unproject

      public static Vector3 vector3Unproject(Arena arena, Vector3 source, Matrix projection, Matrix view)
    • vector3ToFloatV

      public static MemorySegment vector3ToFloatV(Vector3 v)
    • vector3ToFloatV

      public static MemorySegment vector3ToFloatV(Arena arena, Vector3 v)
    • vector3Invert

      public static Vector3 vector3Invert(Vector3 v)
    • vector3Invert

      public static Vector3 vector3Invert(Arena arena, Vector3 v)
    • vector3Clamp

      public static Vector3 vector3Clamp(Vector3 v, Vector3 min, Vector3 max)
    • vector3Clamp

      public static Vector3 vector3Clamp(Arena arena, Vector3 v, Vector3 min, Vector3 max)
    • vector3ClampValue

      public static Vector3 vector3ClampValue(Vector3 v, float min, float max)
    • vector3ClampValue

      public static Vector3 vector3ClampValue(Arena arena, Vector3 v, float min, float max)
    • vector3Equals

      public static int vector3Equals(Vector3 p, Vector3 q)
    • vector3Refract

      public static Vector3 vector3Refract(Vector3 v, Vector3 n, float r)
    • vector3Refract

      public static Vector3 vector3Refract(Arena arena, Vector3 v, Vector3 n, float r)
    • vector4Zero

      public static Vector4 vector4Zero()
    • vector4Zero

      public static Vector4 vector4Zero(Arena arena)
    • vector4One

      public static Vector4 vector4One()
    • vector4One

      public static Vector4 vector4One(Arena arena)
    • vector4Add

      public static Vector4 vector4Add(Vector4 v1, Vector4 v2)
    • vector4Add

      public static Vector4 vector4Add(Arena arena, Vector4 v1, Vector4 v2)
    • vector4AddValue

      public static Vector4 vector4AddValue(Vector4 v, float add)
    • vector4AddValue

      public static Vector4 vector4AddValue(Arena arena, Vector4 v, float add)
    • vector4Subtract

      public static Vector4 vector4Subtract(Vector4 v1, Vector4 v2)
    • vector4Subtract

      public static Vector4 vector4Subtract(Arena arena, Vector4 v1, Vector4 v2)
    • vector4SubtractValue

      public static Vector4 vector4SubtractValue(Vector4 v, float add)
    • vector4SubtractValue

      public static Vector4 vector4SubtractValue(Arena arena, Vector4 v, float add)
    • vector4Length

      public static float vector4Length(Vector4 v)
    • vector4LengthSqr

      public static float vector4LengthSqr(Vector4 v)
    • vector4DotProduct

      public static float vector4DotProduct(Vector4 v1, Vector4 v2)
    • vector4Distance

      public static float vector4Distance(Vector4 v1, Vector4 v2)
    • vector4DistanceSqr

      public static float vector4DistanceSqr(Vector4 v1, Vector4 v2)
    • vector4Scale

      public static Vector4 vector4Scale(Vector4 v, float scale)
    • vector4Scale

      public static Vector4 vector4Scale(Arena arena, Vector4 v, float scale)
    • vector4Multiply

      public static Vector4 vector4Multiply(Vector4 v1, Vector4 v2)
    • vector4Multiply

      public static Vector4 vector4Multiply(Arena arena, Vector4 v1, Vector4 v2)
    • vector4Negate

      public static Vector4 vector4Negate(Vector4 v)
    • vector4Negate

      public static Vector4 vector4Negate(Arena arena, Vector4 v)
    • vector4Divide

      public static Vector4 vector4Divide(Vector4 v1, Vector4 v2)
    • vector4Divide

      public static Vector4 vector4Divide(Arena arena, Vector4 v1, Vector4 v2)
    • vector4Normalize

      public static Vector4 vector4Normalize(Vector4 v)
    • vector4Normalize

      public static Vector4 vector4Normalize(Arena arena, Vector4 v)
    • vector4Min

      public static Vector4 vector4Min(Vector4 v1, Vector4 v2)
    • vector4Min

      public static Vector4 vector4Min(Arena arena, Vector4 v1, Vector4 v2)
    • vector4Max

      public static Vector4 vector4Max(Vector4 v1, Vector4 v2)
    • vector4Max

      public static Vector4 vector4Max(Arena arena, Vector4 v1, Vector4 v2)
    • vector4Lerp

      public static Vector4 vector4Lerp(Vector4 v1, Vector4 v2, float amount)
    • vector4Lerp

      public static Vector4 vector4Lerp(Arena arena, Vector4 v1, Vector4 v2, float amount)
    • vector4MoveTowards

      public static Vector4 vector4MoveTowards(Vector4 v, Vector4 target, float maxDistance)
    • vector4MoveTowards

      public static Vector4 vector4MoveTowards(Arena arena, Vector4 v, Vector4 target, float maxDistance)
    • vector4Invert

      public static Vector4 vector4Invert(Vector4 v)
    • vector4Invert

      public static Vector4 vector4Invert(Arena arena, Vector4 v)
    • vector4Equals

      public static int vector4Equals(Vector4 p, Vector4 q)
    • matrixDeterminant

      public static float matrixDeterminant(Matrix mat)
    • matrixTrace

      public static float matrixTrace(Matrix mat)
    • matrixTranspose

      public static Matrix matrixTranspose(Matrix mat)
    • matrixTranspose

      public static Matrix matrixTranspose(Arena arena, Matrix mat)
    • matrixInvert

      public static Matrix matrixInvert(Matrix mat)
    • matrixInvert

      public static Matrix matrixInvert(Arena arena, Matrix mat)
    • matrixIdentity

      public static Matrix matrixIdentity()
    • matrixIdentity

      public static Matrix matrixIdentity(Arena arena)
    • matrixAdd

      public static Matrix matrixAdd(Matrix left, Matrix right)
    • matrixAdd

      public static Matrix matrixAdd(Arena arena, Matrix left, Matrix right)
    • matrixSubtract

      public static Matrix matrixSubtract(Matrix left, Matrix right)
    • matrixSubtract

      public static Matrix matrixSubtract(Arena arena, Matrix left, Matrix right)
    • matrixMultiply

      public static Matrix matrixMultiply(Matrix left, Matrix right)
    • matrixMultiply

      public static Matrix matrixMultiply(Arena arena, Matrix left, Matrix right)
    • matrixTranslate

      public static Matrix matrixTranslate(float x, float y, float z)
    • matrixTranslate

      public static Matrix matrixTranslate(Arena arena, float x, float y, float z)
    • matrixRotate

      public static Matrix matrixRotate(Vector3 axis, float angle)
    • matrixRotate

      public static Matrix matrixRotate(Arena arena, Vector3 axis, float angle)
    • matrixRotateX

      public static Matrix matrixRotateX(float angle)
    • matrixRotateX

      public static Matrix matrixRotateX(Arena arena, float angle)
    • matrixRotateY

      public static Matrix matrixRotateY(float angle)
    • matrixRotateY

      public static Matrix matrixRotateY(Arena arena, float angle)
    • matrixRotateZ

      public static Matrix matrixRotateZ(float angle)
    • matrixRotateZ

      public static Matrix matrixRotateZ(Arena arena, float angle)
    • matrixRotateXYZ

      public static Matrix matrixRotateXYZ(Vector3 angle)
    • matrixRotateXYZ

      public static Matrix matrixRotateXYZ(Arena arena, Vector3 angle)
    • matrixRotateZYX

      public static Matrix matrixRotateZYX(Vector3 angle)
    • matrixRotateZYX

      public static Matrix matrixRotateZYX(Arena arena, Vector3 angle)
    • matrixScale

      public static Matrix matrixScale(float x, float y, float z)
    • matrixScale

      public static Matrix matrixScale(Arena arena, float x, float y, float z)
    • matrixFrustum

      public static Matrix matrixFrustum(double left, double right, double bottom, double top, double nearPlane, double farPlane)
    • matrixFrustum

      public static Matrix matrixFrustum(Arena arena, double left, double right, double bottom, double top, double nearPlane, double farPlane)
    • matrixPerspective

      public static Matrix matrixPerspective(double fovY, double aspect, double nearPlane, double farPlane)
    • matrixPerspective

      public static Matrix matrixPerspective(Arena arena, double fovY, double aspect, double nearPlane, double farPlane)
    • matrixOrtho

      public static Matrix matrixOrtho(double left, double right, double bottom, double top, double nearPlane, double farPlane)
    • matrixOrtho

      public static Matrix matrixOrtho(Arena arena, double left, double right, double bottom, double top, double nearPlane, double farPlane)
    • matrixLookAt

      public static Matrix matrixLookAt(Vector3 eye, Vector3 target, Vector3 up)
    • matrixLookAt

      public static Matrix matrixLookAt(Arena arena, Vector3 eye, Vector3 target, Vector3 up)
    • matrixToFloatV

      public static MemorySegment matrixToFloatV(Matrix mat)
    • matrixToFloatV

      public static MemorySegment matrixToFloatV(Arena arena, Matrix mat)
    • quaternionAdd

      public static Vector4 quaternionAdd(Vector4 q1, Vector4 q2)
    • quaternionAdd

      public static Vector4 quaternionAdd(Arena arena, Vector4 q1, Vector4 q2)
    • quaternionAddValue

      public static Vector4 quaternionAddValue(Vector4 q, float add)
    • quaternionAddValue

      public static Vector4 quaternionAddValue(Arena arena, Vector4 q, float add)
    • quaternionSubtract

      public static Vector4 quaternionSubtract(Vector4 q1, Vector4 q2)
    • quaternionSubtract

      public static Vector4 quaternionSubtract(Arena arena, Vector4 q1, Vector4 q2)
    • quaternionSubtractValue

      public static Vector4 quaternionSubtractValue(Vector4 q, float sub)
    • quaternionSubtractValue

      public static Vector4 quaternionSubtractValue(Arena arena, Vector4 q, float sub)
    • quaternionIdentity

      public static Vector4 quaternionIdentity()
    • quaternionIdentity

      public static Vector4 quaternionIdentity(Arena arena)
    • quaternionLength

      public static float quaternionLength(Vector4 q)
    • quaternionNormalize

      public static Vector4 quaternionNormalize(Vector4 q)
    • quaternionNormalize

      public static Vector4 quaternionNormalize(Arena arena, Vector4 q)
    • quaternionInvert

      public static Vector4 quaternionInvert(Vector4 q)
    • quaternionInvert

      public static Vector4 quaternionInvert(Arena arena, Vector4 q)
    • quaternionMultiply

      public static Vector4 quaternionMultiply(Vector4 q1, Vector4 q2)
    • quaternionMultiply

      public static Vector4 quaternionMultiply(Arena arena, Vector4 q1, Vector4 q2)
    • quaternionScale

      public static Vector4 quaternionScale(Vector4 q, float mul)
    • quaternionScale

      public static Vector4 quaternionScale(Arena arena, Vector4 q, float mul)
    • quaternionDivide

      public static Vector4 quaternionDivide(Vector4 q1, Vector4 q2)
    • quaternionDivide

      public static Vector4 quaternionDivide(Arena arena, Vector4 q1, Vector4 q2)
    • quaternionLerp

      public static Vector4 quaternionLerp(Vector4 q1, Vector4 q2, float amount)
    • quaternionLerp

      public static Vector4 quaternionLerp(Arena arena, Vector4 q1, Vector4 q2, float amount)
    • quaternionNlerp

      public static Vector4 quaternionNlerp(Vector4 q1, Vector4 q2, float amount)
    • quaternionNlerp

      public static Vector4 quaternionNlerp(Arena arena, Vector4 q1, Vector4 q2, float amount)
    • quaternionSlerp

      public static Vector4 quaternionSlerp(Vector4 q1, Vector4 q2, float amount)
    • quaternionSlerp

      public static Vector4 quaternionSlerp(Arena arena, Vector4 q1, Vector4 q2, float amount)
    • quaternionCubicHermiteSpline

      public static Vector4 quaternionCubicHermiteSpline(Vector4 q1, Vector4 outTangent1, Vector4 q2, Vector4 inTangent2, float t)
    • quaternionCubicHermiteSpline

      public static Vector4 quaternionCubicHermiteSpline(Arena arena, Vector4 q1, Vector4 outTangent1, Vector4 q2, Vector4 inTangent2, float t)
    • quaternionFromVector3ToVector3

      public static Vector4 quaternionFromVector3ToVector3(Vector3 from, Vector3 to)
    • quaternionFromVector3ToVector3

      public static Vector4 quaternionFromVector3ToVector3(Arena arena, Vector3 from, Vector3 to)
    • quaternionFromMatrix

      public static Vector4 quaternionFromMatrix(Matrix mat)
    • quaternionFromMatrix

      public static Vector4 quaternionFromMatrix(Arena arena, Matrix mat)
    • quaternionToMatrix

      public static Matrix quaternionToMatrix(Vector4 q)
    • quaternionToMatrix

      public static Matrix quaternionToMatrix(Arena arena, Vector4 q)
    • quaternionFromAxisAngle

      public static Vector4 quaternionFromAxisAngle(Vector3 axis, float angle)
    • quaternionFromAxisAngle

      public static Vector4 quaternionFromAxisAngle(Arena arena, Vector3 axis, float angle)
    • quaternionToAxisAngle

      public static void quaternionToAxisAngle(Vector4 q, Vector3 outAxis, FloatBuffer outAngle)
    • quaternionFromEuler

      public static Vector4 quaternionFromEuler(float pitch, float yaw, float roll)
    • quaternionFromEuler

      public static Vector4 quaternionFromEuler(Arena arena, float pitch, float yaw, float roll)
    • quaternionToEuler

      public static Vector3 quaternionToEuler(Vector4 q)
    • quaternionToEuler

      public static Vector3 quaternionToEuler(Arena arena, Vector4 q)
    • quaternionTransform

      public static Vector4 quaternionTransform(Vector4 q, Matrix mat)
    • quaternionTransform

      public static Vector4 quaternionTransform(Arena arena, Vector4 q, Matrix mat)
    • quaternionEquals

      public static int quaternionEquals(Vector4 p, Vector4 q)
    • matrixDecompose

      public static void matrixDecompose(Matrix mat, Vector3 translation, Vector4 rotation, Vector3 scale)
    • rlMatrixMode

      public static void rlMatrixMode(int mode)
      Choose the current matrix to be transformed
    • rlPushMatrix

      public static void rlPushMatrix()
      Push the current matrix to stack
    • rlPopMatrix

      public static void rlPopMatrix()
      Pop latest inserted matrix from stack
    • rlLoadIdentity

      public static void rlLoadIdentity()
      Reset current matrix to identity matrix
    • rlTranslatef

      public static void rlTranslatef(float x, float y, float z)
      Multiply the current matrix by a translation matrix
    • rlRotatef

      public static void rlRotatef(float angle, float x, float y, float z)
      Multiply the current matrix by a rotation matrix
    • rlScalef

      public static void rlScalef(float x, float y, float z)
      Multiply the current matrix by a scaling matrix
    • rlMultMatrixf

      public static void rlMultMatrixf(MemorySegment matf)
      Multiply the current matrix by another matrix
    • rlFrustum

      public static void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar)
    • rlOrtho

      public static void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar)
    • rlViewport

      public static void rlViewport(int x, int y, int width, int height)
      Set the viewport area
    • rlSetClipPlanes

      public static void rlSetClipPlanes(double nearPlane, double farPlane)
      Set clip planes distances
    • rlGetCullDistanceNear

      public static double rlGetCullDistanceNear()
      Get cull plane distance near
    • rlGetCullDistanceFar

      public static double rlGetCullDistanceFar()
      Get cull plane distance far
    • rlBegin

      public static void rlBegin(int mode)
      Initialize drawing mode (how to organize vertex)
    • rlEnd

      public static void rlEnd()
      Finish vertex providing
    • rlVertex2i

      public static void rlVertex2i(int x, int y)
      Define one vertex (position) - 2 int
    • rlVertex2f

      public static void rlVertex2f(float x, float y)
      Define one vertex (position) - 2 float
    • rlVertex3f

      public static void rlVertex3f(float x, float y, float z)
      Define one vertex (position) - 3 float
    • rlTexCoord2f

      public static void rlTexCoord2f(float x, float y)
      Define one vertex (texture coordinate) - 2 float
    • rlNormal3f

      public static void rlNormal3f(float x, float y, float z)
      Define one vertex (normal) - 3 float
    • rlColor4ub

      public static void rlColor4ub(byte r, byte g, byte b, byte a)
      Define one vertex (color) - 4 byte
    • rlColor3f

      public static void rlColor3f(float x, float y, float z)
      Define one vertex (color) - 3 float
    • rlColor4f

      public static void rlColor4f(float x, float y, float z, float w)
      Define one vertex (color) - 4 float
    • rlEnableVertexArray

      public static boolean rlEnableVertexArray(int vaoId)
      Enable vertex array (VAO, if supported)
    • rlDisableVertexArray

      public static void rlDisableVertexArray()
      Disable vertex array (VAO, if supported)
    • rlEnableVertexBuffer

      public static void rlEnableVertexBuffer(int id)
      Enable vertex buffer (VBO)
    • rlDisableVertexBuffer

      public static void rlDisableVertexBuffer()
      Disable vertex buffer (VBO)
    • rlEnableVertexBufferElement

      public static void rlEnableVertexBufferElement(int id)
      Enable vertex buffer element (VBO element)
    • rlDisableVertexBufferElement

      public static void rlDisableVertexBufferElement()
      Disable vertex buffer element (VBO element)
    • rlEnableVertexAttribute

      public static void rlEnableVertexAttribute(int index)
      Enable vertex attribute index
    • rlDisableVertexAttribute

      public static void rlDisableVertexAttribute(int index)
      Disable vertex attribute index
    • rlActiveTextureSlot

      public static void rlActiveTextureSlot(int slot)
      Select and active a texture slot
    • rlEnableTexture

      public static void rlEnableTexture(int id)
      Enable texture
    • rlDisableTexture

      public static void rlDisableTexture()
      Disable texture
    • rlEnableTextureCubemap

      public static void rlEnableTextureCubemap(int id)
      Enable texture cubemap
    • rlDisableTextureCubemap

      public static void rlDisableTextureCubemap()
      Disable texture cubemap
    • rlTextureParameters

      public static void rlTextureParameters(int id, int param, int value)
      Set texture parameters (filter, wrap)
    • rlCubemapParameters

      public static void rlCubemapParameters(int id, int param, int value)
      Set cubemap parameters (filter, wrap)
    • rlEnableShader

      public static void rlEnableShader(int id)
      Enable shader program
    • rlDisableShader

      public static void rlDisableShader()
      Disable shader program
    • rlEnableFramebuffer

      public static void rlEnableFramebuffer(int id)
      Enable render texture (fbo)
    • rlDisableFramebuffer

      public static void rlDisableFramebuffer()
      Disable render texture (fbo), return to default framebuffer
    • rlGetActiveFramebuffer

      public static int rlGetActiveFramebuffer()
      Get the currently active render texture (fbo), 0 for default framebuffer
    • rlActiveDrawBuffers

      public static void rlActiveDrawBuffers(int count)
      Activate multiple draw color buffers
    • rlBlitFramebuffer

      public static void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask)
      Blit active framebuffer to main framebuffer
    • rlBindFramebuffer

      public static void rlBindFramebuffer(int target, int framebuffer)
      Bind framebuffer (FBO)
    • rlEnableColorBlend

      public static void rlEnableColorBlend()
      Enable color blending
    • rlDisableColorBlend

      public static void rlDisableColorBlend()
      Disable color blending
    • rlEnableDepthTest

      public static void rlEnableDepthTest()
      Enable depth test
    • rlDisableDepthTest

      public static void rlDisableDepthTest()
      Disable depth test
    • rlEnableDepthMask

      public static void rlEnableDepthMask()
      Enable depth write
    • rlDisableDepthMask

      public static void rlDisableDepthMask()
      Disable depth write
    • rlEnableBackfaceCulling

      public static void rlEnableBackfaceCulling()
      Enable backface culling
    • rlDisableBackfaceCulling

      public static void rlDisableBackfaceCulling()
      Disable backface culling
    • rlColorMask

      public static void rlColorMask(boolean r, boolean g, boolean b, boolean a)
      Color mask control
    • rlSetCullFace

      public static void rlSetCullFace(int mode)
      Set face culling mode
    • rlEnableScissorTest

      public static void rlEnableScissorTest()
      Enable scissor test
    • rlDisableScissorTest

      public static void rlDisableScissorTest()
      Disable scissor test
    • rlScissor

      public static void rlScissor(int x, int y, int width, int height)
      Scissor test
    • rlEnableWireMode

      public static void rlEnableWireMode()
      Enable wire mode
    • rlEnablePointMode

      public static void rlEnablePointMode()
      Enable point mode
    • rlDisableWireMode

      public static void rlDisableWireMode()
      Disable wire (and point) mode
    • rlSetLineWidth

      public static void rlSetLineWidth(float width)
      Set the line drawing width
    • rlGetLineWidth

      public static float rlGetLineWidth()
      Get the line drawing width
    • rlEnableSmoothLines

      public static void rlEnableSmoothLines()
      Enable line aliasing
    • rlDisableSmoothLines

      public static void rlDisableSmoothLines()
      Disable line aliasing
    • rlEnableStereoRender

      public static void rlEnableStereoRender()
      Enable stereo rendering
    • rlDisableStereoRender

      public static void rlDisableStereoRender()
      Disable stereo rendering
    • rlIsStereoRenderEnabled

      public static boolean rlIsStereoRenderEnabled()
      Check if stereo render is enabled
    • rlClearColor

      public static void rlClearColor(byte r, byte g, byte b, byte a)
      Clear color buffer with color
    • rlClearScreenBuffers

      public static void rlClearScreenBuffers()
      Clear used screen buffers (color and depth)
    • rlCheckErrors

      public static void rlCheckErrors()
      Check and log OpenGL error codes
    • rlSetBlendMode

      public static void rlSetBlendMode(int mode)
      Set blending mode
    • rlSetBlendFactors

      public static void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation)
      Set blending mode factor and equation (using OpenGL factors)
    • rlSetBlendFactorsSeparate

      public static void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha)
      Set blending mode factors and equations separately (using OpenGL factors)
    • rlglInit

      public static void rlglInit(int width, int height)
      Initialize rlgl (buffers, shaders, textures, states)
    • rlglClose

      public static void rlglClose()
      De-initialize rlgl (buffers, shaders, textures)
    • rlLoadExtensions

      public static void rlLoadExtensions(MemorySegment loader)
      Load OpenGL extensions (loader function required)
    • rlGetVersion

      public static int rlGetVersion()
      Get current OpenGL version
    • rlSetFramebufferWidth

      public static void rlSetFramebufferWidth(int width)
      Set current framebuffer width
    • rlGetFramebufferWidth

      public static int rlGetFramebufferWidth()
      Get default framebuffer width
    • rlSetFramebufferHeight

      public static void rlSetFramebufferHeight(int height)
      Set current framebuffer height
    • rlGetFramebufferHeight

      public static int rlGetFramebufferHeight()
      Get default framebuffer height
    • rlGetTextureIdDefault

      public static int rlGetTextureIdDefault()
      Get default texture id
    • rlGetShaderIdDefault

      public static int rlGetShaderIdDefault()
      Get default shader id
    • rlGetShaderLocsDefault

      public static IntBuffer rlGetShaderLocsDefault()
      Get default shader locations
    • rlLoadRenderBatch

      public static rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements)
      Load a render batch system
    • rlLoadRenderBatch

      public static rlRenderBatch rlLoadRenderBatch(Arena arena, int numBuffers, int bufferElements)
      Load a render batch system
    • rlUnloadRenderBatch

      public static void rlUnloadRenderBatch(rlRenderBatch batch)
      Unload render batch system
    • rlDrawRenderBatch

      public static void rlDrawRenderBatch(rlRenderBatch batch)
      Draw render batch data (Update->Draw->Reset)
    • rlSetRenderBatchActive

      public static void rlSetRenderBatchActive(rlRenderBatch batch)
      Set the active render batch for rlgl (NULL for default internal)
    • rlDrawRenderBatchActive

      public static void rlDrawRenderBatchActive()
      Update and draw internal render batch
    • rlCheckRenderBatchLimit

      public static boolean rlCheckRenderBatchLimit(int vCount)
      Check internal buffer overflow for a given number of vertex
    • rlSetTexture

      public static void rlSetTexture(int id)
      Set current texture for render batch and check buffers limits
    • rlLoadVertexArray

      public static int rlLoadVertexArray()
      Load vertex array (vao) if supported
    • rlLoadVertexBuffer

      public static int rlLoadVertexBuffer(MemorySegment buffer, int size, boolean dynamic)
      Load a vertex buffer object
    • rlLoadVertexBufferElement

      public static int rlLoadVertexBufferElement(MemorySegment buffer, int size, boolean dynamic)
      Load vertex buffer elements object
    • rlUpdateVertexBuffer

      public static void rlUpdateVertexBuffer(int bufferId, MemorySegment data, int dataSize, int offset)
      Update vertex buffer object data on GPU buffer
    • rlUpdateVertexBufferElements

      public static void rlUpdateVertexBufferElements(int id, MemorySegment data, int dataSize, int offset)
      Update vertex buffer elements data on GPU buffer
    • rlUnloadVertexArray

      public static void rlUnloadVertexArray(int vaoId)
      Unload vertex array (vao)
    • rlUnloadVertexBuffer

      public static void rlUnloadVertexBuffer(int vboId)
      Unload vertex buffer object
    • rlSetVertexAttribute

      public static void rlSetVertexAttribute(int index, int compSize, int type, boolean normalized, int stride, int offset)
      Set vertex attribute data configuration
    • rlSetVertexAttributeDivisor

      public static void rlSetVertexAttributeDivisor(int index, int divisor)
      Set vertex attribute data divisor
    • rlSetVertexAttributeDefault

      public static void rlSetVertexAttributeDefault(int locIndex, MemorySegment value, int attribType, int count)
      Set vertex attribute default value, when attribute to provided
    • rlDrawVertexArray

      public static void rlDrawVertexArray(int offset, int count)
      Draw vertex array (currently active vao)
    • rlDrawVertexArrayElements

      public static void rlDrawVertexArrayElements(int offset, int count, MemorySegment buffer)
      Draw vertex array elements
    • rlDrawVertexArrayInstanced

      public static void rlDrawVertexArrayInstanced(int offset, int count, int instances)
      Draw vertex array (currently active vao) with instancing
    • rlDrawVertexArrayElementsInstanced

      public static void rlDrawVertexArrayElementsInstanced(int offset, int count, MemorySegment buffer, int instances)
      Draw vertex array elements with instancing
    • rlLoadTexture

      public static int rlLoadTexture(MemorySegment data, int width, int height, int format, int mipmapCount)
      Load texture data
    • rlLoadTextureDepth

      public static int rlLoadTextureDepth(int width, int height, boolean useRenderBuffer)
      Load depth texture/renderbuffer (to be attached to fbo)
    • rlLoadTextureCubemap

      public static int rlLoadTextureCubemap(MemorySegment data, int size, int format, int mipmapCount)
      Load texture cubemap data
    • rlUpdateTexture

      public static void rlUpdateTexture(int id, int offsetX, int offsetY, int width, int height, int format, MemorySegment data)
      Update texture with new data on GPU
    • rlGetGlTextureFormats

      public static void rlGetGlTextureFormats(int format, MemorySegment glInternalFormat, MemorySegment glFormat, MemorySegment glType)
      Get OpenGL internal formats
    • rlGetPixelFormatName

      public static String rlGetPixelFormatName(int format)
      Get name string for pixel format
    • rlUnloadTexture

      public static void rlUnloadTexture(int id)
      Unload texture from GPU memory
    • rlGenTextureMipmaps

      public static void rlGenTextureMipmaps(int id, int width, int height, int format, IntBuffer mipmaps)
      Generate mipmap data for selected texture
    • rlReadTexturePixels

      public static MemorySegment rlReadTexturePixels(int id, int width, int height, int format)
      Read texture pixel data
    • rlReadScreenPixels

      public static ByteBuffer rlReadScreenPixels(int width, int height)
      Read screen pixel data (color buffer)
    • rlLoadFramebuffer

      public static int rlLoadFramebuffer()
      Load an empty framebuffer
    • rlFramebufferAttach

      public static void rlFramebufferAttach(int fboId, int texId, int attachType, int texType, int mipLevel)
      Attach texture/renderbuffer to a framebuffer
    • rlFramebufferComplete

      public static boolean rlFramebufferComplete(int id)
      Verify framebuffer is complete
    • rlUnloadFramebuffer

      public static void rlUnloadFramebuffer(int id)
      Delete framebuffer from GPU
    • rlLoadShaderCode

      public static int rlLoadShaderCode(String vsCode, String fsCode)
      Load shader from code strings
    • rlCompileShader

      public static int rlCompileShader(String shaderCode, int type)
      Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
    • rlLoadShaderProgram

      public static int rlLoadShaderProgram(int vShaderId, int fShaderId)
      Load custom shader program
    • rlUnloadShaderProgram

      public static void rlUnloadShaderProgram(int id)
      Unload shader program
    • rlGetLocationUniform

      public static int rlGetLocationUniform(int shaderId, String uniformName)
      Get shader location uniform
    • rlGetLocationAttrib

      public static int rlGetLocationAttrib(int shaderId, String attribName)
      Get shader location attribute
    • rlSetUniform

      public static void rlSetUniform(int locIndex, MemorySegment value, int uniformType, int count)
      Set shader value uniform
    • rlSetUniformMatrix

      public static void rlSetUniformMatrix(int locIndex, Matrix mat)
      Set shader value matrix
    • rlSetUniformMatrices

      public static void rlSetUniformMatrices(int locIndex, MemorySegment mat, int count)
      Set shader value matrices
    • rlSetUniformSampler

      public static void rlSetUniformSampler(int locIndex, int textureId)
      Set shader value sampler
    • rlSetShader

      public static void rlSetShader(int id, IntBuffer locs)
      Set shader currently active (id and locations)
    • rlLoadComputeShaderProgram

      public static int rlLoadComputeShaderProgram(int shaderId)
      Load compute shader program
    • rlComputeShaderDispatch

      public static void rlComputeShaderDispatch(int groupX, int groupY, int groupZ)
      Dispatch compute shader (equivalent to *draw* for graphics pipeline)
    • rlLoadShaderBuffer

      public static int rlLoadShaderBuffer(int size, MemorySegment data, int usageHint)
      Load shader storage buffer object (SSBO)
    • rlUnloadShaderBuffer

      public static void rlUnloadShaderBuffer(int ssboId)
      Unload shader storage buffer object (SSBO)
    • rlUpdateShaderBuffer

      public static void rlUpdateShaderBuffer(int id, MemorySegment data, int dataSize, int offset)
      Update SSBO buffer data
    • rlBindShaderBuffer

      public static void rlBindShaderBuffer(int id, int index)
      Bind SSBO buffer
    • rlReadShaderBuffer

      public static void rlReadShaderBuffer(int id, MemorySegment dest, int count, int offset)
      Read SSBO buffer data (GPU->CPU)
    • rlCopyShaderBuffer

      public static void rlCopyShaderBuffer(int destId, int srcId, int destOffset, int srcOffset, int count)
      Copy SSBO data between buffers
    • rlGetShaderBufferSize

      public static int rlGetShaderBufferSize(int id)
      Get SSBO buffer size
    • rlBindImageTexture

      public static void rlBindImageTexture(int id, int index, int format, boolean readonly)
      Bind image texture
    • rlGetMatrixModelview

      public static Matrix rlGetMatrixModelview()
      Get internal modelview matrix
    • rlGetMatrixModelview

      public static Matrix rlGetMatrixModelview(Arena arena)
      Get internal modelview matrix
    • rlGetMatrixProjection

      public static Matrix rlGetMatrixProjection()
      Get internal projection matrix
    • rlGetMatrixProjection

      public static Matrix rlGetMatrixProjection(Arena arena)
      Get internal projection matrix
    • rlGetMatrixTransform

      public static Matrix rlGetMatrixTransform()
      Get internal accumulated transform matrix
    • rlGetMatrixTransform

      public static Matrix rlGetMatrixTransform(Arena arena)
      Get internal accumulated transform matrix
    • rlGetMatrixProjectionStereo

      public static Matrix rlGetMatrixProjectionStereo(int eye)
      Get internal projection matrix for stereo render (selected eye)
    • rlGetMatrixProjectionStereo

      public static Matrix rlGetMatrixProjectionStereo(Arena arena, int eye)
      Get internal projection matrix for stereo render (selected eye)
    • rlGetMatrixViewOffsetStereo

      public static Matrix rlGetMatrixViewOffsetStereo(int eye)
      Get internal view offset matrix for stereo render (selected eye)
    • rlGetMatrixViewOffsetStereo

      public static Matrix rlGetMatrixViewOffsetStereo(Arena arena, int eye)
      Get internal view offset matrix for stereo render (selected eye)
    • rlSetMatrixProjection

      public static void rlSetMatrixProjection(Matrix proj)
      Set a custom projection matrix (replaces internal projection matrix)
    • rlSetMatrixModelview

      public static void rlSetMatrixModelview(Matrix view)
      Set a custom modelview matrix (replaces internal modelview matrix)
    • rlSetMatrixProjectionStereo

      public static void rlSetMatrixProjectionStereo(Matrix right, Matrix left)
      Set eyes projection matrices for stereo rendering
    • rlSetMatrixViewOffsetStereo

      public static void rlSetMatrixViewOffsetStereo(Matrix right, Matrix left)
      Set eyes view offsets matrices for stereo rendering
    • rlLoadDrawCube

      public static void rlLoadDrawCube()
      Load and draw a cube
    • rlLoadDrawQuad

      public static void rlLoadDrawQuad()
      Load and draw a quad