/URP-12-GammaUIAndSplitResolution

线性工作流下,场景相机和UI相机,独立的分辨率,并且UI能够保持在 Gamma 颜色空间下工作

Primary LanguageC#

简单概述

  • 本库主要解决了在 线性工作流下,如何保持UI 相机还能够保持在 Gamma 颜色空间下工作
  • UI 相机的渲染不应该受到 任何 postprocess 和 finalProcess( 例如 fxaa 和 fsr) 的影响
  • 充分利用URP内置RenderTargetSwapBuff ,保持了原本代码一致性

(back to top)

使用

  • UniversalRenderer.cs 有2个功能开关

  • public static bool sUISplitEnable = true; // 分辨率分离 ,场景相机可自由调节分辨率,ui相机为屏幕大小

  • public static bool sIsGammaCorrectEnable = true; // ui gamma校对

  • 阅读本库对URP12的修改, 修改你的URP12 ,最好用对比工具和源码进行对比,例如:Beyond Compare

  • 把本库shader/URP-UI-Default.shader 拖到 Project Setting/Graphic/BuildinShader 里面,#替换#掉原来的 UI/Default shader

  • 如果你打开了gamma ui 功能,而且UI相机不止使用UI/Default shade,还使用了TextMeshPro等的shader,请在最后的shader的 ps 里面,加上 lineToSRGB,做一次颜色校对,参考本库里面的 shader/TMP_SDF-Mobile.shader

(back to top)

路线图

  • gamma ui 在scen view 下的 和 game view 下的色差

(back to top)

参考

(back to top)