예제 #1
0
 public Interaction(PBRPoint3 po, PBRNormals normal, PBRVector3 err, PBRVector3 w, float t)
 {
     _time   = t;
     _normal = new PBRNormals(normal);
     _oError = new PBRVector3(err);
     wo      = new PBRVector3(w);
     _p      = new PBRPoint3(po);
 }
예제 #2
0
    public static PBRNormals FaceForward(PBRNormals a, PBRNormals b)
    {
        float d = Dot(a, b);

        if (d < 0)
        {
            return(-a);
        }
        return(-b);
    }
예제 #3
0
 public static PBRNormals PBRNormalize(PBRNormals n)
 {
     return(n / n.Length());
 }
예제 #4
0
 public PBRNormals(PBRNormals p) : base(p)
 {
 }