Sat, 08 Mar 2014 13:55:46 +0200
added LICENSE and README.md files
#version 330 uniform sampler2D diffuse_tex; uniform sampler2D normal_tex; uniform sampler2D depth_tex; uniform mat3 world_to_view; // for transforming normals struct PointLight { vec3 intensity; vec3 position; }; uniform PointLight point_light; uniform vec3 ambient; smooth in vec3 position; smooth in vec2 texcoord; out vec4 output_color; vec3 ShadePointLight(PointLight point_light, vec3 position, vec3 normal, vec3 diffuse) { float dist = distance(point_light.position, position); vec3 light = normalize(point_light.position - position); float NdotL = clamp(dot(light, normal), 0.0f, 1.0f); float attenuation = 1.0f / (1.0f + dist * dist); return point_light.intensity * diffuse * NdotL * attenuation; //return vec3(position.z * 0.01); //return diffuse; } void main() { vec4 diffuse = texture(diffuse_tex, texcoord); vec3 normal = texture(normal_tex, texcoord).xyz; float depth = texture(depth_tex, texcoord).x; vec3 pos = position; pos.z += depth; vec3 norm = world_to_view * normal; output_color = vec4(ShadePointLight(point_light, pos, norm, diffuse.xyz) + ambient * diffuse.xyz, diffuse.a); //output_color = vec4(0.0f, 1.0f, 0.0f, 0.5f); }