获取glsl version

直接上代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void getGlslVersion(int* major, int* minor)
{
    int gl_major, gl_minor;
    getGlVersion(&gl_major, &gl_minor);

    *major = *minor = 0;

    if (gl_major == 1) {
        // GL v1.x can only provide GLSL v1.00 as an extension
        const char* extstr = (const char*)glGetString(GL_EXTENSIONS);
        if ((extstr != NULL) &&
            (strstr(extstr, "GL_ARB_shading_lanuage_100") != NULL)) {
            *major = 1;
            *minor = 0;
        }
    } else if (gl_major >= 2) {
        // GL v2.0 and greater must parse the version string
        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");
        }
    }
}

ubuntu 10.04 beta Fail to query the GLX server vendor

1
2
3
4
5
6
7
8
unlink /usr/lib/libGL.so
unlink /usr/lib/libGL.so.1
unlink
/usr/lib64/libGL.so
unlink /usr/lib64/libGL.so.1

ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so.1
ln -s /usr/lib64/nvidia-current/libGL.so /usr/lib64/libGL.so.1

libcurl http下载时文件不存在的问题

当用libcurl下载http文件不存在的时候,如果使用curl_easy_perform得到的结果也是CURLE_OK ,此时不能通过直接通过返回值来判断结果。

可以使用

1
2
3
4
5
int code = 0;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code);
if (code != 200) {
     // download error
}

kuberntes 快速构建环境操作及流程

Table of Contents kuberntes 快速构建环境操作及流程 创建对应的namespace 添加 harbor project jenkins 自动配置基础组件 jenkins上添加相应的cmp job 创建一个 list view 创建job

高可用部署cmp相关脚本

Table of Contents 高可用部署cmp相关脚本 rightcloud_var_ha rightcloud_env_ha 数据库初始化 注入ip相关的配置 db migration 禁用云环境 运行 高可用部署cmp相关脚本 对于基础组件的部署配置,请参考高可