public void Render(ShaderManager.MESH_TYPE tipo) { switch (tipo) { case ShaderManager.MESH_TYPE.DYNAMIC_ILLUMINATION_METALLIC: if (vivo) { xwing.Render(); alaXwing.Render(); } break; case ShaderManager.MESH_TYPE.SHADOW: if (vivo && false) { xwing.Render(); alaXwing.Render(); } break; case ShaderManager.MESH_TYPE.DEAD: if (!vivo) { xwing.Render(); alaXwing.Render(); } break; } }
public void Render() { // Renderizar la malla del auto, en este caso solo el Chasis Mesh.Transform = TGCMatrix.Translation(new TGCVector3(0, meshAxisRadius.Y - (meshRealHeight / 2f), 0)) * new TGCMatrix(rigidBody.InterpolationWorldTransform); Mesh.Render(); TGCMatrix wheelTransform; // Como las ruedas no son cuerpos rigidos (aún) se procede a realizar las transformaciones de las ruedas para renderizar wheelTransform = TGCMatrix.RotationY(vehicle.GetSteeringValue(0)) * TGCMatrix.RotationTGCQuaternion(new TGCQuaternion(RigidBody.Orientation.X, RigidBody.Orientation.Y, RigidBody.Orientation.Z, RigidBody.Orientation.W)) * TGCMatrix.Translation(new TGCVector3(vehicle.GetWheelInfo(0).WorldTransform.Origin)); wheel.Transform = wheelTransform; wheel.Render(); wheelTransform = TGCMatrix.RotationY(vehicle.GetSteeringValue(1) + FastMath.PI) * TGCMatrix.RotationTGCQuaternion(new TGCQuaternion(RigidBody.Orientation.X, RigidBody.Orientation.Y, RigidBody.Orientation.Z, RigidBody.Orientation.W)) * TGCMatrix.Translation(new TGCVector3(vehicle.GetWheelInfo(1).WorldTransform.Origin)); wheel.Transform = wheelTransform; wheel.Render(); wheelTransform = TGCMatrix.RotationY(-vehicle.GetSteeringValue(2)) * TGCMatrix.RotationTGCQuaternion(new TGCQuaternion(RigidBody.Orientation.X, RigidBody.Orientation.Y, RigidBody.Orientation.Z, RigidBody.Orientation.W)) * TGCMatrix.Translation(new TGCVector3(vehicle.GetWheelInfo(2).WorldTransform.Origin)); wheel.Transform = wheelTransform; wheel.Render(); wheelTransform = TGCMatrix.RotationY(-vehicle.GetSteeringValue(3) + FastMath.PI) * TGCMatrix.RotationTGCQuaternion(new TGCQuaternion(RigidBody.Orientation.X, RigidBody.Orientation.Y, RigidBody.Orientation.Z, RigidBody.Orientation.W)) * TGCMatrix.Translation(new TGCVector3(vehicle.GetWheelInfo(3).WorldTransform.Origin)); wheel.Transform = wheelTransform; wheel.Render(); }
public void renderPostProcess() { gameObjects.ForEach(g => g.Render()); zombie.Render(); globo.Render(); }
public void Render(ShaderManager.MESH_TYPE tipo) { switch (tipo) { case ShaderManager.MESH_TYPE.SHADOW: if (!terminado) { bomba.Render(); } break; } }
public override void Renderizar() { //Dibujamos la escena scene.RenderAll(); //Dibujar la primera plataforma en pantalla plataforma1Mesh.Transform = transformacionBox; plataforma1Mesh.Render(); plataforma1Mesh.BoundingBox.transform(plataforma1Mesh.Transform); plataforma1Mesh.BoundingBox.Render(); //Dibujar la segunda plataforma en pantalla plataforma2Mesh.Transform = transformacionBox2; plataforma2Mesh.Render(); plataforma2Mesh.BoundingBox.transform(plataforma2Mesh.Transform); plataforma2Mesh.BoundingBox.Render(); if (contexto.BoundingBox) { planoBack.BoundingBox.Render(); //planoFront.BoundingBox.Render(); planoIzq.BoundingBox.Render(); planoDer.BoundingBox.Render(); planoPiso.BoundingBox.Render(); plataforma1.RenderizaRayos(); //plataforma2.RenderizaRayos(); } //Recalculamos la orbita de rotacion orbitaDeRotacion += MOVEMENT_SPEED * contexto.ElapsedTime; }
public void Render(ShaderManager.MESH_TYPE tipo) { switch (tipo) { case ShaderManager.MESH_TYPE.SHADOW: obstaculo.Render(); break; } }
public void Render(ShaderManager.MESH_TYPE tipo) { switch (tipo) { case ShaderManager.MESH_TYPE.DEFAULT: worldsphere.Render(); break; } }
public override void Render() { //BackgroundColor D3DDevice.Instance.Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); BeginScene(); ClearTextures(); //Cargar variables shader mesh.Effect.SetValue("ambientColor", ColorValue.FromColor(Color.Gray)); mesh.Effect.SetValue("diffuseColor", ColorValue.FromColor(Color.LightBlue)); mesh.Effect.SetValue("specularColor", ColorValue.FromColor(Color.White)); mesh.Effect.SetValue("specularExp", 10f); mesh.Effect.SetValue("lightPosition", lightPos); mesh.Effect.SetValue("eyePosition", TGCVector3.Vector3ToFloat4Array(Camara.Position)); mesh.RotateY(-ElapsedTime / 2); mesh.Transform = TGCMatrix.Scaling(mesh.Scale) * TGCMatrix.RotationYawPitchRoll(mesh.Rotation.Y, mesh.Rotation.X, mesh.Rotation.Z) * TGCMatrix.Translation(mesh.Position); mesh.Render(); textHelp.render(); //Help if (Input.keyPressed(Key.H)) { helpForm.ShowDialog(); } PostRender(); }
public void RenderScene(bool shadow) { foreach (var T in scene.Meshes) { if (shadow) { T.Technique = "RenderShadow"; } else { T.Technique = "RenderScene"; } T.Render(); } // avion if (shadow) { avion.Technique = "RenderShadow"; } else { avion.Technique = "RenderScene"; } avion.Render(); }
public override void Render() { //BackgroundColor D3DDevice.Instance.Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); BeginScene(); ClearTextures(); //Actualizar transformacion y renderizar el sol sun.Transform = getSunTransform(ElapsedTime); sun.Render(); //Actualizar transformacion y renderizar la tierra earth.Transform = getEarthTransform(ElapsedTime); earth.Render(); //Actualizar transformacion y renderizar la luna moon.Transform = getMoonTransform(ElapsedTime, earth.Transform); moon.Render(); axisRotation += AXIS_ROTATION_SPEED * ElapsedTime; earthAxisRotation += EARTH_AXIS_ROTATION_SPEED * ElapsedTime; earthOrbitRotation += EARTH_ORBIT_SPEED * ElapsedTime; moonOrbitRotation += MOON_ORBIT_SPEED * ElapsedTime; //Limpiamos todas las transformaciones con la TGCMatrix identidad D3DDevice.Instance.Device.Transform.World = TGCMatrix.Identity.ToMatrix(); PostRender(); }
public override void Render() { //BackgroundColor D3DDevice.Instance.Device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); BeginScene(); ClearTextures(); //Cargar variables shader mesh.Effect.SetValue("ambientColor", ColorValue.FromColor(Color.Gray)); mesh.Effect.SetValue("diffuseColor", ColorValue.FromColor(Color.LightBlue)); mesh.Effect.SetValue("specularColor", ColorValue.FromColor(Color.White)); mesh.Effect.SetValue("specularExp", 10f); mesh.Effect.SetValue("lightPosition", lightPos); mesh.Effect.SetValue("eyePosition", TGCVector3.TGCVector3ToFloat4Array(Camera.Position)); mesh.Render(); textHelp.render(); //Help if (Input.keyPressed(Key.H)) { helpForm.ShowDialog(); } PostRender(); }
public override void Render() { PreRender(); sphereMesh.Render(); lightBoxes.ForEach(lightBox => lightBox.Render()); PostRender(); }
public override void Render() { body.Translate(new Vector3(0, -35, 0)); bomba.Position = new TGCVector3(bomba.Position.X, body.InterpolationWorldTransform.M42, bomba.Position.Z); bomba.Render(); //semiesfera.Render(); }
public void Render() { if (Visible) { mesh.Render(); } }
public void Render() { if (!estaOculto) { mesh.Render(); RenderEntity(); } }
public void Render() { if (this.IsInView()) { Lighting.LightManager.GetInstance().DoLightMe(mesh); mesh.Render(); plane.BoundingBox.Render(); } }
public override void Render() { PreRender(); DrawText.drawText("Cantidad de elementos liberados: " + disposed, 5, 20, Color.Red); //Renderisamos todo hasta que pase cierto tiempo y ahi liberamos todos los recursos. if (time >= 0f && time < 30f) { var d3dMesh = new Mesh(boxMesh.NumberTriangles, boxMesh.NumberVertices, MeshFlags.Managed, TgcSceneLoader.VertexColorVertexElements, D3DDevice.Instance.Device); var origVert = (TgcSceneLoader.VertexColorVertex[])boxMesh.D3dMesh.LockVertexBuffer( typeof(TgcSceneLoader.VertexColorVertex), LockFlags.ReadOnly, boxMesh.D3dMesh.NumberVertices); boxMesh.D3dMesh.UnlockVertexBuffer(); var newVert = (TgcSceneLoader.VertexColorVertex[])d3dMesh.LockVertexBuffer( typeof(TgcSceneLoader.VertexColorVertex), LockFlags.None, d3dMesh.NumberVertices); for (var i = 0; i < origVert.Length; i++) { newVert[i] = origVert[i]; newVert[i].Position.Y += time; } d3dMesh.UnlockVertexBuffer(); boxMesh.changeD3dMesh(d3dMesh); //Render de todas las palmeras. foreach (var m in meshes) { m.Render(); } //Render de una esena. scene1.RenderAll(); //Render de la caja. boxMesh.Render(); time += ElapsedTime; } else { //ATENCION ESTO QUE SIGUE es solo para el ejemplo este, no es buena practica invocar al dispose completo. //En su lugar se puede invocar caso por caso segun las necidades. //Hacemos el dispose 1 vez sola. if (time != -1) { time = -1; Dispose(); } } PostRender(); }
public override void Render() { PreRender(); eulerMesh.Render(); quaternionMesh.Render(); PostRender(); }
public void Render(float ElapsedTime, float Rotation) { if (expired) { return; } time += ElapsedTime; explosionMesh.Effect.SetValue("time2", time); ringMesh.Effect.SetValue("time2", time); if (FastMath.PI + 1 < time * 2.2f) { expired = true; return; } explosionMesh.Render(); ringMesh.Rotation = new TGCVector3(0, Rotation, 0); ringMesh.Render(); if (FastMath.Max(FastMath.Sin(time * 2.2f), 0) > 0.2f) { emitter.Playing = true; } else { emitter.Playing = false; } rnd = (float)randomGenerator.NextDouble(); emitter.Speed = new TGCVector3(rnd * 130, 19, rnd * 130) * 0.5f; if (rnd < 0.25f) { emitter.Position = new TGCVector3(initialPos.X + 4 * neg, initialPos.Y, initialPos.Z); } else if (rnd < 0.5f) { emitter.Position = new TGCVector3(initialPos.X, initialPos.Y + 4 * neg, initialPos.Z); } else if (rnd < 0.75f) { emitter.Position = new TGCVector3(initialPos.X, initialPos.Y, initialPos.Z + 3 * neg); } emitter.render(ElapsedTime); emitter2.Position = new TGCVector3(emitter.Position.X + neg * -8, emitter.Position.Y + neg * -8, emitter.Position.Z); emitter2.Speed = emitter.Speed; emitter2.Playing = emitter.Playing; emitter2.render(ElapsedTime); neg = neg * -1; }
public void Render() { //Se hace el transform a la posicion que devuelve el el Rigid Body del personaje personaje.Position = new TGCVector3(personajeBody.CenterOfMassPosition.X, personajeBody.CenterOfMassPosition.Y - 27, personajeBody.CenterOfMassPosition.Z);//-27 para que no toque el piso pero casi (para que toque el piso -30) personaje.Transform = TGCMatrix.Translation(personajeBody.CenterOfMassPosition.X, personajeBody.CenterOfMassPosition.Y, personajeBody.CenterOfMassPosition.Z); personaje.Render(); terreno.Render(); }
public override void Render() { PreRender(); shark.Render(); fromArrow.Render(); toArrow.Render(); crossArrow.Render(); sphere.Render(); PostRender(); }
public void Render(ShaderManager.MESH_TYPE tipo) { if (isVisible) { switch (tipo) { case ShaderManager.MESH_TYPE.SHADOW: torreta.Render(); break; } } }
public override void Render() { Device d3dDevice = D3DDevice.Instance.Device; time += ElapsedTime; // animo la pos del avion float alfa = -time *Geometry.DegreeToRadian(115.0f); avion.Position = new TGCVector3(80f * (float)Math.Cos(alfa), 20 - 20 * (float)Math.Sin(alfa), 80f * (float)Math.Sin(alfa)); dir_avion = new TGCVector3(-(float)Math.Sin(alfa), 0, (float)Math.Cos(alfa)); avion.Transform = CalcularMatriz(avion.Position, avion.Scale, dir_avion); g_LightPos = lightLookFromModifier.Value; d3dDevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); // dibujo la escena pp dicha d3dDevice.BeginScene(); d3dDevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); // piso scene.Meshes[0].Technique = "RenderScene"; scene.Meshes[0].Render(); // dibujo las sombra del avion sobre el piso effect.SetValue("matViewProj", d3dDevice.Transform.View * d3dDevice.Transform.Projection); effect.SetValue("g_vLightPos", new TGCVector4(g_LightPos.X, g_LightPos.Y, g_LightPos.Z, 1)); d3dDevice.RenderState.ZBufferEnable = false; avion.Technique = "RenderShadows"; avion.Render(); d3dDevice.RenderState.ZBufferEnable = true; // avion avion.Technique = "RenderScene"; avion.Render(); // dibujo la luz box.setPositionSize(g_LightPos, new TGCVector3(5, 5, 5)); box.updateValues(); box.Render(); PostRender(); }
public override void render() { if (editablePolyEnabled) { EditablePoly.render(); } else { mesh.Render(); } }
public void render() { if (GameModel.debugMeshes) { mesh.Effect = actualShader; actualShader.SetValue("type", type); mesh.Technique = actualTechnique; mesh.Transform = multMatrix(g.map.deforming, deformation) + originalMesh;//mesh se transforma siempre porque se comparte mesh.Render(); } }
public void renderScene(float elapsedTime, string Technique) { //Dibujamos todos los meshes del escenario /*foreach (TgcMesh m in meshes) * { * m.Effect = effect; * m.Technique = Technique; * m.UpdateMeshTransform(); * m.render(); * }*/ var rnd = new Random(1); pasto.Effect = effect; pasto.Technique = Technique; for (var i = 0; i < 10; ++i) { for (var j = 0; j < 10; ++j) { pasto.Position = new TGCVector3(-i * 200 + rnd.Next(0, 50), 0, -j * 200 + rnd.Next(0, 50)); pasto.Scale = new TGCVector3(3, 4 + rnd.Next(0, 4), 5); pasto.UpdateMeshTransform(); //pasto.Transform = TGCMatrix.Identity*TGCMatrix.Scaling(3, 4 + rnd.Next(0, 4), 5) * TGCMatrix.Translation(-i * 200 + rnd.Next(0, 50), 0, -j * 200 + rnd.Next(0, 50)); pasto.Render(); } } arbusto.Effect = effect; arbusto.Technique = Technique; for (var i = 0; i < 5; ++i) { for (var j = 0; j < 5; ++j) { arbusto.Position = new TGCVector3(-i * 400 + rnd.Next(0, 50), 0, -j * 400 + rnd.Next(0, 50)); //arbusto.Transform = TGCMatrix.Identity*TGCMatrix.Translation(-i * 400 + rnd.Next(0, 50), 0, -j * 400 + rnd.Next(0, 50)); arbusto.UpdateMeshTransform(); arbusto.Render(); } } arbol.Effect = effect; arbol.Technique = Technique; for (var i = 0; i < 3; ++i) { for (var j = 0; j < 3; ++j) { arbol.Position = new TGCVector3(-i * 700 + rnd.Next(0, 50), 0, -j * 700 + rnd.Next(0, 50)); //arbol.Transform = TGCMatrix.Identity*TGCMatrix.Translation(-i * 700 + rnd.Next(0, 50), 0, -j * 700 + rnd.Next(0, 50)); arbol.UpdateMeshTransform(); arbol.Render(); } } }
public override void Render() { D3DDevice.Instance.Device.Clear(Microsoft.DirectX.Direct3D.ClearFlags.Target | Microsoft.DirectX.Direct3D.ClearFlags.ZBuffer, Color.White, 1.0f, 0); D3DDevice.Instance.Device.BeginScene(); pasto.Render(); paredes.Render(); skyBox.Render(); drawer2D.BeginDrawSprite(); drawer2D.DrawSprite(unSprite); drawer2D.EndDrawSprite(); }
/// <summary> /// Se llama cada vez que hay que refrescar la pantalla. /// Escribir aquí todo el código referido al renderizado. /// Borrar todo lo que no haga falta. /// </summary> public override void Render() { //Inicio el render de la escena, para ejemplos simples. Cuando tenemos postprocesado o shaders es mejor realizar las operaciones según nuestra conveniencia. PreRender(); cajaUno.Render(); cajaDos.Render(); cajaTres.Render(); //Finaliza el render y presenta en pantalla, al igual que el preRender se debe para casos puntuales es mejor utilizar a mano las operaciones de EndScene y PresentScene PostRender(); }
public void Apply() { mesh.Transform = transform; var meshEffect = mesh.Effect; meshEffect.SetValue("textured", false); meshEffect.SetValue("albedoValue", TGCVector3.TGCVector3ToFloat3Array(albedo)); meshEffect.SetValue("metallicValue", metallic); meshEffect.SetValue("roughnessValue", roughness); mesh.Render(); }
public override void Render() { PreRender(); //Dibujar el modelo 3D mesh.Render(); //Dibujar la escena entera scene.RenderAll(); PostRender(); }