+ diffTex = vec4(1);
+ vec4 diffuse = vec4(max(0, dot(lightDir, normal)) * material.diffuse, 1) * diffTex;
+
+ vec3 viewDir = normalize(viewPos - fragPos);
+ vec3 reflectDir = reflect(-lightDir, normal);
+
+
+ vec4 specTex;
+ if (material.hasSpecularMap)
+ specTex = texture(material.specularMap, texCoord);
+ else
+ specTex = vec4(1);
+
+ vec4 specular = vec4(pow(max(0, dot(viewDir, reflectDir)), material.shininess) * material.specular, 1) * specTex;
+
+ vec4 lighting = (vec4(material.ambient, 1) + diffuse + specular) * lightColor;
+