public Scene MakeScene() { Primitive accelerator = PbrtApi.MakeAccelerator(AcceleratorName, Primitives, AcceleratorParams); if (accelerator == null) { accelerator = new BvhAccelerator(Primitives); } Scene scene = new Scene(accelerator, Lights); // Erase primitives and lights from _RenderOptions_ Primitives.Clear(); Lights.Clear(); return(scene); }
public static Primitive MakeAccelerator(string name, IEnumerable <Primitive> prims, ParamSet paramSet) { Primitive accel = null; switch (name) { case "bvh": accel = BvhAccelerator.Create(prims, paramSet); break; //case "kdtree": // accel = CreateKdTreeAccelerator(prims, paramSet); // break; default: //Warning("Accelerator \"%s\" unknown.", name.c_str()); break; } paramSet.ReportUnused(); return(accel); }