27 lines
660 B
GLSL
27 lines
660 B
GLSL
#version 450 core
|
|
|
|
layout (location = 0) in vec3 vNormal;
|
|
layout (location = 1) in vec3 vFragPos;
|
|
|
|
layout(location = 0) out vec4 outColour;
|
|
|
|
vec3 lightColour = {1.0, 1.0, 1.0};
|
|
vec3 lightPos = {12.0, 2.0, 4.0};
|
|
vec3 objectColour = {1.0, 0.74, 0.21};
|
|
|
|
void main() {
|
|
// ambient
|
|
float ambientStrength = 0.1;
|
|
vec3 ambient = ambientStrength * lightColour;
|
|
|
|
// diffuse
|
|
vec3 norm = normalize(vNormal);
|
|
vec3 lightDir = normalize(lightPos - vFragPos);
|
|
float diff = max(dot(norm, lightDir), 0.0);
|
|
vec3 diffuse = diff * lightColour;
|
|
|
|
vec3 result = (ambient + diffuse) * objectColour;
|
|
|
|
outColour = vec4(vNormal + 1.0 / 2.0, 1.0);
|
|
}
|