Пример #1
0
        public void render(float deltaTime, TgcFrustum frustum)
        {
            sprite.Begin(SpriteFlags.AlphaBlend | SpriteFlags.SortDepthFrontToBack);

            var scaling = new TGCVector3((float)vp.Width / trustMe.Width, (float)vp.Height / trustMe.Height, 0);

            sprite.Transform = TGCMatrix.Scaling(scaling);
            sprite.Draw(trustMe.D3dTexture, Rectangle.Empty, Vector3.Empty, Vector3.Empty, Color.White);

            sprite.End();

            inicio.Render();
        }
Пример #2
0
        /////////////////////////////////////////////////////////////////////////
        ////////////////////////////////RENDER///////////////////////////////////
        /////////////////////////////////////////////////////////////////////////

        public void render(float deltaTime, TgcFrustum frustum)
        {
            foreach (var mesh in objectsInFront)
            {
                if (!librosAgarrados.Contains(mesh))
                {
                    var resultadoColisionFrustum = TgcCollisionUtils.classifyFrustumAABB(frustum, mesh.BoundingBox);
                    if (resultadoColisionFrustum != TgcCollisionUtils.FrustumResult.OUTSIDE)
                    {
                        mesh.Render();
                    }
                }
            }

            efectoOlas.SetValue("time", tiempoOlas);

            personajePrincipal.animateAndRender(deltaTime);

            HUD.Begin(SpriteFlags.AlphaBlend | SpriteFlags.SortDepthFrontToBack);

            posVidas = D3DDevice.Instance.Device.Viewport.Width - vida.Width;

            for (int i = 0; i < cantVidas; i++)
            {
                HUD.Transform = TGCMatrix.Translation(new TGCVector3(posVidas, 0, 0));
                HUD.Draw(vida.D3dTexture, Rectangle.Empty, Vector3.Empty, Vector3.Empty, Color.OrangeRed);
                posVidas -= vida.Width;
            }

            librosAdquiridos.cambiarTexto(cantidadLibrosAdquiridos.ToString());
            librosAdquiridos.cambiarTamañoLetra(28);
            librosAdquiridos.cambiarColor(Color.BlueViolet);
            librosAdquiridos.Render();

            HUD.Draw2D(fisicaLib.D3dTexture, Rectangle.Empty, new SizeF(90, 90), new PointF(D3DDevice.Instance.Width - 95, D3DDevice.Instance.Height - 145), Color.White);
            HUD.End();

            emisorDeParticulas1.render(deltaTime);
            emisorDeParticulas2.render(deltaTime);
            emisorDeParticulas3.render(deltaTime);
        }
Пример #3
0
        /////////////////////////////////////////////////////////////////////////
        /// ////////////////////////////RENDER///////////////////////////////////
        /// /////////////////////////////////////////////////////////////////////

        public void render(float deltaTime, TgcFrustum frustum)
        {
            if (activarTeleport)
            {
                currentShaderSkeletalMesh = efectoTeleport;
            }
            else
            {
                currentShaderSkeletalMesh = TgcShaders.Instance.TgcSkeletalMeshShader;
            }

            foreach (var mesh in objectsInFront)
            {
                if (!coleccionablesAgarrados.Contains(mesh))
                {
                    // var resultadoColisionFrustum = TgcCollisionUtils.classifyFrustumAABB(frustum, mesh.BoundingBox);
                    // if (resultadoColisionFrustum != TgcCollisionUtils.FrustumResult.OUTSIDE)
                    mesh.Render();
                }
            }

            efectoOlas.SetValue("time", tiempoOlas);

            personajePrincipal.Effect = currentShaderSkeletalMesh;

            if (activarTeleport)
            {
                efectoTeleport.SetValue("time", tiempoTeleport);
                personajePrincipal.Technique = "RenderScene";
            }

            if (desactivarTeleport)
            {
                personajePrincipal.Technique = TgcShaders.Instance.getTgcSkeletalMeshTechnique(personajePrincipal.RenderType);
                efectoTeleport.SetValue("time", 0);
                desactivarTeleport = false;
            }

            personajePrincipal.animateAndRender(deltaTime);

            HUD.Begin(SpriteFlags.AlphaBlend | SpriteFlags.SortDepthFrontToBack);

            posVidas = D3DDevice.Instance.Device.Viewport.Width - vida.Width;

            for (int i = 0; i < vidasRestantes; i++)
            {
                HUD.Transform = TGCMatrix.Translation(new TGCVector3(posVidas, 0, 0));
                HUD.Draw(vida.D3dTexture, Rectangle.Empty, Vector3.Empty, Vector3.Empty, Color.OrangeRed);
                posVidas -= vida.Width;
            }

            scene.Meshes[295].BoundingBox.Render();
            scene.Meshes[296].BoundingBox.Render();
            scene.Meshes[305].BoundingBox.Render();

            coleccionablesAdquiridos.cambiarTexto(cantidadColeccionablesAgarrados.ToString());
            coleccionablesAdquiridos.Render();
            coleccionablesAdquiridos.cambiarTamañoLetra(28);
            coleccionablesAdquiridos.cambiarColor(Color.BlueViolet);
            HUD.Draw2D(mumuki.D3dTexture, Rectangle.Empty, new SizeF(100, 100), new PointF(D3DDevice.Instance.Width - 100, D3DDevice.Instance.Height - 150), Color.White);


            HUD.End();
        }