SmartQuant.Charting.Draw3D.TLight.Result C# (CSharp) Method

Result() public method

public Result ( TVec3 r, TVec3 n, TColor diffuse ) : TColor
r TVec3
n TVec3
diffuse TColor
return TColor
        public virtual TColor Result(TVec3 r, TVec3 n, TColor diffuse)
        {
            var c = Ambient;
            foreach (var source in ParallelBeams)
            {
                double num1 = n * source.O;
                if (num1 >= 0.0)
                {
                    double num2 = num1 * num1 / (n * n * source.O * source.O);
                    c += num2 * source.C;
                }
            }
            foreach (var source in NearSources)
            {
                var tvec3 = source.O - r;
                double num1 = n * tvec3;
                double num2 = tvec3 * tvec3;
                if (num1 >= 0.0)
                {
                    double num3 = num1 * num1 / (n * n * num2 * num2);
                    c += num3 * source.C;
                }
            }
            return diffuse * c;
        }