summaryrefslogtreecommitdiff
path: root/src/renderergl2/glsl/generic_fp.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderergl2/glsl/generic_fp.glsl')
-rw-r--r--src/renderergl2/glsl/generic_fp.glsl43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/renderergl2/glsl/generic_fp.glsl b/src/renderergl2/glsl/generic_fp.glsl
new file mode 100644
index 00000000..dea52e06
--- /dev/null
+++ b/src/renderergl2/glsl/generic_fp.glsl
@@ -0,0 +1,43 @@
+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(RGBE_LIGHTMAP)
+ color2.rgb *= exp2(color2.a * 255.0 - 128.0);
+ 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;
+ }
+#endif
+
+ gl_FragColor = color * var_Color;
+}