コード例 #1
0
        public override bool Hit(Ray ray, float t_min, float t_max, ref HitRecord rec)
        {
            //if (Renderer.main.hit[ray.id] == 1)return false;

            var temp_record  = new HitRecord();
            var hit_anything = false;
            var closest      = t_max;

            foreach (var h in list)
            {
                if (!h.Hit(ray, t_min, closest, ref temp_record))
                {
                    continue;
                }
                hit_anything = true;
                closest      = temp_record.t;
                rec          = temp_record;
            }
            // if (!hit_anything)Renderer.main.hit[ray.id]= 1;

            return(hit_anything);
        }
コード例 #2
0
 public abstract bool Hit(Ray ray, float t_min, float t_max, ref HitRecord rec);