Shaders That Behave Realistically