O'Reilly logo

Android NDK Beginner's Guide - Second Edition by Sylvain Ratabouil

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Time for action – loading a PNG image

Now that libpng is compiled, let's read a real PNG file with it:

  1. Edit jni/GraphicsManager.hpp and include the Resource header file.

    Create a new structure named TextureProperties containing:

    • A resource representing the texture asset
    • An OpenGL texture identifier (which is a kind of handle)
    • A width and a height
      ...
      #include "Resource.hpp"
      #include "Types.hpp"
      ...
      
      struct TextureProperties {
          Resource* textureResource;
          GLuint texture;
          int32_t width;
          int32_t height;
      };
      ...
  2. Append a method loadTexture() to the GraphicsManager to read a PNG and load it into an OpenGL texture.

    Textures are saved in an mTextures array to cache and finalize them.

    ... class GraphicsManager { public: ... status start(); void stop(); status update(); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required