/////////////////////////////////////////////////////////////////////////////// // return renderbuffer parameters as string using glGetRenderbufferParameteriv /////////////////////////////////////////////////////////////////////////////// std::string getRenderbufferParameters(GLuint id) { if (glIsRenderbuffer(id) == GL_FALSE) return "Not Renderbuffer object"; int width, height, format; std::string formatName; glBindRenderbuffer(GL_RENDERBUFFER, id); glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &width); // get renderbuffer width glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &height); // get renderbuffer height glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_INTERNAL_FORMAT, &format); // get renderbuffer internal format glBindRenderbuffer(GL_RENDERBUFFER, 0); formatName = convertInternalFormatToString(format); std::stringstream ss; ss << width << "x" << height << ", " << formatName << "(" << format << ")"; return ss.str(); }
/////////////////////////////////////////////////////////////////////////////// // return texture parameters as string using glGetTexLevelParameteriv() /////////////////////////////////////////////////////////////////////////////// std::string testApp::getTextureParameters(GLuint id) { if(glIsTexture(id) == GL_FALSE) return "Not texture object"; int width, height, format; std::string formatName; glBindTexture(GL_TEXTURE_2D, id); glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width); // get texture width glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height); // get texture height glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format); // get texture internal format glBindTexture(GL_TEXTURE_2D, 0); formatName = convertInternalFormatToString(format); std::stringstream ss; ss << width << "x" << height << ", " << formatName; return ss.str(); }
/////////////////////////////////////////////////////////////////////////////// // return texture parameters as string using glGetTexLevelParameteriv() /////////////////////////////////////////////////////////////////////////////// std::string getTextureParameters(GLuint id) { #ifndef BUILD_IOS if (glIsTexture(id) == GL_FALSE) return "Not texture object"; int width, height, format; std::string formatName; glBindTexture(GL_TEXTURE_2D, id); glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width); // get texture width glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height); // get texture height glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format); // get texture internal format glBindTexture(GL_TEXTURE_2D, 0); formatName = convertInternalFormatToString(format); std::stringstream ss; ss << width << "x" << height << ", " << formatName << "(" << format << ")"; return ss.str(); #else return "not supported in IOS OpenGLES2.0"; #endif }