|
|
@ -7,12 +7,19 @@ RLAPI void InitWindow(int width, int height, const char *title); // Initialize |
|
|
|
RLAPI bool WindowShouldClose(void); // Check if KEY_ESCAPE pressed or Close icon pressed |
|
|
|
RLAPI void CloseWindow(void); // Close window and unload OpenGL context |
|
|
|
RLAPI bool IsWindowReady(void); // Check if window has been initialized successfully |
|
|
|
RLAPI bool IsWindowMinimized(void); // Check if window has been minimized (or lost focus) |
|
|
|
RLAPI bool IsWindowResized(void); // Check if window has been resized |
|
|
|
RLAPI bool IsWindowHidden(void); // Check if window is currently hidden |
|
|
|
RLAPI void ToggleFullscreen(void); // Toggle fullscreen mode (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void UnhideWindow(void); // Show the window |
|
|
|
RLAPI void HideWindow(void); // Hide the window |
|
|
|
RLAPI bool IsWindowFullscreen(void); // Check if window is currently fullscreen |
|
|
|
RLAPI bool IsWindowHidden(void); // Check if window is currently hidden (only PLATFORM_DESKTOP) |
|
|
|
RLAPI bool IsWindowMinimized(void); // Check if window is currently minimized (only PLATFORM_DESKTOP) |
|
|
|
RLAPI bool IsWindowMaximized(void); // Check if window is currently maximized (only PLATFORM_DESKTOP) |
|
|
|
RLAPI bool IsWindowFocused(void); // Check if window is currently focused (only PLATFORM_DESKTOP) |
|
|
|
RLAPI bool IsWindowResized(void); // Check if window has been resized last frame |
|
|
|
RLAPI bool IsWindowState(unsigned int flag); // Check if one specific window flag is enabled |
|
|
|
RLAPI void SetWindowState(unsigned int flags); // Set window configuration state using flags |
|
|
|
RLAPI void ClearWindowState(unsigned int flags); // Clear window configuration state flags |
|
|
|
RLAPI void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void MinimizeWindow(void); // Set window state: minimized, if resizable (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void RestoreWindow(void); // Set window state: not minimized/maximized (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void SetWindowTitle(const char *title); // Set title for window (only PLATFORM_DESKTOP) |
|
|
|
RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP) |
|
|
@ -23,14 +30,17 @@ RLAPI void *GetWindowHandle(void); // Get native |
|
|
|
RLAPI int GetScreenWidth(void); // Get current screen width |
|
|
|
RLAPI int GetScreenHeight(void); // Get current screen height |
|
|
|
RLAPI int GetMonitorCount(void); // Get number of connected monitors |
|
|
|
RLAPI int GetMonitorWidth(int monitor); // Get primary monitor width |
|
|
|
RLAPI int GetMonitorHeight(int monitor); // Get primary monitor height |
|
|
|
RLAPI int GetMonitorPhysicalWidth(int monitor); // Get primary monitor physical width in millimetres |
|
|
|
RLAPI int GetMonitorPhysicalHeight(int monitor); // Get primary monitor physical height in millimetres |
|
|
|
RLAPI Vector2 GetMonitorPosition(int monitor); // Get specified monitor position |
|
|
|
RLAPI int GetMonitorWidth(int monitor); // Get specified monitor width |
|
|
|
RLAPI int GetMonitorHeight(int monitor); // Get specified monitor height |
|
|
|
RLAPI int GetMonitorPhysicalWidth(int monitor); // Get specified monitor physical width in millimetres |
|
|
|
RLAPI int GetMonitorPhysicalHeight(int monitor); // Get specified monitor physical height in millimetres |
|
|
|
RLAPI int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate |
|
|
|
RLAPI Vector2 GetWindowPosition(void); // Get window position XY on monitor |
|
|
|
RLAPI Vector2 GetWindowScaleDPI(void); // Get window scale DPI factor |
|
|
|
RLAPI const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the primary monitor |
|
|
|
RLAPI const char *GetClipboardText(void); // Get clipboard text content |
|
|
|
RLAPI void SetClipboardText(const char *text); // Set clipboard text content |
|
|
|
RLAPI const char *GetClipboardText(void); // Get clipboard text content |
|
|
|
|
|
|
|
// Cursor-related functions |
|
|
|
RLAPI void ShowCursor(void); // Shows cursor |
|
|
@ -38,6 +48,7 @@ RLAPI void HideCursor(void); // Hides curso |
|
|
|
RLAPI bool IsCursorHidden(void); // Check if cursor is not visible |
|
|
|
RLAPI void EnableCursor(void); // Enables cursor (unlock cursor) |
|
|
|
RLAPI void DisableCursor(void); // Disables cursor (lock cursor) |
|
|
|
RLAPI bool IsCursorOnScreen(void); // Check if cursor is on the current screen. |
|
|
|
|
|
|
|
// Drawing-related functions |
|
|
|
RLAPI void ClearBackground(Color color); // Set background color (framebuffer clear color) |
|
|
@ -67,29 +78,30 @@ RLAPI int GetFPS(void); // Returns cur |
|
|
|
RLAPI float GetFrameTime(void); // Returns time in seconds for last frame drawn |
|
|
|
RLAPI double GetTime(void); // Returns elapsed time in seconds since InitWindow() |
|
|
|
|
|
|
|
// Color-related functions |
|
|
|
RLAPI int ColorToInt(Color color); // Returns hexadecimal value for a Color |
|
|
|
RLAPI Vector4 ColorNormalize(Color color); // Returns color normalized as float [0..1] |
|
|
|
RLAPI Color ColorFromNormalized(Vector4 normalized); // Returns color from normalized values [0..1] |
|
|
|
RLAPI Vector3 ColorToHSV(Color color); // Returns HSV values for a Color |
|
|
|
RLAPI Color ColorFromHSV(Vector3 hsv); // Returns a Color from HSV values |
|
|
|
RLAPI Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value |
|
|
|
RLAPI Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f |
|
|
|
|
|
|
|
// Misc. functions |
|
|
|
RLAPI void SetConfigFlags(unsigned int flags); // Setup window configuration flags (view FLAGS) |
|
|
|
RLAPI void SetConfigFlags(unsigned int flags); // Setup init configuration flags (view FLAGS) |
|
|
|
|
|
|
|
RLAPI void SetTraceLogLevel(int logType); // Set the current threshold (minimum) log level |
|
|
|
RLAPI void SetTraceLogExit(int logType); // Set the exit threshold (minimum) log level |
|
|
|
RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set a trace log callback to enable custom logging |
|
|
|
RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR) |
|
|
|
|
|
|
|
RLAPI void *MemAlloc(int size); // Internal memory allocator |
|
|
|
RLAPI void MemFree(void *ptr); // Internal memory free |
|
|
|
RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (saved a .png) |
|
|
|
RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) |
|
|
|
|
|
|
|
// Files management functions |
|
|
|
RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); // Load file data as byte array (read) |
|
|
|
RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData() |
|
|
|
RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success |
|
|
|
RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string |
|
|
|
RLAPI void UnloadFileText(unsigned char *text); // Unload file text data allocated by LoadFileText() |
|
|
|
RLAPI bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success |
|
|
|
RLAPI bool FileExists(const char *fileName); // Check if file exists |
|
|
|
RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension |
|
|
|
RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists |
|
|
|
RLAPI const char *GetExtension(const char *fileName); // Get pointer to extension for a filename string |
|
|
|
RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension (including point: .png, .wav) |
|
|
|
RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (including point: ".png") |
|
|
|
RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string |
|
|
|
RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) |
|
|
|
RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string) |
|
|
@ -97,18 +109,18 @@ RLAPI const char *GetPrevDirectoryPath(const char *dirPath); // Get previou |
|
|
|
RLAPI const char *GetWorkingDirectory(void); // Get current working directory (uses static string) |
|
|
|
RLAPI char **GetDirectoryFiles(const char *dirPath, int *count); // Get filenames in a directory path (memory should be freed) |
|
|
|
RLAPI void ClearDirectoryFiles(void); // Clear directory files paths buffers (free memory) |
|
|
|
RLAPI bool ChangeDirectory(const char *dir); // Change working directory, n">returns true if success |
|
|
|
RLAPI bool ChangeDirectory(const char *dir); // Change working directory, k">return true on success |
|
|
|
RLAPI bool IsFileDropped(void); // Check if a file has been dropped into window |
|
|
|
RLAPI char **GetDroppedFiles(int *count); // Get dropped files names (memory should be freed) |
|
|
|
RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory) |
|
|
|
RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time) |
|
|
|
|
|
|
|
RLAPI unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorythm) |
|
|
|
RLAPI unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorythm) |
|
|
|
RLAPI unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorithm) |
|
|
|
RLAPI unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorithm) |
|
|
|
|
|
|
|
// Persistent storage management |
|
|
|
RLAPI void StorageSaveValue(int position, int value); // Save integer value to storage file (to defined position) |
|
|
|
RLAPI int StorageLoadValue(int position); // Load integer value from storage file (from defined position) |
|
|
|
RLAPI bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success |
|
|
|
RLAPI int LoadStorageValue(unsigned int position); // Load integer value from storage file (from defined position) |
|
|
|
|
|
|
|
RLAPI void OpenURL(const char *url); // Open URL with default system browser (if available) |
|
|
|
|
|
|
@ -121,8 +133,9 @@ RLAPI bool IsKeyPressed(int key); // Detect if a key |
|
|
|
RLAPI bool IsKeyDown(int key); // Detect if a key is being pressed |
|
|
|
RLAPI bool IsKeyReleased(int key); // Detect if a key has been released once |
|
|
|
RLAPI bool IsKeyUp(int key); // Detect if a key is NOT being pressed |
|
|
|
RLAPI int GetKeyPressed(void); // Get latest key pressed |
|
|
|
RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) |
|
|
|
RLAPI int GetKeyPressed(void); // Get key pressed (keycode), call it multiple times for keys queued |
|
|
|
RLAPI int GetCharPressed(void); // Get char pressed (unicode), call it multiple times for chars queued |
|
|
|
|
|
|
|
// Input-related functions: gamepads |
|
|
|
RLAPI bool IsGamepadAvailable(int gamepad); // Detect if a gamepad is available |
|
|
@ -148,8 +161,8 @@ RLAPI void SetMousePosition(int x, int y); // Set mouse posit |
|
|
|
RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset |
|
|
|
RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling |
|
|
|
RLAPI float GetMouseWheelMove(void); // Returns mouse wheel movement Y |
|
|
|
RLAPI n">MouseCursor GetMouseCursor(void); // Returns mouse cursor |
|
|
|
RLAPI void SetMouseCursor(n">MouseCursor cursor); // Set mouse cursor |
|
|
|
RLAPI kt">int GetMouseCursor(void); // Returns mouse cursor if (MouseCursor enum) |
|
|
|
RLAPI void SetMouseCursor(kt">int cursor); // Set mouse cursor |
|
|
|
|
|
|
|
// Input-related functions: touch |
|
|
|
RLAPI int GetTouchX(void); // Returns touch position X for touch point 0 (relative to screen size) |
|
|
@ -175,10 +188,10 @@ RLAPI float GetGesturePinchAngle(void); // Get gesture pin |
|
|
|
RLAPI void SetCameraMode(Camera camera, int mode); // Set camera mode (multiple camera modes available) |
|
|
|
RLAPI void UpdateCamera(Camera *camera); // Update camera position for selected mode |
|
|
|
|
|
|
|
RLAPI void SetCameraPanControl(int panKey); // Set camera pan key to combine with mouse movement (free camera) |
|
|
|
RLAPI void SetCameraAltControl(int altKey); // Set camera alt key to combine with mouse movement (free camera) |
|
|
|
RLAPI void SetCameraSmoothZoomControl(int szKey); // Set camera smooth zoom key to combine with mouse (free camera) |
|
|
|
RLAPI void SetCameraMoveControls(int frontKey, int backKey, int rightKey, int leftKey, int upKey, int downKey); // Set camera move controls (1st person and 3rd person cameras) |
|
|
|
RLAPI void SetCameraPanControl(int keyPan); // Set camera pan key to combine with mouse movement (free camera) |
|
|
|
RLAPI void SetCameraAltControl(int keyAlt); // Set camera alt key to combine with mouse movement (free camera) |
|
|
|
RLAPI void SetCameraSmoothZoomControl(int keySmoothZoom); // Set camera smooth zoom key to combine with mouse (free camera) |
|
|
|
RLAPI void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int keyLeft, int keyUp, int keyDown); // Set camera move controls (1st person and 3rd person cameras) |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Basic Shapes Drawing Functions (Module: shapes) |
|
|
@ -191,10 +204,10 @@ RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Colo |
|
|
|
RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) |
|
|
|
RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness |
|
|
|
RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out |
|
|
|
RLAPI void DrawLineStrip(Vector2 *points, int numPoints, Color color); // Draw lines sequence |
|
|
|
RLAPI void DrawLineStrip(Vector2 *points, int pointsCount, Color color); // Draw lines sequence |
|
|
|
RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle |
|
|
|
RLAPI void DrawCircleSector(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color); // Draw a piece of a circle |
|
|
|
RLAPI void DrawCircleSectorLines(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color); // Draw circle sector outline |
|
|
|
RLAPI void DrawCircleSector(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color); // Draw a piece of a circle |
|
|
|
RLAPI void DrawCircleSectorLines(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color); // Draw circle sector outline |
|
|
|
RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle |
|
|
|
RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) |
|
|
|
RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline |
|
|
@ -215,7 +228,7 @@ RLAPI void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Co |
|
|
|
RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color); // Draw rectangle with rounded edges outline |
|
|
|
RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) |
|
|
|
RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!) |
|
|
|
RLAPI void DrawTriangleFan(Vector2 *points, int numPoints, Color color); // Draw a triangle fan defined by points (first vertex is the center) |
|
|
|
RLAPI void DrawTriangleFan(Vector2 *points, int pointsCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) |
|
|
|
RLAPI void DrawTriangleStrip(Vector2 *points, int pointsCount, Color color); // Draw a triangle strip defined by points |
|
|
|
RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) |
|
|
|
RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides |
|
|
@ -224,60 +237,53 @@ RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation |
|
|
|
RLAPI bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2); // Check collision between two rectangles |
|
|
|
RLAPI bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2); // Check collision between two circles |
|
|
|
RLAPI bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); // Check collision between circle and rectangle |
|
|
|
RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision |
|
|
|
RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle |
|
|
|
RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle |
|
|
|
RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle |
|
|
|
RLAPI bool 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 |
|
|
|
RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Texture Loading and Drawing Functions (Module: textures) |
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
// Image/Texture2D data loading/unloading/saving functions |
|
|
|
// Image loading functions |
|
|
|
// NOTE: This functions do not require GPU access |
|
|
|
RLAPI Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM) |
|
|
|
RLAPI Image LoadImageEx(Color *pixels, int width, int height); // Load image from Color array data (RGBA - 32bit) |
|
|
|
RLAPI Image LoadImagePro(void *data, int width, int height, int format); // Load image from raw data with parameters |
|
|
|
RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data |
|
|
|
RLAPI void ExportImage(Image image, const char *fileName); // Export image data to file |
|
|
|
RLAPI void ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes |
|
|
|
RLAPI Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM) |
|
|
|
RLAPI Texture2D LoadTextureFromImage(Image image); // Load texture from image data |
|
|
|
RLAPI TextureCubemap LoadTextureCubemap(Image image, int layoutType); // Load cubemap from image, multiple image cubemap layouts supported |
|
|
|
RLAPI RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer) |
|
|
|
RLAPI Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data) |
|
|
|
RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. "png" |
|
|
|
RLAPI void UnloadImage(Image image); // Unload image from CPU memory (RAM) |
|
|
|
RLAPI void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM) |
|
|
|
RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM) |
|
|
|
RLAPI Color *GetImageData(Image image); // Get pixel data from image as a Color struct array |
|
|
|
RLAPI Vector4 *GetImageDataNormalized(Image image); // Get pixel data from image as Vector4 array (float normalized) |
|
|
|
RLAPI Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle |
|
|
|
RLAPI int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture) |
|
|
|
RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image |
|
|
|
RLAPI Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot) |
|
|
|
RLAPI void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data |
|
|
|
RLAPI bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success |
|
|
|
RLAPI bool ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes, returns true on success |
|
|
|
|
|
|
|
// Image generation functions |
|
|
|
RLAPI Image GenImageColor(int width, int height, Color color); // Generate image: plain color |
|
|
|
RLAPI Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient |
|
|
|
RLAPI Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient |
|
|
|
RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient |
|
|
|
RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked |
|
|
|
RLAPI Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise |
|
|
|
RLAPI Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise |
|
|
|
RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells |
|
|
|
|
|
|
|
// Image manipulation functions |
|
|
|
RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) |
|
|
|
RLAPI Image ImageFromImage(Image image, Rectangle rec); // Create an image from another image piece |
|
|
|
RLAPI void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two) |
|
|
|
RLAPI Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) |
|
|
|
RLAPI Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font) |
|
|
|
RLAPI void ImageFormat(Image *image, int newFormat); // Convert image data to desired format |
|
|
|
RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image |
|
|
|
RLAPI void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color |
|
|
|
RLAPI void ImageToPOT(Image *image, Color fill); // Convert image to POT (power-of-two) |
|
|
|
RLAPI void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle |
|
|
|
RLAPI void ImageAlphaCrop(Image *image, float threshold); // Crop image depending on alpha value |
|
|
|
RLAPI void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color |
|
|
|
RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image |
|
|
|
RLAPI void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel |
|
|
|
RLAPI void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle |
|
|
|
RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) |
|
|
|
RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) |
|
|
|
RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color color); // Resize canvas and fill with color |
|
|
|
RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color |
|
|
|
RLAPI void ImageMipmaps(Image *image); // Generate all mipmap levels for a provided image |
|
|
|
RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) |
|
|
|
RLAPI Color *ImageExtractPalette(Image image, int maxPaletteSize, int *extractCount); // Extract color palette from image to maximum size (memory should be freed) |
|
|
|
RLAPI Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font) |
|
|
|
RLAPI Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font) |
|
|
|
RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source) |
|
|
|
RLAPI void ImageDrawRectangle(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image |
|
|
|
RLAPI void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image |
|
|
|
RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) |
|
|
|
RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, Font font, const char *text, float fontSize, float spacing, Color color); // Draw text (custom sprite font) within an image (destination) |
|
|
|
RLAPI void ImageFlipVertical(Image *image); // Flip image vertically |
|
|
|
RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally |
|
|
|
RLAPI void ImageRotateCW(Image *image); // Rotate image clockwise 90deg |
|
|
@ -288,30 +294,70 @@ RLAPI void ImageColorGrayscale(Image *image); |
|
|
|
RLAPI void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100) |
|
|
|
RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255) |
|
|
|
RLAPI void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color |
|
|
|
RLAPI Color *LoadImageColors(Image image); // Load color data from image as a Color array (RGBA - 32bit) |
|
|
|
RLAPI Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorsCount); // Load colors palette from image as a Color array (RGBA - 32bit) |
|
|
|
RLAPI void UnloadImageColors(Color *colors); // Unload color data loaded with LoadImageColors() |
|
|
|
RLAPI void UnloadImagePalette(Color *colors); // Unload colors palette loaded with LoadImagePalette() |
|
|
|
RLAPI Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle |
|
|
|
|
|
|
|
// Image generation functions |
|
|
|
RLAPI Image GenImageColor(int width, int height, Color color); // Generate image: plain color |
|
|
|
RLAPI Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient |
|
|
|
RLAPI Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient |
|
|
|
RLAPI Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient |
|
|
|
RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked |
|
|
|
RLAPI Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise |
|
|
|
RLAPI Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise |
|
|
|
RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells |
|
|
|
// Image drawing functions |
|
|
|
// NOTE: Image software-rendering functions (CPU) |
|
|
|
RLAPI void ImageClearBackground(Image *dst, Color color); // Clear image background with given color |
|
|
|
RLAPI void ImageDrawPixel(Image *dst, int posX, int posY, Color color); // Draw pixel within an image |
|
|
|
RLAPI void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version) |
|
|
|
RLAPI void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw line within an image |
|
|
|
RLAPI void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version) |
|
|
|
RLAPI void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle within an image |
|
|
|
RLAPI void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw circle within an image (Vector version) |
|
|
|
RLAPI void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); // Draw rectangle within an image |
|
|
|
RLAPI void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version) |
|
|
|
RLAPI void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image |
|
|
|
RLAPI void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image |
|
|
|
RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source) |
|
|
|
RLAPI void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) within an image (destination) |
|
|
|
RLAPI void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text (custom sprite font) within an image (destination) |
|
|
|
|
|
|
|
// Texture loading functions |
|
|
|
// NOTE: These functions require GPU access |
|
|
|
RLAPI Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM) |
|
|
|
RLAPI Texture2D LoadTextureFromImage(Image image); // Load texture from image data |
|
|
|
RLAPI TextureCubemap LoadTextureCubemap(Image image, int layoutType); // Load cubemap from image, multiple image cubemap layouts supported |
|
|
|
RLAPI RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer) |
|
|
|
RLAPI void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM) |
|
|
|
RLAPI void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM) |
|
|
|
RLAPI void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data |
|
|
|
RLAPI void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data |
|
|
|
RLAPI Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image |
|
|
|
RLAPI Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot) |
|
|
|
|
|
|
|
// Texture2D configuration functions |
|
|
|
// Texture configuration functions |
|
|
|
RLAPI void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture |
|
|
|
RLAPI void SetTextureFilter(Texture2D texture, int filterMode); // Set texture scaling filter mode |
|
|
|
RLAPI void SetTextureWrap(Texture2D texture, int wrapMode); // Set texture wrapping mode |
|
|
|
|
|
|
|
// Texture2D drawing functions |
|
|
|
// Texture drawing functions |
|
|
|
RLAPI void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D |
|
|
|
RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2 |
|
|
|
RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters |
|
|
|
RLAPI void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle |
|
|
|
RLAPI void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle |
|
|
|
RLAPI void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint); // Draw texture quad with tiling and offset parameters |
|
|
|
RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle destRec, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters |
|
|
|
RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle destRec, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely |
|
|
|
RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest. |
|
|
|
RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters |
|
|
|
RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely |
|
|
|
|
|
|
|
// Color/pixel related functions |
|
|
|
RLAPI Color Fade(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f |
|
|
|
RLAPI int ColorToInt(Color color); // Returns hexadecimal value for a Color |
|
|
|
RLAPI Vector4 ColorNormalize(Color color); // Returns Color normalized as float [0..1] |
|
|
|
RLAPI Color ColorFromNormalized(Vector4 normalized); // Returns Color from normalized values [0..1] |
|
|
|
RLAPI Vector3 ColorToHSV(Color color); // Returns HSV values for a Color |
|
|
|
RLAPI Color ColorFromHSV(float hue, float saturation, float value); // Returns a Color from HSV values |
|
|
|
RLAPI Color ColorAlpha(Color color, float alpha); // Returns color with alpha applied, alpha goes from 0.0f to 1.0f |
|
|
|
RLAPI Color ColorAlphaBlend(Color dst, Color src, Color tint); // Returns src alpha-blended into dst color with tint |
|
|
|
RLAPI Color GetColor(int hexValue); // Get Color structure from hexadecimal value |
|
|
|
RLAPI Color GetPixelColor(void *srcPtr, int format); // Get Color from a source pixel pointer of certain format |
|
|
|
RLAPI void SetPixelColor(void *dstPtr, Color color, int format); // Set color formatted into destination pixel pointer |
|
|
|
RLAPI int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes for certain format |
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
// Font Loading and Text Drawing Functions (Module: text) |
|
|
@ -322,8 +368,10 @@ RLAPI Font GetFontDefault(void); |
|
|
|
RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM) |
|
|
|
RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount); // Load font from file with extended parameters |
|
|
|
RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style) |
|
|
|
RLAPI CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int charsCount, int type); // Load font data for further use |
|
|
|
RLAPI Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info |
|
|
|
RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount); // Load font from memory buffer, fileType refers to extension: i.e. "ttf" |
|
|
|
RLAPI CharInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type); // Load font data for further use |
|
|
|
RLAPI Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info |
|
|
|
RLAPI void UnloadFontData(CharInfo *chars, int charsCount); // Unload font chars info data (RAM) |
|
|
|
RLAPI void UnloadFont(Font font); // Unload Font from GPU memory (VRAM) |
|
|
|
|
|
|
|
// Text drawing functions |
|
|
@ -331,8 +379,8 @@ RLAPI void DrawFPS(int posX, int posY); |
|
|
|
RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) |
|
|
|
RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters |
|
|
|
RLAPI void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint); // Draw text using font inside rectangle limits |
|
|
|
//RLAPI void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint, int selectStart, int selectLength, Color selectTint, Color selectBackTint); // Draw text using font inside rectangle limits with support for text selection |
|
|
|
RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float scale, Color tint); // Draw one character (codepoint) |
|
|
|
RLAPI void f">DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint, int selectStart, int selectLength, Color selectTint, Color selectBackTint); // Draw text using font inside rectangle limits with support for text selection |
|
|
|
RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint) |
|
|
|
|
|
|
|
// Text misc. functions |
|
|
|
RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font |
|
|
@ -372,6 +420,8 @@ RLAPI const char *CodepointToUtf8(int codepoint, int *byteLength); // Encode |
|
|
|
RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); // Draw a line in 3D world space |
|
|
|
RLAPI void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line |
|
|
|
RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space |
|
|
|
RLAPI void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) |
|
|
|
RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointsCount, Color color); // Draw a triangle strip defined by points |
|
|
|
RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube |
|
|
|
RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) |
|
|
|
RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires |
|
|
@ -394,12 +444,13 @@ RLAPI void DrawGizmo(Vector3 position); |
|
|
|
// Model loading/unloading functions |
|
|
|
RLAPI Model LoadModel(const char *fileName); // Load model from files (meshes and materials) |
|
|
|
RLAPI Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material) |
|
|
|
RLAPI void UnloadModel(Model model); // Unload model from memory (RAM and/or VRAM) |
|
|
|
RLAPI void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM) |
|
|
|
RLAPI void UnloadModelKeepMeshes(Model model); // Unload model (but not meshes) from memory (RAM and/or VRAM) |
|
|
|
|
|
|
|
// Mesh loading/unloading functions |
|
|
|
RLAPI Mesh *LoadMeshes(const char *fileName, int *meshCount); // Load meshes from model file |
|
|
|
RLAPI void ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file |
|
|
|
RLAPI void UnloadMesh(Mesh mesh); // Unload mesh from memory (RAM and/or VRAM) |
|
|
|
RLAPI bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success |
|
|
|
|
|
|
|
// Material loading/unloading functions |
|
|
|
RLAPI Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file |
|
|
@ -430,6 +481,7 @@ RLAPI Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); |
|
|
|
RLAPI BoundingBox MeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits |
|
|
|
RLAPI void MeshTangents(Mesh *mesh); // Compute mesh tangents |
|
|
|
RLAPI void MeshBinormals(Mesh *mesh); // Compute mesh binormals |
|
|
|
RLAPI void MeshNormalsSmooth(Mesh *mesh); // Smooth (average) vertex normals |
|
|
|
|
|
|
|
// Model drawing functions |
|
|
|
RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) |
|
|
@ -438,15 +490,16 @@ RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint |
|
|
|
RLAPI 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 |
|
|
|
RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) |
|
|
|
RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture |
|
|
|
RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec |
|
|
|
RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 center, float size, Color tint); // Draw a billboard texture defined by source |
|
|
|
|
|
|
|
// Collision detection functions |
|
|
|
RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB, float radiusB); // Detect collision between two spheres |
|
|
|
RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Detect collision between two spheres |
|
|
|
RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes |
|
|
|
RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Detect collision between box and sphere |
|
|
|
RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 center, float radius); // Detect collision between ray and sphere |
|
|
|
RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 center, float radius, Vector3 *collisionPoint); // Detect collision between ray and sphere, returns collision point |
|
|
|
RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box |
|
|
|
RLAPI RayHitInfo GetCollisionRayMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh |
|
|
|
RLAPI RayHitInfo GetCollisionRayModel(Ray ray, Model model); // Get collision info between ray and model |
|
|
|
RLAPI RayHitInfo GetCollisionRayTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle |
|
|
|
RLAPI RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight); // Get collision info between ray and ground plane (Y-normal plane) |
|
|
@ -457,9 +510,8 @@ RLAPI RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight); |
|
|
|
//------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
// Shader loading/unloading functions |
|
|
|
RLAPI char *LoadText(const char *fileName); // Load chars array from text file |
|
|
|
RLAPI Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations |
|
|
|
RLAPI Shader LoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations |
|
|
|
RLAPI Shader LoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations |
|
|
|
RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) |
|
|
|
|
|
|
|
RLAPI Shader GetShaderDefault(void); // Get default shader |
|
|
@ -470,6 +522,7 @@ RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Def |
|
|
|
|
|
|
|
// Shader configuration functions |
|
|
|
RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location |
|
|
|
RLAPI int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location |
|
|
|
RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType); // Set shader uniform value |
|
|
|
RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count); // Set shader uniform value vector |
|
|
|
RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) |
|
|
@ -481,9 +534,9 @@ RLAPI Matrix GetMatrixProjection(void); // Get |
|
|
|
|
|
|
|
// Texture maps generation (PBR) |
|
|
|
// NOTE: Required shaders should be provided |
|
|
|
RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D map, int size); // Generate cubemap texture from 2D texture |
|
|
|
RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size); // Generate irradiance texture using cubemap data |
|
|
|
RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size); // Generate prefilter texture using cubemap data |
|
|
|
RLAPI TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format); // Generate cubemap texture from 2D panorama texture |
|
|
|
RLAPI TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size); // Generate irradiance texture using cubemap data |
|
|
|
RLAPI TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size); // Generate prefilter texture using cubemap data |
|
|
|
RLAPI Texture2D GenTextureBRDF(Shader shader, int size); // Generate BRDF texture |
|
|
|
|
|
|
|
// Shading begin/end functions |
|
|
@ -514,13 +567,14 @@ RLAPI void SetMasterVolume(float volume); // Set mas |
|
|
|
|
|
|
|
// Wave/Sound loading/unloading functions |
|
|
|
RLAPI Wave LoadWave(const char *fileName); // Load wave data from file |
|
|
|
RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. "wav" |
|
|
|
RLAPI Sound LoadSound(const char *fileName); // Load sound from file |
|
|
|
RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data |
|
|
|
RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount);// Update sound buffer with new data |
|
|
|
RLAPI void UnloadWave(Wave wave); // Unload wave data |
|
|
|
RLAPI void UnloadSound(Sound sound); // Unload sound |
|
|
|
RLAPI void ExportWave(Wave wave, const char *fileName); // Export wave data to file |
|
|
|
RLAPI void ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h) |
|
|
|
RLAPI bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success |
|
|
|
RLAPI bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success |
|
|
|
|
|
|
|
// Wave/Sound management functions |
|
|
|
RLAPI void PlaySound(Sound sound); // Play a sound |
|
|
@ -536,7 +590,8 @@ RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pit |
|
|
|
RLAPI void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format |
|
|
|
RLAPI Wave WaveCopy(Wave wave); // Copy a wave to a new wave |
|
|
|
RLAPI void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range |
|
|
|
RLAPI float *GetWaveData(Wave wave); // Get samples data from wave as a floats array |
|
|
|
RLAPI float *LoadWaveSamples(Wave wave); // Load samples data from wave as a floats array |
|
|
|
RLAPI void UnloadWaveSamples(float *samples); // Unload samples data loaded with LoadWaveSamples() |
|
|
|
|
|
|
|
// Music management functions |
|
|
|
RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file |
|
|
@ -549,7 +604,6 @@ RLAPI void ResumeMusicStream(Music music); // Resume |
|
|
|
RLAPI bool IsMusicPlaying(Music music); // Check if music is playing |
|
|
|
RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) |
|
|
|
RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) |
|
|
|
RLAPI void SetMusicLoopCount(Music music, int count); // Set music loop count (loop repeats) |
|
|
|
RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) |
|
|
|
RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) |
|
|
|
|
|
|
|