Time for action – generating an OpenGL texture

The image buffer filled by libpng now contains raw texture data. The next step is to generate a texture from it:

  1. Let's continue our previous method which is GraphicsManager::loadTexture().

    Generate a new texture identifier with glGenTextures().

    Indicate that we are working on a texture with glBindTexture().

    Configure texture parameters with glTexParameteri() to specify the way a texture is filtered and wrapped. Use GL_NEAREST, as smoothing is not essential for a 2D game without zoom effects. Texture repetition is also not necessary and can be prevented with GL_CLAMP_TO_EDGE:

    ...
        png_destroy_read_struct(&pngPtr, &infoPtr, NULL);
        delete[] rowPtrs;
    
        GLenum errorResult;
        glGenTextures(1, &texture);
     glBindTexture(GL_TEXTURE_2D, ...

Get Android NDK Beginner's Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.