nvidia compatible + water shader refactoring