/// <summary> /// rendereo. /// </summary> public void Render() { AplicarShader(); //para que cambie de color al meter nitro directionArrow.render(); Mesh.render(); RuedasDelanteras.Render(); RuedasTraseras.Render(); //RuedaMainMesh.render(); /*if (RenderLuces) * Luces.Update();*/ if (motionBlur != null && finishedLoading) { motionBlur.Render(); } if (tInicioHumo < tFinHumo) { humoChoque.Render(false); //si es momento de choque, muestro humito } tInicioHumo = tInicioHumo + GameModel.ElapsedTime; //escenario.BoundingBox.render(); //if (pintarObb) // obb.render(); //foreach (var mesh in ciudadScene.Meshes) //{ // //mesh.BoundingBox.render(); //} humoEscape.Render(nitroActivado); }
private void MoverMesh() { newPosicion = new Vector3(Mesh.Position.X + calcularDX(), calcularDY(), Mesh.Position.Z + calcularDZ()); //4- las ruedas //RuedasDelanteras.Update(Mesh.Position, Velocidad, DireccionRuedas); //RuedasTraseras.Update(Mesh.Position, Velocidad, DireccionRuedas); //?? obb.Center = new Vector3(Mesh.Position.X + calcularDX(), obbPosY + 0 + calcularDY(), Mesh.Position.Z + calcularDZ()); //6 - me muevo var m = Matrix.Scaling(scale3) * matrixRotacion * Matrix.Translation(newPosicion); Mesh.Transform = m; //Mesh.BoundingBox.transform(m); //RuedasDelanteras.Update3(Mesh.Position, matrixRotacion, angOrientacionMesh, Velocidad); //RuedasTraseras.Update3(Mesh.Position, matrixRotacion, angOrientacionMesh, Velocidad); var auxDireccion = DireccionRuedas; if (!volanteo) { auxDireccion = 0; } RuedasDelanteras.Update4(m, Velocidad, -auxDireccion); RuedasTraseras.Update4(m, Velocidad, 0); Mesh.Position = newPosicion; humoEscape.Update(newPosicion, anguloFinal); //actualizo la posicion de la camara respecto de la del mesh CamaraAuto.Target = Mesh.Position; //7 ---- colisiones--- ProcesarColisiones(); ClippingFix(); }