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:
- 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. UseGL_NEAREST
, as smoothing is not essential for a 2D game without zoom effects. Texture repetition is also not necessary and can be prevented withGL_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.