protected Light(LightFlags flags, Transform lightToWorld, MediumInterface mediumInterface, int nSamples) { Flags = flags; NumSamples = nSamples; MediumInterface = mediumInterface; LightToWorld = lightToWorld; WorldToLight = lightToWorld.Inverse(); }
public static Camera MakeCamera( string name, ParamSet paramSet, TransformSet cam2worldSet, double transformStart, double transformEnd, Film film) { Camera camera = null; MediumInterface mediumInterface = new MediumInterface(); // todo: implement graphicsState graphicsState.CreateMediumInterface(); //static_assert(MaxTransforms == 2, // "TransformCache assumes only two transforms"); Transform[] cam2world = new Transform[] { // todo: implement transform cache //transformCache.Lookup(cam2worldSet[0]), //transformCache.Lookup(cam2worldSet[1]) cam2worldSet[0], cam2worldSet[1] }; AnimatedTransform animatedCam2World = new AnimatedTransform( cam2world[0], transformStart, cam2world[1], transformEnd); switch (name) { case "perspective": camera = PerspectiveCamera.Create(paramSet, animatedCam2World, film, mediumInterface.Outside); break; //case "orthographic": // camera = CreateOrthographicCamera(paramSet, animatedCam2World, film, mediumInterface.Outside); // break; //case "realistic": // camera = CreateRealisticCamera(paramSet, animatedCam2World, film, mediumInterface.Outside); // break; //case "environment": // camera = CreateEnvironmentCamera(paramSet, animatedCam2World, film, mediumInterface.Outside); // break; default: //Warning("Camera \"%s\" unknown.", name.c_str()); break; } paramSet.ReportUnused(); return(camera); }
protected AreaLight(Transform lightToWorld, MediumInterface medium, int nSamples) : base(LightFlags.Area, lightToWorld, medium, nSamples) { }