Harbor

branch main
showing the latest snapshot on main
group_block.glsl-opengl 775 B · Plain text
shader/tests/golden/group_block.glsl-opengl 0644 Raw
#version 450

layout(std140, binding = 0) uniform camera_Block {
	mat4 view_proj;
	vec3 position;
} camera;
layout(std140, binding = 1) uniform lighting_Block {
	vec3 direction;
	vec3 color;
	float intensity;
} lighting;
layout(binding = 16) uniform sampler2D diffuse_tex;
layout(binding = 18) uniform sampler2D normal_tex;

layout(location = 0) in vec2 in_uv;
layout(location = 0) out vec4 out_color;

void main() {
	vec4 diffuse = texture(diffuse_tex, in_uv);
	vec4 normal_sample = texture(normal_tex, in_uv);
	vec3 n = normalize(((normal_sample.xyz * 2.0) - vec3(1.0, 1.0, 1.0)));
	vec3 l = normalize(lighting.direction);
	float ndotl = max(dot(n, l), 0.0);
	vec3 lit = (((diffuse.rgb * lighting.color) * ndotl) * lighting.intensity);
	out_color = vec4(lit, diffuse.a);
}