38 lines
765 B
GLSL
38 lines
765 B
GLSL
#version 450
|
|
|
|
layout (binding = 1) uniform sampler2D samplerColor;
|
|
layout (binding = 2) uniform sampler2D samplerColor_ex;
|
|
|
|
layout (location = 0) in vec2 inUV;
|
|
layout (location = 1) in vec3 inNormal;
|
|
|
|
|
|
layout (location = 0) out vec4 outFragColor;
|
|
|
|
void main()
|
|
{
|
|
vec4 color = texture(samplerColor, inUV);
|
|
vec4 color_ex = texture(samplerColor_ex, inUV);
|
|
|
|
vec3 N = normalize(inNormal);
|
|
|
|
vec4 textureColor = color;
|
|
|
|
//if (textureColor.a < 0.1)
|
|
//{
|
|
//textureColor = vec4(0.2, 0.2, 0.2, 0.5);
|
|
// discard;
|
|
//}
|
|
|
|
// ¼ÆËãÓë (0,0,1) µÄµã³Ë
|
|
float ndot = dot(N, vec3(0.0, 0.0, -1.0));
|
|
|
|
// ±£Ö¤½á¹û >= 0
|
|
ndot = max(ndot, 0.0);
|
|
|
|
vec4 blendedColor = mix(color_ex, color, ndot);
|
|
|
|
outFragColor = blendedColor;
|
|
|
|
// outFragColor = vec4(1, 0, 0, 1);
|
|
} |