获取GL版本

 

void getGlVersion(int *major, int *minor)
{
    const char *verstr = (const char *) glGetString(GL_VERSION);
    if ((verstr == NULL) || (sscanf(verstr, "%d.%d", major, minor) != 2))
    {
        *major = *minor = 0;
        fprintf(stderr, "Invalid GL_VERSION format!!!\n");
    }
}
 
void getGlslVersion(int *major, int *minor)
{
    int gl_major, gl_minor;
    getGlVersion(&gl_major, &gl_minor);
 
    *major = *minor = 0;
    if (gl_major == 1)
    {
        const char *extstr = (const char *) glGetString(GL_EXTENSIONS);
        if ((extstr != NULL) &&
            (strstr(extstr, "GL_ARB_shading_language_100") != NULL))
    {
        *major = 1;
        *minor = 0;
    }
    }
    else if (gl_major >= 2)
    {
        const char *verstr = (const char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
 
        if ((verstr == NULL) ||
            (sscanf(verstr, "%d.%d", major, minor) != 2))
        {
            *major = *minor = 0;
            fprintf(stderr, "Invalid GL_SHADING_LANGUAGE_VERSION format!!!\n");
        }
    }
}

 

原文链接:https://blog.csdn.net/weixin_36007665/java/article/details/73555677

 

posted @ 2020-06-03 11:08  狂奔~  阅读(769)  评论(0)    收藏  举报