Files
bens-engine/build/assets/shaders/basic.frag
T
2026-09-06 21:15:01 +02:00

25 lines
602 B
GLSL

#version 330 core
in vec3 vNormal;
in vec3 vWorldPos;
uniform vec3 uBaseColor;
uniform vec3 uLightDir;
uniform vec3 uViewPos;
out vec4 fragColor;
void main() {
vec3 normal = normalize(vNormal);
vec3 lightDir = normalize(-uLightDir);
float diffuse = max(dot(normal, lightDir), 0.0);
float ambient = 0.12;
vec3 viewDir = normalize(uViewPos - vWorldPos);
vec3 halfway = normalize(lightDir + viewDir);
float specular = pow(max(dot(normal, halfway), 0.0), 32.0) * 0.3;
vec3 color = uBaseColor * (ambient + diffuse) + vec3(specular);
fragColor = vec4(color, 1.0);
}