stk-code_catmod/data/shaders/detailledobject_pass2.frag

34 lines
732 B
GLSL
Raw Normal View History

2014-08-18 11:49:44 -04:00
#ifdef GL_ARB_bindless_texture
layout(bindless_sampler) uniform sampler2D Albedo;
layout(bindless_sampler) uniform sampler2D Detail;
#else
2014-01-25 19:56:08 -05:00
uniform sampler2D Albedo;
uniform sampler2D Detail;
2014-08-18 11:49:44 -04:00
#endif
#if __VERSION__ >= 130
2014-01-25 19:56:08 -05:00
in vec2 uv;
in vec2 uv_bis;
out vec4 FragColor;
#else
varying vec2 uv;
varying vec2 uv_bis;
#define FragColor gl_FragColor
#endif
2014-03-21 13:36:47 -04:00
vec3 getLightFactor(float specMapValue);
2014-01-25 19:56:08 -05:00
void main(void)
{
vec4 color = texture(Albedo, uv);
2014-08-18 11:49:44 -04:00
#ifdef GL_ARB_bindless_texture
#ifdef SRGBBindlessFix
2014-08-18 11:49:44 -04:00
color.xyz = pow(color.xyz, vec3(2.2));
#endif
2014-08-18 11:49:44 -04:00
#endif
2014-03-21 13:36:47 -04:00
vec4 detail = texture(Detail, uv_bis);
color *= detail;
vec3 LightFactor = getLightFactor(1. - color.a);
FragColor = vec4(color.xyz * LightFactor, 1.);
2014-01-25 19:56:08 -05:00
}