Book Image

Android NDK: Beginner's Guide

By : Sylvain Ratabouil
Book Image

Android NDK: Beginner's Guide

By: Sylvain Ratabouil

Overview of this book

Table of Contents (18 chapters)
Android NDK Beginner's Guide Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

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();
    
        TextureProperties* loadTexture(Resource& pResource);
    
    private:
        ...
        int32_t mRenderWidth; int32_t mRenderHeight;
        EGLDisplay mDisplay; EGLSurface mSurface; EGLContext mContext;
    
        TextureProperties...