'GL_VERTIEX_SHADER'未在此范围内声明 - 当它是< - 这是一个错字。

时间:2015-01-09 20:01:18

标签: c++

这真的很奇怪,

glew.h第1752行:

#define GL_VERTEX_SHADER 0x8B31

在GL_VERSION_2_0标题后面

我有这段代码:

    GLenum err = glewInit();
    if(GLEW_OK != err)  {
         ::std::cout<<"Error: "<<glewGetErrorString(err)<<"\n";
    }
    //GLuint shader = glCreateShader(GL_VERTIEX_SHADER); <--FAILS
    GLuint shader = glCreateShader(0x8b31); <--WORKS
    ::std::cout<<"Shader: "<<shader<<"\n"<<"Errorstr: "<<
        glewGetErrorString(glGetError())<<"\n";
#ifdef GL_VERSION_2_0
        ::std::cout<<"OKAY I have 2.0\n";
#endif
    ::std::cout<<glGetString(GL_VERSION)<<"\n";    

输出:

Shader: 1
Errorstr: No error
OKAY I have 2.0
4.4.0 NVIDIA 331.38

如果我使用GL_VERTEX_SHADER但是我找不到符号,奇怪的是我的IDE也找不到它。

1 个答案:

答案 0 :(得分:1)

我刚注意到,我实际拼写了#34; VERTEX&#34;错误。它现在有效。我觉得很傻。

虽然

,但是有一个标题让我看到了