Files
Cubed/assets/shaders/block_f_shader.glsl

36 lines
722 B
GLSL

#version 460
in vec2 tc;
in vec3 normal;
in vec3 vert_pos;
flat in int tex_layer;
out vec4 color;
layout (binding = 0) uniform sampler2DArray samp;
uniform float ambientStrength;
uniform vec3 sunlightColor;
uniform vec3 sunlightDir;
void main(void) {
vec4 objectColor = texture(samp, vec3(tc, tex_layer));
if (objectColor.a < 0.8) {
discard;
}
vec3 lightDir = normalize(sunlightDir);
vec3 ambient = ambientStrength * sunlightColor;
vec3 norm = normalize(normal);
float diff = max(dot(norm, lightDir), 0.0);
vec3 diffuse = diff * sunlightColor;
color = vec4((ambient + diffuse) * objectColor.rgb, objectColor.a);
//color = varyingColor;
}