Beginners_-_CreateandDrawinside_Texture.c 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "raylib.h"
  2. int main(void)
  3. {
  4. // Initialization
  5. //--------------------------------------------------------------------------------------
  6. const int screenWidth = 800;
  7. const int screenHeight = 450;
  8. InitWindow(screenWidth, screenHeight, "raylib [core] example - generate random values");
  9. // Create a Image in memory
  10. RenderTexture2D target = LoadRenderTexture(screenWidth, screenHeight);
  11. // Clear our texture(image) before entering the game loop
  12. BeginTextureMode(target);
  13. ClearBackground(BLUE);
  14. // Draw something on it.
  15. DrawCircle(50,50, 10, BLACK);
  16. EndTextureMode(); // This needs to be called after every different draw command used. Do not forget to use begintexture also..
  17. SetTargetFPS(60); // Set our game to run at 60 frames-per-second
  18. //--------------------------------------------------------------------------------------
  19. // Main game loop
  20. while (!WindowShouldClose()) // Detect window close button or ESC key
  21. {
  22. // Update
  23. //----------------------------------------------------------------------------------
  24. //----------------------------------------------------------------------------------
  25. // Draw
  26. //----------------------------------------------------------------------------------
  27. BeginDrawing();
  28. ClearBackground(RAYWHITE);
  29. // NOTE: Render texture must be y-flipped due to default OpenGL coordinates (left-bottom)
  30. DrawTextureRec(target.texture, (Rectangle){ 0, 0, target.texture.width, -target.texture.height }, (Vector2){ 0, 0 }, WHITE);
  31. DrawText("Example of how to draw into a image/texture.", 100, 180, 40, LIGHTGRAY);
  32. EndDrawing();
  33. //----------------------------------------------------------------------------------
  34. }
  35. // De-Initialization
  36. //--------------------------------------------------------------------------------------
  37. UnloadRenderTexture(target); // Unload render texture
  38. //--------------------------------------------------------------------------------------
  39. CloseWindow(); // Close window and OpenGL context
  40. //--------------------------------------------------------------------------------------
  41. return 0;
  42. }