diff options
| author | victorfisac <[email protected]> | 2018-03-10 19:10:37 +0100 |
|---|---|---|
| committer | victorfisac <[email protected]> | 2018-03-10 19:10:37 +0100 |
| commit | 8f1d6f38506ff6449866913c6d88b0f25ca2d8f4 (patch) | |
| tree | 659719ef12dbdedd9a51c85af0e43ac327c84b40 /examples/textures | |
| parent | dd50348b4dffe59be03538bdbaf2a3d084426e1f (diff) | |
| parent | df50eada531b54d6771eff81cbe140f9453d54d9 (diff) | |
| download | raylib-8f1d6f38506ff6449866913c6d88b0f25ca2d8f4.tar.gz raylib-8f1d6f38506ff6449866913c6d88b0f25ca2d8f4.zip | |
Merge branch 'master' of github.com:raysan5/raylib into fork/master
Diffstat (limited to 'examples/textures')
| -rw-r--r-- | examples/textures/resources/KAISG.ttf | bin | 0 -> 79912 bytes | |||
| -rw-r--r-- | examples/textures/resources/custom_jupiter_crash.png | bin | 0 -> 23596 bytes | |||
| -rw-r--r-- | examples/textures/textures_image_drawing.c | 8 | ||||
| -rw-r--r-- | examples/textures/textures_image_generation.c | 48 | ||||
| -rw-r--r-- | examples/textures/textures_image_generation.png | bin | 222595 -> 225357 bytes | |||
| -rw-r--r-- | examples/textures/textures_image_text.c | 83 | ||||
| -rw-r--r-- | examples/textures/textures_image_text.png | bin | 0 -> 556322 bytes |
7 files changed, 123 insertions, 16 deletions
diff --git a/examples/textures/resources/KAISG.ttf b/examples/textures/resources/KAISG.ttf Binary files differnew file mode 100644 index 00000000..04478b25 --- /dev/null +++ b/examples/textures/resources/KAISG.ttf diff --git a/examples/textures/resources/custom_jupiter_crash.png b/examples/textures/resources/custom_jupiter_crash.png Binary files differnew file mode 100644 index 00000000..451b591f --- /dev/null +++ b/examples/textures/resources/custom_jupiter_crash.png diff --git a/examples/textures/textures_image_drawing.c b/examples/textures/textures_image_drawing.c index 1c6a1fb9..ac128af9 100644 --- a/examples/textures/textures_image_drawing.c +++ b/examples/textures/textures_image_drawing.c @@ -36,6 +36,14 @@ int main() ImageCrop(&parrots, (Rectangle){ 0, 50, parrots.width, parrots.height - 100 }); // Crop resulting image UnloadImage(cat); // Unload image from RAM + + // Load custom font for frawing on image + SpriteFont font = LoadSpriteFont("resources/custom_jupiter_crash.png"); + + // Draw over image using custom font + ImageDrawTextEx(&parrots, (Vector2){ 300, 230 }, font, "PARROTS & CAT", font.baseSize, -2, WHITE); + + UnloadSpriteFont(font); // Unload custom spritefont (already drawn used on image) Texture2D texture = LoadTextureFromImage(parrots); // Image converted to texture, uploaded to GPU memory (VRAM) UnloadImage(parrots); // Once image has been converted to texture and uploaded to VRAM, it can be unloaded from RAM diff --git a/examples/textures/textures_image_generation.c b/examples/textures/textures_image_generation.c index 8f87e689..790c34f1 100644 --- a/examples/textures/textures_image_generation.c +++ b/examples/textures/textures_image_generation.c @@ -11,7 +11,7 @@ #include "raylib.h" -#define TEXTURES_NUM 7 // for now we have 7 generation algorithms +#define NUM_TEXTURES 7 // Currently we have 7 generation algorithms int main() { @@ -24,13 +24,13 @@ int main() Image verticalGradient = GenImageGradientV(screenWidth, screenHeight, RED, BLUE); Image horizontalGradient = GenImageGradientH(screenWidth, screenHeight, RED, BLUE); - Image radialGradient = GenImageGradientRadial(screenWidth, screenHeight, 0.f, WHITE, BLACK); + Image radialGradient = GenImageGradientRadial(screenWidth, screenHeight, 0.0f, WHITE, BLACK); Image checked = GenImageChecked(screenWidth, screenHeight, 32, 32, RED, BLUE); Image whiteNoise = GenImageWhiteNoise(screenWidth, screenHeight, 0.5f); - Image perlinNoise = GenImagePerlinNoise(screenWidth, screenHeight, 8.f); + Image perlinNoise = GenImagePerlinNoise(screenWidth, screenHeight, 50, 50, 4.0f); Image cellular = GenImageCellular(screenWidth, screenHeight, 32); - Texture2D textures[TEXTURES_NUM]; + Texture2D textures[NUM_TEXTURES]; textures[0] = LoadTextureFromImage(verticalGradient); textures[1] = LoadTextureFromImage(horizontalGradient); textures[2] = LoadTextureFromImage(radialGradient); @@ -38,6 +38,15 @@ int main() textures[4] = LoadTextureFromImage(whiteNoise); textures[5] = LoadTextureFromImage(perlinNoise); textures[6] = LoadTextureFromImage(cellular); + + // Unload image data (CPU RAM) + UnloadImage(verticalGradient); + UnloadImage(horizontalGradient); + UnloadImage(radialGradient); + UnloadImage(checked); + UnloadImage(whiteNoise); + UnloadImage(perlinNoise); + UnloadImage(cellular); int currentTexture = 0; @@ -51,7 +60,7 @@ int main() //---------------------------------------------------------------------------------- if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) { - currentTexture = (currentTexture + 1) % TEXTURES_NUM; // cycle between the 5 textures + currentTexture = (currentTexture + 1)%NUM_TEXTURES; // Cycle between the textures } //---------------------------------------------------------------------------------- @@ -63,24 +72,31 @@ int main() DrawTexture(textures[currentTexture], 0, 0, WHITE); + DrawRectangle(30, 400, 325, 30, Fade(SKYBLUE, 0.5f)); + DrawRectangleLines(30, 400, 325, 30, Fade(WHITE, 0.5f)); + DrawText("MOUSE LEFT BUTTON to CYCLE PROCEDURAL TEXTURES", 40, 410, 10, WHITE); + + switch(currentTexture) + { + case 0: DrawText("VERTICAL GRADIENT", 560, 10, 20, RAYWHITE); break; + case 1: DrawText("HORIZONTAL GRADIENT", 540, 10, 20, RAYWHITE); break; + case 2: DrawText("RADIAL GRADIENT", 580, 10, 20, LIGHTGRAY); break; + case 3: DrawText("CHECKED", 680, 10, 20, RAYWHITE); break; + case 4: DrawText("WHITE NOISE", 640, 10, 20, RED); break; + case 5: DrawText("PERLIN NOISE", 630, 10, 20, RAYWHITE); break; + case 6: DrawText("CELLULAR", 670, 10, 20, RAYWHITE); break; + default: break; + } + EndDrawing(); //---------------------------------------------------------------------------------- } // De-Initialization //-------------------------------------------------------------------------------------- - - // Unload image data (CPU RAM) - UnloadImage(verticalGradient); - UnloadImage(horizontalGradient); - UnloadImage(radialGradient); - UnloadImage(checked); - UnloadImage(whiteNoise); - UnloadImage(perlinNoise); - UnloadImage(cellular); - + // Unload textures data (GPU VRAM) - for (int i = 0; i < TEXTURES_NUM; i++) UnloadTexture(textures[i]); + for (int i = 0; i < NUM_TEXTURES; i++) UnloadTexture(textures[i]); CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/examples/textures/textures_image_generation.png b/examples/textures/textures_image_generation.png Binary files differindex a272b405..398b0462 100644 --- a/examples/textures/textures_image_generation.png +++ b/examples/textures/textures_image_generation.png diff --git a/examples/textures/textures_image_text.c b/examples/textures/textures_image_text.c new file mode 100644 index 00000000..1d4231f7 --- /dev/null +++ b/examples/textures/textures_image_text.c @@ -0,0 +1,83 @@ +/******************************************************************************************* +* +* raylib [texture] example - Image text drawing using TTF generated spritefont +* +* This example has been created using raylib 1.8 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [texture] example - image text drawing"); + + // TTF SpriteFont loading with custom generation parameters + SpriteFont font = LoadSpriteFontEx("resources/KAISG.ttf", 64, 0, 0); + + Image parrots = LoadImage("resources/parrots.png"); // Load image in CPU memory (RAM) + + // Draw over image using custom font + ImageDrawTextEx(&parrots, (Vector2){ 20, 20 }, font, "[Parrots font drawing]", font.baseSize, 0, WHITE); + + Texture2D texture = LoadTextureFromImage(parrots); // Image converted to texture, uploaded to GPU memory (VRAM) + UnloadImage(parrots); // Once image has been converted to texture and uploaded to VRAM, it can be unloaded from RAM + + Vector2 position = { screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2 - 20 }; + + bool showFont = false; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsKeyDown(KEY_SPACE)) showFont = true; + else showFont = false; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + if (!showFont) + { + // Draw texture with text already drawn inside + DrawTextureV(texture, position, WHITE); + + // Draw text directly using sprite font + DrawTextEx(font, "[Parrots font drawing]", (Vector2){ position.x + 20, + position.y + 20 + 280 }, font.baseSize, 0, WHITE); + } + else DrawTexture(font.texture, screenWidth/2 - font.texture.width/2, 50, BLACK); + + DrawText("PRESS SPACE to SEE USED SPRITEFONT ", 290, 420, 10, DARKGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(texture); // Texture unloading + + UnloadSpriteFont(font); // Unload custom spritefont + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +}
\ No newline at end of file diff --git a/examples/textures/textures_image_text.png b/examples/textures/textures_image_text.png Binary files differnew file mode 100644 index 00000000..dafbabfb --- /dev/null +++ b/examples/textures/textures_image_text.png |
