Exemple #1
0
        public override bool Hit(Ray ray, float t_min, float t_max, ref HitRecord rec)
        {
            HitRecord tempRec = new HitRecord();

            var   hitAnything  = false;
            float closestSoFar = t_max;

            foreach (var hitable in List)
            {
                if (hitable.Hit(ray, t_min, closestSoFar, ref tempRec))
                {
                    hitAnything  = true;
                    closestSoFar = tempRec.T;
                    rec          = tempRec;
                }
            }
            return(hitAnything);
        }
Exemple #2
0
 public abstract bool Scatter(Ray rayIn, HitRecord rec, out Vector3 attenuation, out Ray scattered);
Exemple #3
0
 public abstract bool Hit(Ray ray, float t_min, float t_max, ref HitRecord rec);