zoukankan      html  css  js  c++  java
  • openGL_Debug收集

    (1)glGetUniformLocation 报错:invalid operator 时,除了常规的program相关错误外,注意shader是否有错误

    (2)万恶的GLSL,由于in 的变量是只读的,我在shader里对in的变量进行更改,导致无名错误调试了好久。FUCK~

    (3)又是Shader出的问题,当一个uniform 变量同shader最终的输出没有任何关系时,编译器会将该变量优化掉,这样就无法提供该变量的location,

        导致glGetUniformLocation函数返回-1

    (4)

    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C2144: syntax error : 'void' should be preceded by ';'
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C2146: syntax error : missing ';' before identifier 'glAccum'
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void'
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';'
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    d:\programs\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1172) : error C2182: 'APIENTRY' : illegal use of type 'void'
    

     类似与这种错误,可能原因是头文件的问题,如果图像界面使用的是windows那一套的,解决方法:在opengl头文件前加

    #include<windows.h>
    #pragma comment(lib, "opengl32.lib")
    

            建议lib显示链接,这样可以免去在代码移植时,配置库的麻烦

    如果使用的是类似glut的头文件,opengl头文件最好放在系统头文件之后

    #include <GL/glew.h>
    #include <GL/freeglut.h>
    #pragma comment(lib,"freeglut.lib")
    #pragma comment(lib,"glew32.lib")
    --------------------------------------------------------------------天道酬勤!
  • 相关阅读:
    NO.6: 若不想编译器提供自动生成的函数,就应该明确拒绝
    NO.5: 了解C++编译器默认为你生成的构造/赋值/析构
    NO.4: 确定对象被使用前已被初始化
    NO.3: 尽量使用const
    NO.2: 尽量以const,enum,inline 替换 #define
    NO.1: 视C++为一个语言联邦
    C/C++ exception类
    C/C++ 类成员函数指针 类成员数据指针
    c++中的 Stl 算法(很乱别看)
    自定义类签发校验token-实现多方式登录-自定义反爬类-admin后台表管理字段自定义-群查接口-搜索-排序-分页
  • 原文地址:https://www.cnblogs.com/graph/p/2750221.html
Copyright © 2011-2022 走看看