Platformer in OpenGL
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 

25 rader
506 B

#version 150
in vec4 fPosition;
in vec4 fColor;
in vec4 fLightPosition;
in vec3 fNormal;
// output
out vec4 color;
void main(void)
{
vec3 o =-normalize(fPosition.xyz);
vec3 n = normalize(fNormal);
vec3 r = reflect(o,n);
vec3 l = normalize(fLightPosition.xyz-fPosition.xyz);
float ambient = 0.1;
float diffus = 0.7*max(0.0,dot(n,l));
float specular = 0.6*pow(max(0.0,-dot(r,l)),4.0);
color = fColor * ( ambient + diffus + specular );
/*color = vec3(1,0,0);*/
}