添加双纹理采样
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#version 450
|
#version 450
|
||||||
|
|
||||||
layout (binding = 1) uniform sampler2D samplerColor;
|
layout (binding = 1) uniform sampler2D samplerColor;
|
||||||
|
layout (binding = 2) uniform sampler2D samplerColor_ex;
|
||||||
|
|
||||||
layout (location = 0) in vec2 inUV;
|
layout (location = 0) in vec2 inUV;
|
||||||
layout (location = 1) in vec3 inNormal;
|
layout (location = 1) in vec3 inNormal;
|
||||||
@@ -11,16 +12,27 @@ layout (location = 0) out vec4 outFragColor;
|
|||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec4 color = texture(samplerColor, inUV);
|
vec4 color = texture(samplerColor, inUV);
|
||||||
|
vec4 color_ex = texture(samplerColor_ex, inUV);
|
||||||
|
|
||||||
vec3 N = normalize(inNormal);
|
vec3 N = normalize(inNormal);
|
||||||
|
|
||||||
vec4 textureColor = color;
|
vec4 textureColor = color;
|
||||||
if (textureColor.a < 0.1) {
|
|
||||||
|
//if (textureColor.a < 0.1)
|
||||||
|
//{
|
||||||
//textureColor = vec4(0.2, 0.2, 0.2, 0.5);
|
//textureColor = vec4(0.2, 0.2, 0.2, 0.5);
|
||||||
discard;
|
// discard;
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
// ¼ÆËãÓë (0,0,1) µÄµã³Ë
|
||||||
|
float ndot = dot(N, vec3(0.0, 0.0, -1.0));
|
||||||
|
|
||||||
|
// ±£Ö¤½á¹û >= 0
|
||||||
|
ndot = max(ndot, 0.0);
|
||||||
|
|
||||||
outFragColor = textureColor;
|
vec4 blendedColor = mix(color_ex, color, ndot);
|
||||||
|
|
||||||
|
outFragColor = blendedColor;
|
||||||
|
|
||||||
// outFragColor = vec4(1, 0, 0, 1);
|
// outFragColor = vec4(1, 0, 0, 1);
|
||||||
}
|
}
|
||||||
Binary file not shown.
Reference in New Issue
Block a user