Package jpbrt.core

Examples of jpbrt.core.Normal


        double f = N.dot(d2Pduv);
        double g = N.dot(d2Pdvv);
       
        // compute dndu and dndv from fundamental form coefficients
        double invEGF2 = 1.0 / (E*G - F*F);
        Normal dndu = new Normal(dpdu.mul( (f*F - e*G) * invEGF2 ).addLocal( dpdv.mul((e*F - f*E) * invEGF2) ));
        Normal dndv = new Normal(dpdu.mul( (g*F - f*G) * invEGF2 ).addLocal( dpdv.mul((f*F - g*E) * invEGF2) ));
       
        // initialize DifferentialGeometry from parametric information
        result.dg = new DifferentialGeometry(
                objectToWorld.transform(phit),
                objectToWorld.transform(dpdu),
View Full Code Here


        double tv = b0 * uvs[0][1] + b1 * uvs[1][1] + b2 * uvs[2][1];
       
        // test intersection against alpha texture, if present
        if (mesh.alphaTex != null)
        {
            Normal zeroN = new Normal(0, 0, 0);
            DifferentialGeometry dgLocal = new DifferentialGeometry(ray.eval(t), dpdu, dpdv, zeroN, zeroN, tu, tv, this);
            if (mesh.alphaTex.evaluate(dgLocal) == 0)
                return result;
        }
       
        // fill in DifferetialGeometry from triangle hit
        Normal zeroN = new Normal(0, 0, 0);
        DifferentialGeometry dg = new DifferentialGeometry(ray.eval(t), dpdu, dpdv, zeroN, zeroN, tu, tv, this);
       
        result.dg = dg;
        result.tHit = t;
        result.rayEpsilon = 1e-3 * t;
 
View Full Code Here

TOP

Related Classes of jpbrt.core.Normal

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.