/// <summary> /// Hacer render del ejemplo /// </summary> internal void render() { Device d3dDevice = tgcD3dDevice.D3dDevice; elapsedTime = HighResolutionTimer.Instance.FrameTime; tgcD3dDevice.doClear(); //Acutalizar input tgcD3dInput.update(); //Actualizar camaras (solo una va a estar activada a la vez) if (currentCamera.Enable) { this.currentCamera.updateCamera(); this.currentCamera.updateViewMatrix(d3dDevice); } //actualizar posicion de pantalla en barra de estado de UI setStatusPosition(); //actualizar el Frustum frustum.updateVolume(d3dDevice.Transform.View, d3dDevice.Transform.Projection); //limpiar texturas texturesManager.clearAll(); //actualizar Listener3D directSound.updateListener3d(); //Hacer render delegando control total al ejemplo if (customRenderEnabled) { //Ejecutar render del ejemplo if (currentExample != null) { currentExample.render(elapsedTime); } } //Hacer render asistido (mas sencillo para el ejemplo) else { //Iniciar escena 3D d3dDevice.BeginScene(); //Actualizar contador de FPS si esta activo if (fpsCounterEnable) { text3d.drawText("FPS: " + HighResolutionTimer.Instance.FramesPerSecond, 0, 0, Color.Yellow); } //Ejecutar render del ejemplo if (currentExample != null) { currentExample.render(elapsedTime); } //Ejes cartesianos if (axisLines.Enable) { axisLines.render(); } //Finalizar escena 3D d3dDevice.EndScene(); } d3dDevice.Present(); //this.Invalidate(); }