Example #1
0
        public void Le(ref Vector dir, ref ISpectrum le)
        {
            var sampleN = TriangleNormal;

            if (Normal.Dot(ref sampleN, ref dir) <= 0f)
            {
                le.Mul(0f);
                return;
            }

            var s = GlobalConfiguration.Instance.SpectralRendering ? (ISpectrum)spectra : Gain;
            le.Mul(ref s);
        }
Example #2
0
 public void Le(ref Vector dir, ref ISpectrum le)
 {
     ISpectrum ls = (Power / (Position - dir).Length2());
     le.Mul(ref ls);
 }
Example #3
0
 public void Le(ref Vector dir, ref ISpectrum le)
 {
     var spectrum = Le(ref dir);
     le.Mul(ref spectrum);
 }
Example #4
0
        public void Le(ref Vector dir, ref ISpectrum le)
        {
            var sampleN = triangleSampleData[SampleTriangleIndex()].Item2;
            //NormalModifier * SampleTriangle().ComputeNormal(scene.Vertices);

            if (Normal.Dot(ref sampleN, ref dir) <= 0f)
            {
                le.Mul(0f);
            }

            var s = GlobalConfiguration.Instance.SpectralRendering ? (ISpectrum)spectra : infoGain;
            le.Mul(ref s);
        }
Example #5
0
 public void Le(ref Vector dir, ref ISpectrum le)
 {
     var s = this.Le(ref dir);
     le.Mul(ref s);
 }