예제 #1
0
파일: FBO.cpp 프로젝트: brianherman/al2
///////////////////////////////////////////////////////////////////////////////
// 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();
    }
예제 #2
0
///////////////////////////////////////////////////////////////////////////////
// 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();
}
예제 #3
0
파일: FBO.cpp 프로젝트: brianherman/al2
///////////////////////////////////////////////////////////////////////////////
// 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
    }