public MainViewModel()
        {
            EffectsManager = new DefaultEffectsManager();
            Title          = "Material Demo";
            this.Camera    = new PerspectiveCamera {
                Position = new Point3D(-30, 30, -30), LookDirection = new Vector3D(30, -30, 30), UpDirection = new Vector3D(0, 1, 0)
            };

            var builder = new MeshBuilder();

            builder.AddBox(new Vector3(0, -6, 0), 200, 2, 100);

            Floor = builder.ToMesh();

            builder = new MeshBuilder();
            builder.AddSphere(Vector3.Zero, 2);

            LoadObj(@"shaderBall\shaderBall.obj");

            EnvironmentMap = LoadFileToMemory("Cubemap_Grandcanyon.dds");

            ColorStripeMaterial.ColorStripeX = GetGradients(new Color4(1, 0, 0, 1), new Color4(0, 1, 0, 1), new Color4(0, 0, 1, 1), 48).ToList();
            ColorStripeMaterial.ColorStripeY = GetGradients(new Color4(1, 1, 0, 1), new Color4(0, 1, 1, 1), new Color4(1, 0, 1, 1), 48).ToList();

            MeshTitles = new BillboardText3D();
            MeshTitles.TextInfo.Add(new TextInfo("Blinn", Transform1.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Normal", Transform2.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Diffuse", Transform3.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Position", Transform4.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("VertexColor", Transform5.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("ColorStripe", Transform6.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            (FloorMaterial as PhongMaterial).RenderShadowMap = true;
        }