protected override void LoadContent(GraphicInfo GraphicInfo, GraphicFactory factory ,IContentManager contentManager)
        {
            base.LoadContent(GraphicInfo, factory, contentManager);

            {
                SimpleModel simpleModel = new SimpleModel(factory, "Model//cenario");
                TriangleMeshObject tmesh = new TriangleMeshObject(simpleModel, Vector3.Zero, Matrix.Identity, Vector3.One, MaterialDescription.DefaultBepuMaterial());
                PrePassShader shader = new PrePassShader();                
                DeferredMaterial fmaterial = new DeferredMaterial(shader);
                IObject obj = new IObject(fmaterial, simpleModel, tmesh);
                this.World.AddObject(obj);
            }

            #region NormalLight
            DirectionalLightPE ld1 = new DirectionalLightPE(Vector3.Left, Color.White);
            DirectionalLightPE ld2 = new DirectionalLightPE(Vector3.Right, Color.White);
            DirectionalLightPE ld3 = new DirectionalLightPE(Vector3.Backward, Color.White);
            DirectionalLightPE ld4 = new DirectionalLightPE(Vector3.Forward, Color.White);
            DirectionalLightPE ld5 = new DirectionalLightPE(Vector3.Down, Color.White);
            float li = 0.3f;
            ld1.LightIntensity = li;
            ld2.LightIntensity = li;
            ld3.LightIntensity = li;
            ld4.LightIntensity = li;
            ld5.LightIntensity = li;
            this.World.AddLight(ld1);
            this.World.AddLight(ld2);
            this.World.AddLight(ld3);
            this.World.AddLight(ld4);
            this.World.AddLight(ld5);
            #endregion

            LightThrowBepu LightThrowBepu = new LightThrowBepu(this.World,factory);
            this.AttachCleanUpAble(LightThrowBepu);

            this.World.CameraManager.AddCamera(new CameraFirstPerson(GraphicInfo));
        }
 /// <summary>
 /// Create a simple Sphere object
 /// </summary>
 /// <param name="pos"></param>
 /// <param name="ori"></param>
 /// <returns></returns>
 private IObject SpawnPrimitive(Vector3 pos, Matrix ori)
 {
     ///Load a Model with a custom texture
     SimpleModel sm2 = new SimpleModel(factory,"Model\\ball");
     sm2.SetTexture(factory.CreateTexture2DColor(1,1,Color.White,false), TextureType.DIFFUSE);
     PrePassShader nd = new PrePassShader();                        
     IMaterial m = new DeferredMaterial(nd);
     SphereObject  pi2 = new SphereObject(pos, 1,0.5f,1,MaterialDescription.DefaultBepuMaterial());
     IObject o = new IObject(m,sm2,pi2);
     return o;
 }