Package jpbrt.core

Examples of jpbrt.core.DifferentialGeometry


        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),
                objectToWorld.transform(dpdv),
                objectToWorld.transform(dndu),
                objectToWorld.transform(dndv),
View Full Code Here


       
        // 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;
        result.hit = true;
View Full Code Here

TOP

Related Classes of jpbrt.core.DifferentialGeometry

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.