错误C1105:无法调用非功能

Seb*_*nse 0 opengl glsl

我使用了一个着色器,它在另一个程序(在相同的环境中)工作,由于某些原因现在无法编译:

// Vertex Shader
#version 330 core
layout(location = 0) in vec3 vertexPosition_modelspace;
layout(location = 1) in vec2 vertexUV;
out vec2 fragmentUV;
uniform mat4 ortho_matrix;
void main()
{
    gl_Position = ortho_matrix * vec4(vertexPosition_modelspace, 1);
    fragmentUV = vertexUV;
}

// Fragment Shader
#version 330 core
in vec2 fragmentUV;
uniform sampler2D texture;
out vec4 color;
void main()
{
    color.rgba = texture(texture, fragmentUV).rgba;
}
Run Code Online (Sandbox Code Playgroud)

这是一个超级基本的着色器,现在它突然开始抛出错误.

Windows 8.1 Nvidia GeForce 1080(这可能就是新问题吗?)

这是由Visual Studio输出的:

Xir*_*ema 5

uniform sampler2D texture;
out vec4 color;
void main()
{
    color.rgba = texture(texture, fragmentUV).rgba;
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶这在不同的环境中编译.您已将纹理命名为与用于进行纹理查找的函数相同.您需要重命名uniform sampler2D texture;为其他内容.