mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
45 lines
829 B
GLSL
45 lines
829 B
GLSL
uniform sampler2D u_DiffuseMap;
|
|
|
|
#if defined(USE_LIGHTMAP)
|
|
uniform sampler2D u_LightMap;
|
|
|
|
uniform int u_Texture1Env;
|
|
#endif
|
|
|
|
varying vec2 var_DiffuseTex;
|
|
|
|
#if defined(USE_LIGHTMAP)
|
|
varying vec2 var_LightTex;
|
|
#endif
|
|
|
|
varying vec4 var_Color;
|
|
|
|
|
|
void main()
|
|
{
|
|
vec4 color = texture2D(u_DiffuseMap, var_DiffuseTex);
|
|
#if defined(USE_LIGHTMAP)
|
|
vec4 color2 = texture2D(u_LightMap, var_LightTex);
|
|
#if defined(RGBM_LIGHTMAP)
|
|
color2.rgb *= color2.a;
|
|
color2.a = 1.0;
|
|
#endif
|
|
|
|
if (u_Texture1Env == TEXENV_MODULATE)
|
|
{
|
|
color *= color2;
|
|
}
|
|
else if (u_Texture1Env == TEXENV_ADD)
|
|
{
|
|
color += color2;
|
|
}
|
|
else if (u_Texture1Env == TEXENV_REPLACE)
|
|
{
|
|
color = color2;
|
|
}
|
|
|
|
//color = color * (u_Texture1Env.xxxx + color2 * u_Texture1Env.z) + color2 * u_Texture1Env.y;
|
|
#endif
|
|
|
|
gl_FragColor = color * var_Color;
|
|
}
|