12345678910111213141516171819202122232425262728293031323334 |
- #version 430
- layout (binding = 1) uniform sampler2D worldPositionSamp;
- layout (binding = 2) uniform sampler2D worldNormalSamp;
- layout (binding = 3) uniform sampler2D worldColorSamp;
- in vec2 varTextureCoord;
- out vec4 color;
- vec3 lightPosition = vec3(16, 20, 16);
- vec3 lightColor = vec3(1, 1, 1);
- uniform vec3 viewPos;
- void main()
- {
- // retrieve data from G-buffer
- vec3 FragPos = texture(worldPositionSamp, varTextureCoord).rgb;
- vec3 Normal = texture(worldNormalSamp, varTextureCoord).rgb;
- vec3 Albedo = vec3(1, 1, 1);//texture(gAlbedoSpec, TexCoords).rgb;
- float Specular = 0.7;//texture(gAlbedoSpec, TexCoords).a;
-
- // then calculate lighting as usual
- vec3 lighting = Albedo * 0.1; // hard-coded ambient component
- vec3 viewDir = normalize(viewPos - FragPos);
- //for(int i = 0; i < NR_LIGHTS; ++i)
- //{
- // diffuse
- vec3 lightDir = normalize(lightPosition - FragPos);
- vec3 diffuse = max(dot(Normal, lightDir), 0.0) * Albedo * lightColor;
- lighting += diffuse;
- //}
-
- color = vec4(lighting, 1.0) * texture(worldColorSamp, varTextureCoord);
- }
|