Example #1
0
 public void TestHit1()
 {
     Matrix4 M = new Matrix4();
     M.Shift(0.0d, 0.0d, 10.0d);
     LoaderObj lo = new LoaderObj();
     FileStream fs = File.Open("triceratops.obj", FileMode.Open, FileAccess.Read);
     lo.Load(null, fs);
     fs.Close();
     List<RenderItem> ris = new List<RenderItem>();
     lo.Inject(ris, M);
     NaiveAccelerator na = new NaiveAccelerator(ris);
     GridAccelerator ga = new GridAccelerator(ris);
     double ta, tb;
     RenderItem ria, rib;
     for(int i = 0; i < TestParameters.TriceratopsTest; i++) {
         Ray ray = Ray.Random();
         ria = ga.CalculateHit(ray, out ta, double.PositiveInfinity);
         rib = na.CalculateHit(ray, out tb, double.PositiveInfinity);
         TestParameters.TestRIEqual(ray, ta, tb, ris, ria, rib);
     }
 }