public void Render() { switch (m_mode) { case Mode.BackCamera: ViewMatrix = MySession.PlayerShip.GetViewMatrix() * Matrix.CreateRotationY(MathHelper.Pi); break; case Mode.PlayerShip: ViewMatrix = MySession.PlayerShip.GetViewMatrix(); break; case Mode.Entity: ViewMatrix = Matrix.CreateLookAt( m_cameraSource.GetPosition(), m_cameraSource.GetPosition() + m_cameraSource.WorldMatrix.Forward, m_cameraSource.WorldMatrix.Up); break; default: throw new ArgumentOutOfRangeException(); } SecondaryCameraRenderer.ViewMatrix = ViewMatrix; this.IsCurrentlyRendering = true; SecondaryCameraRenderer.Render(); this.IsCurrentlyRendering = false; ProjectionMatrix = SecondaryCameraRenderer.ProjectionMatrix; BoundingFrustum.Matrix = ViewMatrix * ProjectionMatrix; }
public Texture GetRenderedTexture() { return(SecondaryCameraRenderer.GetRenderedTexture()); }