Now that libpng
is compiled, let's read a real PNG file with it:
Edit
jni/GraphicsManager.hpp
and include theResource
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; }; ...
Append a method
loadTexture()
to theGraphicsManager
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...