34 строки
851 B
GLSL
34 строки
851 B
GLSL
#version 450
|
|
|
|
layout(location = 0) out vec4 FragColor;
|
|
layout(location = 0) flat in vec2 vTex;
|
|
layout(location = 1) flat in int vIndex;
|
|
layout(binding = 0) uniform sampler2D uSampler[4];
|
|
layout(binding = 4) uniform sampler uSamplers[4];
|
|
layout(binding = 8) uniform texture2D uTextures[4];
|
|
|
|
vec4 sample_from_argument(sampler2D samplers[4])
|
|
{
|
|
return texture(samplers[vIndex], vTex + 0.2);
|
|
}
|
|
|
|
vec4 sample_single_from_argument(sampler2D samp)
|
|
{
|
|
return texture(samp, vTex + 0.3);
|
|
}
|
|
|
|
vec4 sample_from_global()
|
|
{
|
|
return texture(uSampler[vIndex], vTex + 0.1);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
FragColor = vec4(0.0);
|
|
FragColor += texture(sampler2D(uTextures[2], uSamplers[1]), vTex);
|
|
FragColor += texture(uSampler[vIndex], vTex);
|
|
FragColor += sample_from_global();
|
|
FragColor += sample_from_argument(uSampler);
|
|
FragColor += sample_single_from_argument(uSampler[3]);
|
|
}
|