[ad_1]
Hello,
My traffic light model has some dark faces and I can’t seem to understand why?
I am using OpenGL.
This is my fragment shader:
#version 330 core
out vec4 FragColor;
in vec2 texCoord;
uniform sampler2D texture;
in vec3 color;
in vec3 normal;
in vec3 fragPos;
uniform vec3 lightColor;
uniform vec3 lightPos;
uniform vec3 viewPos;
void main()
{
float ambientStrength = 0.8;
float specularStrength = 0.2;
float constant = 1.0f;
float linearr = 0.09;
float quadratic = 0.032;
float distance = length(lightPos - fragPos);
float attenuation = 1.0 / (constant + linearr * distance +
quadratic * (distance * distance));
vec3 ambient = lightColor * ambientStrength;
vec3 norm = normalize(normal);
vec3 lightDir = normalize(lightPos - fragPos);
float diff = max(dot(norm, lightDir), 0.0);
vec3 diffuse = diff * lightColor;
vec3 viewDir = normalize(viewPos - fragPos);
vec3 reflectDir = reflect(-lightDir, norm);
float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32);
vec3 specular = specularStrength * spec * lightColor;
diffuse *= attenuation;
specular *= attenuation;
vec3 result = (ambient + diffuse + specular) * color * texture(texture, texCoord).rgb;
FragColor = vec4(result, 1.0);
}
I uploaded my traffic light mesh on GitHub here:
https://github.com/hazh10/traffic/blob/main/trafficlight2.obj
Can someone explain why this happens because this doesn’t happen to any of the other meshes?
[ad_2]