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); }
public abstract bool Hit(Ray ray, float t_min, float t_max, ref HitRecord rec);