rsp*_*cer 6 opengl shader glsl
我有以下着色器
VertexShader
#version 330
layout (location = 0) in vec3 inPosition;
layout (location = 1) in vec4 inColour;
layout (location = 2) in vec2 inTex;
layout (location = 3) in vec3 inNorm;
uniform mat4 transformationMatrix;
uniform mat4 projectionMatrix;
out vec4 ShadowCoord;
void main()
{
gl_Position = projectionMatrix * transformationMatrix * vec4(inPosition, 1.0);
ShadowCoord = gl_Position;
}
Run Code Online (Sandbox Code Playgroud)
FragmentShader
#version 330
in vec4 ShadowCoord;
out vec4 FragColor;
uniform sampler2D heightmapTexture;
void main()
{
FragColor = vec4(vec3(clamp(ShadowCoord.x/500,0.0,1.0),clamp(gl_FragCoord.y/500,0.0,1.0),0.0),1.0);
}
Run Code Online (Sandbox Code Playgroud)
我期望这样做是绘制场景,左上角是绿色,右上角是黄色,右下角是红色,左下角是黑色.事实上,这是当我更换会发生什么ShadowCoord.x与gl_FragCoord.x我的片段着色器.那么,为什么我只得到一个垂直的绿色渐变?显然,我的ShadowCoord正在发生一些棘手的事情.有人知道这是什么吗?