- { FRAGMENT, "gl_FragColor", "vec4", "frag_color", "g" },
- { FRAGMENT, "frag_color", "vec4", "basic_color", "!e!l" },
- { FRAGMENT, "frag_color", "vec4", "vec4(rgb_surface, surface_alpha)", "!el" },
- { FRAGMENT, "frag_color", "vec4", "vec4(rgb_surface+rgb_reflection, surface_alpha)", "e" },
+ { FRAGMENT, "gl_FragColor", "vec4", "frag_color", 0 },
+ { FRAGMENT, "frag_color", "vec4", "incoming_color", "!f" },
+ { FRAGMENT, "frag_color", "vec4", "vec4(mix(fog_color.rgb, incoming_color.rgb, fog_value), incoming_color.a)", "f" },
+ { FRAGMENT, "fog_value", "float", "exp(-fog_coord*fog_density)", 0 },
+
+ { FRAGMENT, "incoming_color", "vec4", "basic_color", "!e!l" },
+ { FRAGMENT, "incoming_color", "vec4", "vec4(rgb_surface, surface_alpha)", "!el" },
+ { FRAGMENT, "incoming_color", "vec4", "vec4(rgb_surface+rgb_reflection, surface_alpha)", "e" },