pub fn nrm_faceforward_vec3(n: &Normal3f, v: &Vector3f) -> Normal3f {
    if nrm_dot_vec3f(n, v) < 0.0 as Float {
        -(*n)
    } else {
        *n
    }
}
/// Flip a surface normal so that it lies in the same hemisphere as a
/// given vector.
Flip a surface normal so that it lies in the same hemisphere as a
given vector.
Flip a surface normal so that it lies in the same hemisphere as a given vector .
pub fn nrm_faceforward_vec3(n: &Normal3f, v: &Vector3f) -> Normal3f {
    if nrm_dot_vec3f(n, v) < 0.0 as Float {
        -(*n)
    } else {
        *n
    }
}
pub fn nrm_faceforward_vec3 ( n : & Normal3f , v : & Vector3f ) -> Normal3f { if nrm_dot_vec3f ( n , v ) < 0.0 as Float { - ( * n ) } else { * n } }
Flip a surface normal so that it lies in the same hemisphere as a
given vector.
Flip a surface normal so that it lies in the same hemisphere as a given vector .
n
&Normal3f
v
&Vector3f