Canvas scenery overlays: Difference between revisions

Jump to navigation Jump to search
Line 350: Line 350:
=== Base Package ===
=== Base Package ===
<syntaxhighlight lang="diff">
<syntaxhighlight lang="diff">
diff --git a/Shaders/default.frag b/Shaders/default.frag
index 1c3fbaf..e9ede17 100644
--- a/Shaders/default.frag
+++ b/Shaders/default.frag
@@ -7,6 +7,7 @@ varying vec4 diffuse_term;
varying vec3 normal;
uniform sampler2D texture;
+uniform sampler2D overlay;
////fog "include" /////
uniform int fogType;
@@ -50,8 +51,10 @@ void main()
    // is closer to what the OpenGL fixed function pipeline does.
    color = clamp(color, 0.0, 1.0);
    texel = texture2D(texture, gl_TexCoord[0].st);
+    vec4 texel2 = texture2D(overlay, gl_TexCoord[3].st);
+    texel = mix(texel, texel2, texel2.a);
    fragColor = color * texel + specular;
    fragColor.rgb = fog_Func(fragColor.rgb, fogType);
    gl_FragColor = fragColor;
-}
\ No newline at end of file
+}
diff --git a/Shaders/default.vert b/Shaders/default.vert
index 1bc2405..94f5c44 100644
--- a/Shaders/default.vert
+++ b/Shaders/default.vert
@@ -30,6 +30,8 @@ uniform int colorMode;
void main()
{
    gl_Position = ftransform();
+    gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;   
+    gl_TexCoord[3] = gl_TextureMatrix[3] * gl_MultiTexCoord3;
    gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
    normal = gl_NormalMatrix * gl_Normal;
    vec4 ambient_color, diffuse_color;
</syntaxhighlight>
</syntaxhighlight>


Navigation menu