Exemplo n.º 1
0
        private void CreateIllumination()
        {
            //luzes
            //direita fundo
            Rectangle r1 = new Rectangle(new Vec3(0.899999, 1.4, 1.349999),
                                         new Vec3(0.4, 0, 0),
                                         new Vec3(0, 0, 0.4),
                                         new Vec3(0, -1, 0));

            r1.Material = new Emissive(new Vec3(1, 1, 1), 20.0f);

            RectangularLamp lamp1 = new RectangularLamp(r1);

            lamp1.Sampler = new MultiJittered(256);

            //direita frente
            Rectangle r2 = new Rectangle(new Vec3(0.899999, 1.4, -0.224999),
                                         new Vec3(0.4, 0, 0),
                                         new Vec3(0, 0, 0.4),
                                         new Vec3(0, -1, 0));

            r2.Material = new Emissive(new Vec3(1, 1, 1), 20.0f);

            RectangularLamp lamp2 = new RectangularLamp(r2);

            lamp2.Sampler = new MultiJittered(256);

            //esquerda fundo
            Rectangle r3 = new Rectangle(new Vec3(-1.349999, 1.4, 1.349999),
                                         new Vec3(0.4, 0, 0),
                                         new Vec3(0, 0, 0.4),
                                         new Vec3(0, -1, 0));

            r3.Material = new Emissive(new Vec3(1, 1, 1), 20.0f);

            RectangularLamp lamp3 = new RectangularLamp(r3);

            lamp3.Sampler = new MultiJittered(256);

            //esquerda frente
            Rectangle r4 = new Rectangle(new Vec3(-1.349999, 1.4, -0.224999),
                                         new Vec3(0.4, 0, 0),
                                         new Vec3(0, 0, 0.4),
                                         new Vec3(0, -1, 0));

            r4.Material = new Emissive(new Vec3(1, 1, 1), 20.0f);

            RectangularLamp lamp4 = new RectangularLamp(r4);

            lamp4.Sampler = new MultiJittered(256);

            AddObject(lamp1);
            AddObject(lamp2);
            AddObject(lamp3);
            AddObject(lamp4);

            AreaLight al = new AreaLight();

            al.Object = lamp1;
            AddLight(al.Clone());
            al.Object = lamp2;
            AddLight(al.Clone());
            al.Object = lamp3;
            AddLight(al.Clone());
            al.Object = lamp4;
            AddLight(al.Clone());
        }