b += smooth_l * textureOffset(diff_flow_tex, tc, ivec2(-1, 0)).xy;
b += smooth_r * textureOffset(diff_flow_tex, tc, ivec2( 1, 0)).xy;
b += smooth_d * textureOffset(diff_flow_tex, tc, ivec2( 0, -1)).xy;
b += smooth_u * textureOffset(diff_flow_tex, tc, ivec2( 0, 1)).xy;
b += smooth_l * textureOffset(diff_flow_tex, tc, ivec2(-1, 0)).xy;
b += smooth_r * textureOffset(diff_flow_tex, tc, ivec2( 1, 0)).xy;
b += smooth_d * textureOffset(diff_flow_tex, tc, ivec2( 0, -1)).xy;
b += smooth_u * textureOffset(diff_flow_tex, tc, ivec2( 0, 1)).xy;