SPIRV-Cross/shaders-hlsl/frag/sampler-image-arrays.frag

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]);
}