Пример #1
0
        public override double3 CalculateColor(Scene scene, Traceable traceable,
                                               IntersectData data, Ray ray, TraceData traceData)
        {
            double2 t = traceable.GetTexCoord(data);

            return(Sampler.GetColor(t));
        }
Пример #2
0
        public override double3 CalculateColor(Scene scene, Traceable traceable,
                                               IntersectData data, Ray ray, TraceData traceData)
        {
            if (Mode == DebugMaterialMode.Checker)
            {
                int     numSquares = 10;
                double3 c1         = 0.25;
                double3 c2         = 0.75;
                double2 t          = traceable.GetTexCoord(data);
                int     nx         = ( int )Math.Round(t.x * numSquares);
                int     ny         = ( int )Math.Round(t.y * numSquares);

                return((nx % 2 == 0) == (ny % 2 == 0) ? c1 : c2);
            }
            else
            {
                return(new double3(traceable.GetTexCoord(data), 0));
            }
        }