private void RenderToTexture() { if (FrameSize.X > 0 && FrameSize.Y > 0) { RenderTexture.SetAsRenderTarget(); Renderer.PushState( RenderState.Viewport | RenderState.World | RenderState.View | RenderState.Projection | RenderState.DepthState | RenderState.ScissorState | RenderState.StencilState | RenderState.CullMode | RenderState.Transform2); try { Renderer.ScissorState = ScissorState.ScissorDisabled; Renderer.StencilState = StencilState.Default; Renderer.Viewport = new Viewport(0, 0, RenderTexture.ImageSize.Width, RenderTexture.ImageSize.Height); Renderer.Clear(new Color4(0, 0, 0, 0)); Renderer.World = Renderer.View = Matrix44.Identity; Renderer.SetOrthogonalProjection(0, 0, FrameSize.X, FrameSize.Y); Renderer.DepthState = DepthState.DepthDisabled; Renderer.CullMode = CullMode.None; Renderer.Transform2 = LocalToWorldTransform.CalcInversed(); Objects.Render(); } finally { RenderTexture.RestoreRenderTarget(); Renderer.PopState(); } } }
protected virtual void Render(RenderObjectList renderObjects) { Renderer.Viewport = new Viewport(GetViewport()); renderObjects.Render(); }
public override void Render() { Objects.Render(); }