public Game1()
            : base()
        {
            graphics.PreferredBackBufferHeight = 600;
            graphics.PreferredBackBufferWidth = 800;

            camera = new Base3DCamera(this, .1f, 20000);

            floor = new BaseDeferredObject(this, "Models/plane");
            floor.TextureMaterials.Add("Textures/FloorColor");
            floor.NormalMaterials.Add("Textures/FloorNormal");
            floor.Position = new Vector3(0, -1f, -10);
            Components.Add(floor);

            dude = new BaseDeferredSkinnedObject(this);
            dude.Position = new Vector3(0, -1, -10);
            dude.RotateAA(Vector3.Up, MathHelper.PiOver2);
            dude.Scale = Vector3.One * .05f;
            dude.AnimationClip = "Take 001";
            dude.Mesh = "Models/dude";
            Components.Add(dude);

            SunPosition = new Vector3(110, 110, 200);

            renderer.DirectionalLights.Add(new DeferredDirectionalLight(this, SunPosition, Vector3.Zero, Color.White, 1, true));
        }