Пример #1
0
        /// <summary>
        ///     main render method
        /// </summary>
        public override void Render()
        {
            BorrarPantalla();
            if (showMenu)
            {
                //TODO -> mostrar menu inicial
                return;
            }
            if (!FinishedLoading)
            {
                return;
            }



            crono.render(ElapsedTime);
            preRenderPointLight(); //render 1
            //preRenderNiebla(); //render2, rompe con la luz por eso esta comentado

            IniciarScene(); //empiezo main escena

            //cilindroBB.render();
            //PreRenderPersonalizado(); //para el shadowMapFIX

            if (GodModeOn)
            {
                DibujarDebug();
            }
            var posCamara = AutoJugador.CamaraAuto.Position;

            //foreach (Auto a in Autos)
            //{
            //    foreach (LuzFija luz in LucesLst)
            //    {
            //        luz.setValues(a.Mesh, posCamara);
            //    }

            //    a.Render();
            //}

            foreach (TgcMesh mesh in MapScene.Meshes)
            {
                //rendereo solo lo que esta dentro del frustrum
                var c = TgcCollisionUtils.classifyFrustumAABB(Frustum, mesh.BoundingBox);
                if (c != TgcCollisionUtils.FrustumResult.OUTSIDE)
                {
                    mesh.render();
                }
            }
            DrawText.drawText(AutoJugador.Velocidad.ToString(), 20, 50, Color.Orange);
            //skybox render


            //render de menubox solo cuando es necesario.
            if (GodModeOn == true && MenuBox != null)
            {
                MenuBox.Render();
            }
            //Dibujo los sprites2d en pantalla
            Velocimetro.Render();

            autoOponente.render();
            SkyBox.render();
            RenderAxis();
            RenderFPS();
            AutoJugador.Render();
            TerminarScene(); //termino main scene
            ImprimirPantalla();
        }