This one doesn't even have BMF on it

  • PorkrollPosadist [he/him, they/them]M
    ·
    2 years ago

    It would be pretty cool if Hollywood started putting a red filter on every scene which takes place in China, just like how everything turns yellow the second you step foot in Mexico.

        • PaX [comrade/them, they/them]M
          ·
          2 years ago
          moderate amount of GLSL
          // GLSL shader code for portraying different environments in a Hollywood movie.
          // Effects vary based on a switch statement that takes a country name.
          // Includes color desaturation effects that vary based on the country.
          
          uniform float time;
          uniform vec2 resolution;
          uniform sampler2D texture;
          
          void main() {
            vec2 uv = gl_FragCoord.xy / resolution.xy;
            
            // Switch statement for varying effects based on country name.
            switch(country_name) {
              case "USA":
                // USA-specific effects.
                vec3 color = texture2D(texture, uv).rgb;
                vec3 sepia_tint = vec3(0.9, 0.8, 0.7);
                vec3 final_color = mix(color, sepia_tint, 0.2);
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.2);
                
                // Color desaturation effect.
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.2);
                gl_FragColor = vec4(final_color, 1.0);
                break;
              case "China":
                // China-specific effects.
                vec3 color = texture2D(texture, uv).rgb;
                vec3 red_tint = vec3(1.0, 0.2, 0.1);
                vec3 gray = vec3(0.3, 0.3, 0.3);
                vec3 final_color = mix(color, gray, 0.5);
                final_color = mix(final_color, red_tint, 0.2);
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.3);
                
                // Color desaturation effect.
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.3);
                gl_FragColor = vec4(final_color, 1.0);
                break;
              case "Russia":
                // Russia-specific effects.
                vec3 color = texture2D(texture, uv).rgb;
                vec3 gray = vec3(0.3, 0.3, 0.3);
                vec3 cold_tint = vec3(0.7, 0.8, 0.9);
                vec3 final_color = mix(color, gray, 0.4);
                final_color = mix(final_color, cold_tint, 0.2);
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.4);
                
                // Color desaturation effect.
                final_color = mix(final_color, vec3(dot(final_color, vec3(0.2126, 0.7152, 0.0722))), 0.4);
                gl_FragColor = vec4(final_color, 1.0);
                break;
              default:
                // Default effects.
                gl_FragColor = texture2D(texture, uv);
                break;
            }
          }