if (!material.hasNormalMap)
normal = defNormal;
+ vec4 ambient = material.ambient * texture(material.diffuseMap, texCoord);
+ if (!material.hasTexture)
+ ambient = material.ambient;
+
+ ambient = mix(ambient, reflection(), material.reflectivity);
+ ambient = mix(ambient, refraction(), 1 - material.opacity);
+
vec3 lightDir = normalize(lightPos - fragPos);
vec4 diffTex = texture(material.diffuseMap, texCoord);
diffTex = material.diffuse;
diffTex = mix(diffTex, reflection(), material.reflectivity);
-
diffTex = mix(diffTex, refraction(), 1 - material.opacity);
- vec4 ambient = material.ambient * diffTex;
-
vec4 diffuse = max(0, dot(lightDir, normal)) * diffTex;
vec3 viewDir = normalize(viewPos - fragPos);
vec4 specular = pow(max(0, dot(viewDir, reflectDir)), material.shininess) * specTex;
FragColor = (ambient + diffuse + specular) * lightColor;
-
}