2023-11-04 13:51:39 +00:00
|
|
|
#version 450
|
|
|
|
#extension GL_ARB_separate_shader_objects : enable
|
|
|
|
|
|
|
|
#ifdef TW_TILE_TEXTURED
|
|
|
|
layout(binding = 0) uniform sampler2DArray gTextureSampler;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
layout(push_constant) uniform SVertexColorBO {
|
|
|
|
layout(offset = 64) uniform vec4 gVertColor;
|
|
|
|
} gColorBO;
|
|
|
|
|
|
|
|
#ifdef TW_TILE_TEXTURED
|
2023-12-16 22:43:22 +00:00
|
|
|
layout (location = 0) noperspective centroid in vec3 TexCoord;
|
2023-11-04 13:51:39 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
layout (location = 0) out vec4 FragClr;
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
#ifdef TW_TILE_TEXTURED
|
|
|
|
vec3 realTexCoords = vec3(fract(TexCoord.xy), TexCoord.z);
|
|
|
|
vec2 dx = dFdx(TexCoord.xy);
|
|
|
|
vec2 dy = dFdy(TexCoord.xy);
|
|
|
|
vec4 tex = textureGrad(gTextureSampler, realTexCoords, dx, dy);
|
|
|
|
FragClr = tex * gColorBO.gVertColor;
|
|
|
|
#else
|
|
|
|
FragClr = gColorBO.gVertColor;
|
|
|
|
#endif
|
|
|
|
}
|