Exemplo n.º 1
0
        public Vector3D shadeDividedRho(Collision collision)
        {
            var      hemiSampler = hemiSamplerFactory.makeSampler();
            Vector3D wi          = SamplerUtil.sampleWi(collision.normal, hemiSampler, randomFactory);
            Vector3D li          = tracer.traceRay(new Ray(collision.point, wi), lightFilter);

            return(MathUtil.multiply(colorDiffuse, li));
        }
Exemplo n.º 2
0
        public Tracer(Construction construction, IMaterial ambient, IRandomFactory randomFactory,
                      IHemispherecalSamplerFactory samplerFactory, double maxRadiance)
        {
            this.construction  = construction;
            this.ambient       = ambient;
            this.randomFactory = randomFactory;
            this.sampler       = samplerFactory.makeSampler();
            this.maxRadiance   = maxRadiance;

            this.DEFAULT_FILTER = (t) => false;
        }