Anyway to change the mist settings in game using GLSL shading??

I tried to use this below but it only seems to work with multi texture mode not glsl. Is there any alternates guys? I was going to try to use this for going underwater.

bge.render.setMistStart(start)Sets the mist start value. Objects further away than start will have mist applied to them.
bge.render.setMistEnd(end)Sets the mist end value. Objects further away from this will be coloured solid with the colour set by setMistColor().

Well, it works only in GLSL. Since 2.75, though, you can modify world params also in GLSL.

scene = bge.logic.getCurrentScene() = [0.8, 0.8 ,0.2]

This is example they show there.

Thanks for the link. it says below that you can animate the settings. let me try.

When you go underwater, run:

scene = bge.logic.getCurrentScene() = [0.0, 0.4, 0.5] = 5.0

And tweak values, of course.

I still don’t understand if setting mistColor and backgroundColor will make background and mist different. I would also be happy if backgroundColor would accept shader/node output as intput somehow.

I think you should avoid setting intensity to max(1.0), as it will overwrite your mist start/end distance and rendering everything including yourself with color assigned to the mist