You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.8 KiB

  1. -------------------------------------------------------------------------------------------
  2. --
  3. -- raylib [textures] example - Retrieve image data from texture: GetTextureData()
  4. --
  5. -- NOTE: Images are loaded in CPU memory (RAM) textures are loaded in GPU memory (VRAM)
  6. --
  7. -- This example has been created using raylib 1.6 (www.raylib.com)
  8. -- raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
  9. --
  10. -- Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
  11. --
  12. -------------------------------------------------------------------------------------------
  13. -- Initialization
  14. -------------------------------------------------------------------------------------------
  15. local screenWidth = 800
  16. local screenHeight = 450
  17. InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture to image")
  18. -- NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
  19. local image = LoadImage("resources/raylib_logo.png") -- Load image data into CPU memory (RAM)
  20. local texture = LoadTextureFromImage(image) -- Image converted to texture, GPU memory (RAM -> VRAM)
  21. UnloadImage(image) -- Unload image data from CPU memory (RAM)
  22. image = GetTextureData(texture) -- Retrieve image data from GPU memory (VRAM -> RAM)
  23. UnloadTexture(texture) -- Unload texture from GPU memory (VRAM)
  24. texture = LoadTextureFromImage(image) -- Recreate texture from retrieved image data (RAM -> VRAM)
  25. UnloadImage(image) -- Unload retrieved image data from CPU memory (RAM)
  26. -------------------------------------------------------------------------------------------
  27. -- Main game loop
  28. while not WindowShouldClose() do -- Detect window close button or ESC key
  29. -- Update
  30. ---------------------------------------------------------------------------------------
  31. -- TODO: Update your variables here
  32. ---------------------------------------------------------------------------------------
  33. -- Draw
  34. ---------------------------------------------------------------------------------------
  35. BeginDrawing()
  36. ClearBackground(RAYWHITE)
  37. DrawTexture(texture, screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2, WHITE)
  38. DrawText("this IS a texture loaded from an image!", 300, 370, 10, GRAY)
  39. EndDrawing()
  40. ---------------------------------------------------------------------------------------
  41. end
  42. -- De-Initialization
  43. -------------------------------------------------------------------------------------------
  44. UnloadTexture(texture) -- Texture unloading
  45. CloseWindow() -- Close window and OpenGL context
  46. -------------------------------------------------------------------------------------------