30 lines
700 B
GLSL
30 lines
700 B
GLSL
|
#version 430 core
|
||
|
|
||
|
uniform vec3 color;
|
||
|
uniform vec3 lightDir;
|
||
|
uniform vec3 lightColor;
|
||
|
uniform vec3 cameraPos;
|
||
|
|
||
|
uniform float time;
|
||
|
|
||
|
in vec3 vertexNormalOut;
|
||
|
out vec3 vertexPosOut;
|
||
|
out vec4 outColor;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec3 normalizedVertexNormal = normalize(vertexNormalOut);
|
||
|
float intensity = dot(normalizedVertexNormal, -lightDir);
|
||
|
intensity = max(intensity, 0.0);
|
||
|
|
||
|
vec3 viewDir = normalize(cameraPos - vertexPosOut);
|
||
|
vec3 reflectDir = reflect(lightDir, normalizedVertexNormal);
|
||
|
|
||
|
float glossPow = 8;
|
||
|
float specular = pow(max(dot(viewDir, reflectDir), 0.0), glossPow);
|
||
|
|
||
|
float diffuse = intensity;
|
||
|
//outColor = vec4(lightColor * (color * diffuse + specular ), 1.0);
|
||
|
outColor = vec4(1.0);
|
||
|
}
|