“GL_VERTIEX_SHADER”没有在这个范围内声明 - 当它是< - 这是一个错字

‘GL_VERTIEX_SHADER’ was not declared in this scope - when it is <--It was a typo.

本文关键字:一个 声明 SHADER VERTIEX GL 范围内      更新时间:2023-10-16

这真的很奇怪,

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.0n";
#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 也找不到它。

我刚刚注意到,我实际上拼写错误"VERTEX"。它现在有效。我觉得真的很傻。

需要一个标题让我看到这一点