29 lines
646 B
GLSL
29 lines
646 B
GLSL
#version 450
|
|
|
|
precision mediump float;
|
|
|
|
|
|
layout (location = TEXCOORD0) in vec3 f_uv;
|
|
layout (location = SV_Target0) out vec4 frag_color;
|
|
|
|
#ifdef CUBEMAP
|
|
layout (binding = 0) uniform samplerCube tex_image;
|
|
#else
|
|
layout (binding = 0) uniform sampler2D tex_image;
|
|
#endif
|
|
|
|
layout (binding = 0, std140) uniform globals {
|
|
vec4 color;
|
|
vec4 target_lod;
|
|
};
|
|
|
|
void main()
|
|
{
|
|
#ifdef CUBEMAP
|
|
frag_color = textureLod(tex_image, f_uv, target_lod.x) * vec4(color.xyz, 1.0);
|
|
#else
|
|
frag_color = textureLod(tex_image, f_uv.xy, target_lod.x) * vec4(color.rgb, 1.0);
|
|
#endif
|
|
frag_color.a = color.a < 1.0 ? 1.0 : frag_color.a;
|
|
}
|