summaryrefslogtreecommitdiffhomepage
path: root/cheatsheet
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2020-03-29 13:30:18 +0200
committerraysan5 <[email protected]>2020-03-29 13:30:18 +0200
commit320c615a8a0cbd495f19f1b23a48bb2e7e2a353c (patch)
treeb73effe383170ea26568e20f2762b462d89f1ee5 /cheatsheet
parent20dcf2716d0f6f078117ded0a786587065d47d3d (diff)
downloadraylib.com-320c615a8a0cbd495f19f1b23a48bb2e7e2a353c.tar.gz
raylib.com-320c615a8a0cbd495f19f1b23a48bb2e7e2a353c.zip
Reorganize functions for consistency
Diffstat (limited to 'cheatsheet')
-rw-r--r--cheatsheet/raylib_textures.c169
1 files changed, 88 insertions, 81 deletions
diff --git a/cheatsheet/raylib_textures.c b/cheatsheet/raylib_textures.c
index c9065ab..c1b1646 100644
--- a/cheatsheet/raylib_textures.c
+++ b/cheatsheet/raylib_textures.c
@@ -1,88 +1,95 @@
- // Image/Texture2D data loading/unloading/saving functions
- Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
- Image LoadImageEx(Color *pixels, int width, int height); // Load image from Color array data (RGBA - 32bit)
- Image LoadImagePro(void *data, int width, int height, int format); // Load image from raw data with parameters
- Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
- void ExportImage(Image image, const char *fileName); // Export image data to file
- void ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes
- Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM)
- Texture2D LoadTextureFromImage(Image image); // Load texture from image data
- TextureCubemap LoadTextureCubemap(Image image, int layoutType); // Load cubemap from image, multiple image cubemap layouts supported
- RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer)
- void UnloadImage(Image image); // Unload image from CPU memory (RAM)
- void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM)
- void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
- Color *GetImageData(Image image); // Get pixel data from image as a Color struct array
- Vector4 *GetImageDataNormalized(Image image); // Get pixel data from image as Vector4 array (float normalized)
- Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle
- int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture)
- Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image
- Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot)
- void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data
-
- // Image manipulation functions
- Image ImageCopy(Image image); // Create an image duplicate (useful for transformations)
- Image ImageFromImage(Image image, Rectangle rec); // Create an image from another image piece
- void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two)
- void ImageFormat(Image *image, int newFormat); // Convert image data to desired format
- void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image
- void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color
- void ImageAlphaCrop(Image *image, float threshold); // Crop image depending on alpha value
- void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel
- void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle
- void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm)
- void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm)
+ // Image loading functions
+ // NOTE: This functions do not require GPU access
+ Image LoadImage(const char *fileName); // Load image from file into CPU memory (RAM)
+ Image LoadImageEx(Color *pixels, int width, int height); // Load image from Color array data (RGBA - 32bit)
+ Image LoadImagePro(void *data, int width, int height, int format); // Load image from raw data with parameters
+ Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data
+ void UnloadImage(Image image); // Unload image from CPU memory (RAM)
+ void ExportImage(Image image, const char *fileName); // Export image data to file
+ void ExportImageAsCode(Image image, const char *fileName); // Export image as code file defining an array of bytes
+ Color *GetImageData(Image image); // Get pixel data from image as a Color struct array
+ Vector4 *GetImageDataNormalized(Image image); // Get pixel data from image as Vector4 array (float normalized)
+ Rectangle GetImageAlphaBorder(Image image, float threshold); // Get image alpha border rectangle
+ int GetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture)
+
+ // Image generation functions
+ Image GenImageColor(int width, int height, Color color); // Generate image: plain color
+ Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient
+ Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient
+ Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
+ Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
+ Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
+ Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
+ Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells
+
+ // Image manipulation functions
+ Image ImageCopy(Image image); // Create an image duplicate (useful for transformations)
+ Image ImageFromImage(Image image, Rectangle rec); // Create an image from another image piece
+ Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font)
+ Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font)
+ void ImageToPOT(Image *image, Color fillColor); // Convert image to POT (power-of-two)
+ void ImageFormat(Image *image, int newFormat); // Convert image data to desired format
+ void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image
+ void ImageAlphaClear(Image *image, Color color, float threshold); // Clear alpha channel to desired color
+ void ImageAlphaCrop(Image *image, float threshold); // Crop image depending on alpha value
+ void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel
+ void ImageCrop(Image *image, Rectangle crop); // Crop an image to a defined rectangle
+ void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm)
+ void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm)
void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color color); // Resize canvas and fill with color
- void ImageMipmaps(Image *image); // Generate all mipmap levels for a provided image
- void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
- Color *ImageExtractPalette(Image image, int maxPaletteSize, int *extractCount); // Extract color palette from image to maximum size (memory should be freed)
- Image ImageText(const char *text, int fontSize, Color color); // Create an image from text (default font)
- Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint); // Create an image from text (custom sprite font)
- void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source)
- void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); // Draw rectangle within an image
- void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version)
- void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image
- void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image
- void ImageClearBackground(Image *dst, Color color); // Clear image background with given color
- void ImageDrawPixel(Image *dst, int posX, int posY, Color color); // Draw pixel within an image
- void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version)
- void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle within an image
- void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw circle within an image (Vector version)
+ void ImageMipmaps(Image *image); // Generate all mipmap levels for a provided image
+ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
+ void ImageFlipVertical(Image *image); // Flip image vertically
+ void ImageFlipHorizontal(Image *image); // Flip image horizontally
+ void ImageRotateCW(Image *image); // Rotate image clockwise 90deg
+ void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg
+ void ImageColorTint(Image *image, Color color); // Modify image color: tint
+ void ImageColorInvert(Image *image); // Modify image color: invert
+ void ImageColorGrayscale(Image *image); // Modify image color: grayscale
+ void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100)
+ void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
+ void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
+ Color *ImageExtractPalette(Image image, int maxPaletteSize, int *extractCount); // Extract color palette from image to maximum size (memory should be freed)
+
+ // Image drawing functions
+ // NOTE: Image software-rendering functions (CPU)
+ void ImageClearBackground(Image *dst, Color color); // Clear image background with given color
+ void ImageDrawPixel(Image *dst, int posX, int posY, Color color); // Draw pixel within an image
+ void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version)
void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw line within an image
- void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version)
- void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination)
+ void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version)
+ void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle within an image
+ void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw circle within an image (Vector version)
+ void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color); // Draw rectangle within an image
+ void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version)
+ void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image
+ void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image
+ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source)
+ void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination)
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)
- void ImageFlipVertical(Image *image); // Flip image vertically
- void ImageFlipHorizontal(Image *image); // Flip image horizontally
- void ImageRotateCW(Image *image); // Rotate image clockwise 90deg
- void ImageRotateCCW(Image *image); // Rotate image counter-clockwise 90deg
- void ImageColorTint(Image *image, Color color); // Modify image color: tint
- void ImageColorInvert(Image *image); // Modify image color: invert
- void ImageColorGrayscale(Image *image); // Modify image color: grayscale
- void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100)
- void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
- void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
-
- // Image generation functions
- Image GenImageColor(int width, int height, Color color); // Generate image: plain color
- Image GenImageGradientV(int width, int height, Color top, Color bottom); // Generate image: vertical gradient
- Image GenImageGradientH(int width, int height, Color left, Color right); // Generate image: horizontal gradient
- Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer); // Generate image: radial gradient
- Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2); // Generate image: checked
- Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise
- Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise
- Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm. Bigger tileSize means bigger cells
-
- // Texture2D configuration functions
- void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture
- void SetTextureFilter(Texture2D texture, int filterMode); // Set texture scaling filter mode
- void SetTextureWrap(Texture2D texture, int wrapMode); // Set texture wrapping mode
- // Texture2D drawing functions
- void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D
- void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2
- void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters
- void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle
+ // Texture loading functions
+ // NOTE: These functions require GPU access
+ Texture2D LoadTexture(const char *fileName); // Load texture from file into GPU memory (VRAM)
+ Texture2D LoadTextureFromImage(Image image); // Load texture from image data
+ TextureCubemap LoadTextureCubemap(Image image, int layoutType); // Load cubemap from image, multiple image cubemap layouts supported
+ RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer)
+ void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM)
+ void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
+ void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data
+ Image GetTextureData(Texture2D texture); // Get pixel data from GPU texture and return an Image
+ Image GetScreenData(void); // Get pixel data from screen buffer and return an Image (screenshot)
+
+ // Texture configuration functions
+ void GenTextureMipmaps(Texture2D *texture); // Generate GPU mipmaps for a texture
+ void SetTextureFilter(Texture2D texture, int filterMode); // Set texture scaling filter mode
+ void SetTextureWrap(Texture2D texture, int wrapMode); // Set texture wrapping mode
+
+ // Texture drawing functions
+ void DrawTexture(Texture2D texture, int posX, int posY, Color tint); // Draw a Texture2D
+ void DrawTextureV(Texture2D texture, Vector2 position, Color tint); // Draw a Texture2D with position defined as Vector2
+ void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters
+ void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle
void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint); // Draw texture quad with tiling and offset parameters
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
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