public static void ApplyWindowRenderSize(int width, int height) { Log.Debug($"Width {Width} -> {width} , Height {Height} -> {height}"); //裁剪View Width = width; Height = height; GL.Viewport(0, 0, Width, Height); float radio = (float)Width / Height; ViewHeight = SB_HEIGHT; ViewWidth = SB_HEIGHT * radio; ProjectionMatrix = Matrix4.Identity * Matrix4.CreateOrthographic(ViewWidth, ViewHeight, -1, 1); CameraViewMatrix = Matrix4.Identity; if (PlayerSetting.FrameHeight != Height || PlayerSetting.FrameWidth != Width) { PostProcessesManager.Resize(PlayerSetting.FrameWidth, PlayerSetting.FrameHeight); } else { PostProcessesManager.Resize(Width, Height); } SetupClipPostProcesses(); }
private static void SetupClipPostProcesses() { if (!(Instance?.Info?.IsWidescreenStoryboard ?? false)) { PostProcessesManager.AddPostProcess(_clipPostProcess); } else { PostProcessesManager.RemovePostProcess(_clipPostProcess); } }
public static void Draw() { _render_stopwatch.Restart(); if (ready) { ToolManager.TrigBeforeRender(); PostProcessesManager.Begin(); { PostDrawStoryboard(); PostProcessesManager.Process(); } PostProcessesManager.End(); ToolManager.TrigAfterRender(); } _render_stopwatch.Stop(); }