
RenoDX RenoDRT深度解析SDR到HDR的色调重建是如何实现的【免费下载链接】renodxRenovation Engine for DirectX Games项目地址: https://gitcode.com/GitHub_Trending/re/renodx你是否好奇游戏画面是如何从SDR升级到HDR的RenoDX 中的 RenoDRTReno Dynamic Range Tone正是它的核心技术一套将 SDR 游戏画面重建为 HDR 输出的色调映射Tone Mapping引擎。它通过中间灰、峰值亮度、曝光、高光/阴影恢复等参数把游戏渲染的有限动态范围扩展为更宽泛的动态范围让普通显示器也能呈现接近 HDR 的观感。下面带你快速理解 RenoDRT 的工作原理与调参思路。RenoDX 是什么为 DirectX 游戏翻新画面RenoDXRenovation Engine for DirectX Games是一个游戏画面 MOD 工具集可以替换着色器、注入缓冲区、升级交换链和纹理资源。它基于 Reshade 的插件系统因此兼容性较广无需针对特定 exe 打补丁。项目入口说明见 README.mdRenoDRT 相关的预设参数定义在 src/templates/settings.hpp各游戏的具体调校则分布在 src/games/ 目录下如 src/games/wuchang/shared.h、src/games/stalker2/shared.h 等。RenoDRT 的核心思路从场景灰度到显示亮度RenoDRT 的关键是把 SDR 输入当作场景参照scene-referred数据再按目标显示器的特性重建显示参照display-referred输出。整个流程可以概括为四步1️⃣ 标定输入告诉算法游戏里最亮是多少SDR 帧缓冲中 100% 白并不等于真实世界的亮度。RenoDRT 需要先标定两个锚点输入缩放Input Scaling游戏输出的 100% 漫反射白相当于多少尼特nit峰值亮度Peak Brightness显示器或目标信号能达到的最高亮度这两个参数在 ReShade 预设中对应 src/reshadefx/ShortFuseRenoDRT.fx 里的RENODRT_GAME_NITS_INPUT默认 203与RENODRT_PEAK_NITS默认 1000标定准确与否直接决定重建效果的上限。2️⃣ 中间灰映射锚定画面正常的亮度中间灰Mid Gray是画面中大面积中性区域的亮度参照典型值为 0.18线性对应输出约 10 nit。RenoDRT 通过输入中间灰 → 输出中间灰尼特的映射保证重建后画面整体明暗不违和。这是 RenoDRT 与普通伽马曲线最大的区别它先建立一个物理亮度锚点再谈色调压缩。3️⃣ 色调压缩把超宽动态范围装进屏幕当输入亮度超过参考白100 nit时需要一条平滑的滚降曲线shoulder把高光压缩到峰值以内而不是生硬裁剪。RenoDRT 默认采用 Daniele 曲线实现见 src/shaders/tonemap/daniele.hlsl其ToneMap函数根据峰值/参考尼特比m_0 n / n_r、对比度g、中间灰c、输出灰c_d与阴影趾部t_1计算滚降系数输出形如ts²/(tst₁)的光晕flare曲线既保护高光过渡又避免暗部死黑。4️⃣ 色彩空间钳制防止重建出脏颜色高光被压缩后往往伴随色偏。RenoDRT 会在 OKLab 感知空间中进行色相校正hue correction、去色dechroma抑制过曝区域的饱和堆积与饱和度调整最后将颜色钳制到目标色域如 AP1/BT.2020并封顶到峰值尼特。完整实现位于 src/shaders/tonemap/reno_drt.hlsl其Config结构体集中定义了峰值尼特、中间灰、曝光、高光/阴影、对比度、去色、光晕、色调映射方法Daniele / Reinhard / Hermite Spline / Neutwo等全部旋钮。RenoDRT 在框架中的位置RenoDRT 是 RenoDX 色调映射库的一部分与 ACES、Frostbite、DICE、GT Tonemap、Filmic 等曲线并排收纳在 src/shaders/tonemap.hlsl 中被各游戏的 addon 按需调用。ReShade 侧则提供了开箱即用的 src/reshadefx/ShortFuseRenoDRT.fx内含 sRGB/80nit 扩展与 PQ/BT.2020 等输入输出信号适配逻辑——输入先解码为线性亮度经renodrt()重建后再按目标信号编码这正是SDR 到 HDR的完整闭环。新手调参清单如何快速调出好效果按下面的顺序调整 src/reshadefx/ShortFuseRenoDRT.fx 中的滑块通常十几分钟就能得到满意画面参数作用建议起点Input Scaling游戏最亮白的实际亮度尼特203默认Peak Brightness目标峰值亮度显示器真实峰值Mid Gray In / Out中间灰输入/输出0.18 / 10Exposure整体明暗1.0Highlights / Shadows高光压缩与阴影恢复50Contrast滚降曲线陡度对比度50Saturation饱和度50Blowout过曝区域去饱和50Flare阴影趾部/光晕补偿0实用技巧 先看大面积天空、雪地是否发灰——调整中间灰输出 再检查阳光、灯光是否溢色——增大 Blowout 或调整 Highlights 最后用 Exposure 与 Contrast 微调整体观感若画面偏雾通常是对比度不足或峰值标定过高总结为什么 RenoDRT 值得关注物理化思维以尼特为单位标定输入输出而非盲目拉伽马感知空间校正在 OKLab 中做去色与色相保护避免 HDR 重建的常见色偏高度可定制Daniele、Reinhard、Hermite、Neutwo 多种曲线可选src/shaders/tonemap/生态完整从 ReShade 预设到上百款游戏的逐款调校src/games/一应俱全想深入了解实现细节可直接阅读 src/shaders/tonemap/reno_drt.hlsl 与 src/shaders/tonemap/daniele.hlsl若计划为某款游戏定制 RenoDRT 参数参考 src/games/AGENTS.md 中的开发约定会事半功倍。【免费下载链接】renodxRenovation Engine for DirectX Games项目地址: https://gitcode.com/GitHub_Trending/re/renodx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考