Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- in vec3 vNormal;
- in vec2 vTexCoords;
- in vec4 vColour;
- in vec3 vPosition;
- in float depth_space;
- struct Light
- {
- vec4 position;
- vec4 ambient;
- vec4 diffuse;
- vec4 specular;
- };
- void main() {
- vec4 light_colour = vec4(0.0, 0.0, 0.0, 1.0);
- Light lightPoint = Light(
- vec4(256.0, 256.0, 5.0, 1.0),
- vec4(0.5, 0.5, 0.5, 1.0),
- vec4(1.0, 1.0, 1.0, 1.0),
- vec4(1.0, 1.0, 1.0, 1.0));
- vec3 N = normalize(vNormal);
- vec3 E = normalize(-vPosition);
- vec3 L = normalize(lightPoint.position.xyz - vPosition);
- vec3 R = reflect(-L, N);
- float lambertTerm = dot(N,L);
- // This errors
- //vec4 diffuseTerm = lightPoint.diffuse * vec4(lambertTerm, lambertTerm, lambertTerm, 1.0);
- // This DOES NOT error
- vec4 diffuseTerm = lightPoint.diffuse;
- light_colour += diffuseTerm;
- //float specular = pow( max(dot(R, E), 0.0), 1 );
- //light_colour += lightPoint.specular * specular;
- vec4 textureSample = texture(sampler, vTexCoords);
- if(textureSample.a <= 0){
- discard;
- }
- out_Colour = textureSample * vColour * light_colour;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement