Exemple #1
0
 protected Light(LightFlags flags, Transform lightToWorld, MediumInterface mediumInterface, int nSamples)
 {
     Flags           = flags;
     NumSamples      = nSamples;
     MediumInterface = mediumInterface;
     LightToWorld    = lightToWorld;
     WorldToLight    = lightToWorld.Inverse();
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 protected AreaLight(Transform lightToWorld, MediumInterface medium, int nSamples) : base(LightFlags.Area, lightToWorld, medium, nSamples)
 {
 }