Hey Ize, <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">
The color change effect you're seeing in the waterfall is coming from the "Lens" effect on the WaterfallTintParticle object. The Lens zooms the background, but it does so relative to the center of the window area, no matter where the effected object is. As far as I know that is the intended behavior for the Lens shader. It gives you a consistent 3D zoom kind of effect across multiple objects regardless of where they are on the screen.
To your other question, yes, you could modify the shaders yourself to get the behavior your looking for. As Ashley mentioned this can get a little complicated. If you want to counteract layout translation, rotation, and scaling, you'll need to have parameters that allow you to feed the current translation, rotation, and scale info to the shader. Since rotation and scale will have a center point that they are rotating or scaling around, you'll have to have parameters that allow you to feed in those cords as well. But it is doable.
What complicates things is that C2 will sometimes automatically account for the translation, rotation, and scaling of an object when rendering shaders, and other times it won't.
To easily see an example of this,
1. Create a new project.
2. Create a red square, and add the "Scan lines" effect to it.
3. If you rotate the square, you'll notice that the lines rotate with it.
4. Leave the square rotated to a diagonal angle.
5. Now add a "Multiply" effect, and place it *above* the "Scan lines" effect, in the effect list.
6. By being the 2nd item in the effect chain, the "Scan lines" effect no longer rotates or translates with the object.
What you can't see with the "Scan lines" effect is that scale is also no longer driven by the object.
If you want to modify an effect to make it completely immune to those issues, you'll have to account for this sometimes-on sometimes-off behavior in your modification as well, and provide a parameter that allows you to disable some of your translation, rotation, and scaling parameters, so that you don't *double* account for those transformations in cases where C2 is already doing it automatically. Also the Y axis is upside down for effects from slot 2 onwards, so you may need to handle that as well, depending on what kind of directional aspects the effect has.
If you just want to try adding in a pair of translation parameters, which might be enough to solve the translation issue you're seeing in the ripples, parameters are set up in an effect's .xml file. The parameters can then be used as variables in the shader code of the effect's .fx file.
This website http://shdr.bkcore.com/ is an in-browser GLSL editor, and a handy way to test proper compilation of shader code, before trying to open the shader in a project.
One really important thing to know when working in GLSL code, is that, unless you explicitly want a number to be an integer, you must add a decimal point and decimal digit to it, even if the digit is zero. (e.g. Use "27.0" NOT "27") It's weird, but it's one of my most common bugs when I'm coding shaders.
The Construct 2 SDK has a template effect that describes how the various parts of the two effect files work. https://www.scirra.com/manual/15/sdk