繁体   English   中英

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

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

真的很奇怪

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也找不到它。

我刚刚注意到,我实际上拼错了“ VERTEX”。 现在可以使用了。 我真的很傻。

标题让我明白了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM