我最近在我的Windows机器上使用OpenGL编写了一个基本的渲染引擎,一切都运行正常。不幸的是,当我试图把它带到运行Ubuntu 12.04的笔记本电脑上时出现了一些复杂问题,最初链接设置和库是问题,但我设法解决了所有问题,我目前的问题是编译GLSL着色器,当时我编译了顶点和片段着色器,我得到以下错误。
' 0:2(14):预处理器错误:语法错误,意外IDENTIFIER,期待NEWLINE
'
这是我的顶点着色器的代码。
#version 330 core
layout(location = 0) in vec3 position;
layout(location = 1) in vec2 uv;
layout(location = 2) in vec3 normal;
struct DirectionalLight{
vec3 direction;
vec3 color;
vec3 ambient;
};
uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform DirectionalLight dLight;
out vec2 iUv;
out vec3 iPosition;
out vec3 iNormal;
out vec3 lightDir;
void main()
{
iUv = uv;
iPosition = vec3(viewMatrix * modelMatrix * vec4(position,1));
iNormal = normal;
lightDir = vec3(normalize(viewMatrix * vec4(dLight.direction, 0)));
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position,1);
}
有什么想法吗?
答案 0 :(得分:0)
答案 1 :(得分:-1)
在我改变的情况下
#version 330 core
到
#version 330
帮助。