Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VERTEX
- #version 400
- layout(location = 0) in vec3 position;
- layout(location = 2) in vec3 normal;
- out vec3 pass_colour;
- uniform mat4 transformationMatrix;
- uniform mat4 projectionMatrix;
- uniform mat4 viewMatrix;
- uniform vec3 lightPosition;
- uniform vec3 lightColour;
- void main(void){
- vec4 worldPosition = transformationMatrix * vec4(position, 1.0);
- gl_Position = projectionMatrix * viewMatrix * worldPosition;
- vec3 surfaceNormal = normalize(normal);
- vec3 lightVector = -normalize(lightPosition - worldPosition.xyz);
- float brightness = max(dot(lightVector, surfaceNormal), 0.2);
- vec3 diffuse = brightness * lightColour;
- vec3 lighting = (lightColour * 0.5) + (diffuse * 0.9);
- vec3 colour = vec3(-0.6, 0.5, 0.5);
- pass_colour = colour * lighting;
- }
- FRAGMENT
- #version 400
- in vec3 pass_colour;
- out vec4 out_Colour;
- void main(void) {
- out_Colour = vec4(pass_colour, 1.0f);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement