网易首页 > 网易号 > 正文 申请入驻

团结引擎 | 基于图像的可变速率着色

0
分享至

基于图像的可变速率着色 (ImageBased Variable Rate Shading ,Attachment Shading Rate)是一种利用屏幕空间下的着色频率图像附件(Shading Rate Image, 下文简称 SRI)将 光栅化 与 像素着色频率 解耦的技术,可实现按区域灵活控制片元着色频率。

该技术能够有效削减冗余的像素操作,在最大限度降低对视觉保真度影响的前提下,显著提升图形管线的渲染效率。

为什么需要ImageBased VRS ?

游戏画面里往往存在大面积平滑区域:天空、墙壁、水面、雾气,其相邻像素颜色几乎一致。如果对这些颜色相近的像素都进行着色计算的话,其实是一种巨大的浪费。

现代的GPU硬件提供了 “可变速率着色”技术,将“哪些像素被画”和“画得多精细”这两个问题分开进行处理。以下图中的 8*8 的像素块为例,通过调整着色计算频率,可以在保留三角形的像素边缘的同时,减少着色计算的次数。


Shading Rate分别设置为1×1, 2×2, 4×4时的着色计算情况

着色频率不为1*1时,着色求值点可能落在三角形外。默认使用的外推(Extrapolation)计算的着色值可能导致反常的结果。可以在shader中使用限定符 centroid 移动着色求值点到三角形的覆盖范围内。

ImageBased VRS 把“哪些像素被画”和“画得多精细”两个问题分开处理:颜色变化平缓的区域用低精度着色,边缘和细节区域则保持高精度。做到提升渲染效率,而几乎不损失画面效果。


下方图为渲染结果;上方图为将着色频率可视化的结果

图中,紫色部分代表采用了着色频率为 4×4 的区域。可以清晰地看到,天空部分因为颜色过于相近,使用较低频率的着色计算即可保证渲染质量。

对比RendererBased VRS

对比先前团结引擎推出的基于Pipeline Shading Rate (管线着色频率)技术实现的RendererBased VRS方案, ImageBased VRS 提供了更为精细的着色频率调控粒度。

RendererBased VRS 通过在Draw Call前设置管线着色频率进行控制,同一个 Renderer/Draw Call 上只能使用相同频率;


通过RendererBased VRS根据深度对不同的Renderer使用不同的着色频率。最远处的Renderer显示为紫色,为 4×4 着色频率

ImageBased VRS 按 8×8 ~ 32×32 的像素块划分屏幕并指定着色频率,同一个 Renderer/Draw Call 内不同区域也可以使用不同着色频率。


图中每个像素对应屏幕上一个 8×8 ~ 32×32 大小的像素块。天空等颜色相近的区域显示为紫色, 为 4×4着色频率

RendererBased VRS 和 ImageBased VRS 二者的使用并不冲突,可以通过 “CombinerOps” 进行组合,供开发者可以灵活选择片元最终生效的着色频率。


RendererBased VRS 使用的管线着色频率作为A0 着色频率输入;ImageBased VRS 使用的图像附件着色频率作为 B1 着色频率输入

根据使用的图形API的不同,“CombinerOps” 提供的组合方式可能有所不同。


常见的组合方式及其示例

ImageBased VRS 技术原理

上文我们提到ImageBased VRS 以 8×8 ~ 32×32 的像素块为粒度控制着色频率。实践中,着色频率信息使用一张R8_UINT 格式的着色频率图像附件(Shading Rate Image, SRI)记录。这张图像附件为按比例缩小的屏幕空间贴图,每个像素对应屏幕上的一个像素块,将像素块X, Y 两个方向上独立的着色频率合并编码为一个 UINT 值,使用该UINT值记录为像素块使用的着色频率。着色计算阶段,GPU 会通过像素位置查询这张图像附件,找到其记录的着色频率。


R8_UINT 格式的着色频率图像附件;UINT 取值在0~10之间

ImageBased VRS 提供根据像素的感知亮度梯度,或运动幅度计算着色频率的方法,以生成着色频率图像附件。

如果根据感知亮度梯度进行计算,需要在上一帧末尾对画面作Sobel边缘检测,计算每个像素块内沿 X, Y方向感知亮度的最大梯度。将梯度与用户设置的阈值进行比较,判断当前画面中各个像素块合适的着色频率。对于X, Y方向上颜色变化极小的方向使用4×、中等的 2×、剧烈变化的 1×; 当前帧中根据Motion Vector进行重投影,使图像附件对应当前帧的像素分布。

如果根据运动幅度进行计算,则依赖Motion Vector计算像素块X, Y方向上的最小运动速度。将运动速度与用户设置的阈值进行比较判断,对运动幅度大的方向使用4×, 中等的 2×、较小的 1×。

当同时启用感知亮度和运动幅度进行计算时,会在重投影阶段将运动幅度纳入计算。

简言之,感知亮度梯度越小,或移动速度越大,着色频率越低。


ImageBased VRS RenderFeature

在URP中,ImageBased VRS 通过 RenderFeature【ImageBasedVRSRenderFeature】实现。


SRI configuration fields

  • Combiner Op 0: 用于设置 “pipeline shading rate” 和 “primitive shading rate” 之间的组合方式。默认为 “Keep”。

  • Combiner Op 1: 用于设置 “CombinerOp0”组合输出的结果和 “attachment shading rate” 之间的组合方式。默认为 “Replace”。

  • Inject Point: 用于设置 ImageBased VRS 在管线中生效的时刻。默认为Gbuffer 绘制之前(延迟渲染)或Deferred Lights之前(前向渲染)。

  • Reset Inject Point: 用于设置 ImageBased VRS 在管线中停止生效的时刻。默认为后处理之前。

SRI Generation fields
  • Generation Mode: 用于设置着色频率图像附件的生成方式,共有三种。分别为根据感知亮度梯度的“Luminance”, 根据运动幅度的“Motion Only”,和结合二者的 “Luminance + Motion”



Luminance Thresholds

用于设置与感知亮度梯度比较的阈值。 X, Y 两个方向各自独立比较。

如果X, Y 方向上的计算得到的梯度小于 “Luminance Threshold 4 Pixel” ,则该方向使用4×。如果小于 “Luminance Threshold 2 Pixel” 而大于 “Luminance Threshold 4 Pixel”,则该方向使用2×。如果不小于任何一个阈值,则该方向使用1×, 进行全分辨率着色。

Motion Thresholds

用于设置与运动幅度比较的阈值。X、Y 两个方向各自独立比较。

如果X, Y 方向上的计算得到的速度(像素/帧)大于 “Motion Threshold 4 Pixel” ,则该方向使用4×。如果大于 “Motion Threshold 2 Pixel” 而小于 “Motion Threshold 4 Pixel”,则该方向使用2×。如果不大于任何一个阈值,则该方向使用1×, 进行全分辨率着色。

Show Debug SRI

用于将当前帧使用的着色频率图像附件中不同的着色频率映射为不同颜色,绘制在屏幕的右上区域,用于调试时实时参考。


Debug SRI 的实时绘制状况


着色频率与颜色的映射关系表

AlphaTest Separation

“Separate Alpha Test Pass” 用于决定是否针对位于AlphaTest 渲染队列的物体单独关闭ImageBased VRS的使用。当勾选时,渲染AlphaTest 渲染队列的物体时,ImageBased VRS将不生效,以保证渲染质量。

AlphaTest 在片元阶段根据Alpha值决定是否抛弃该片元,开启VRS后,可能导致部分片元被错误抛弃。

平台支持

  • DirectX 12(Windows 平台):支持 DX12 Ultimate 的设备。

  • DirectX 11(Windows 平台):搭载 NVIDIA Turing 架构或更新代际 GPU 的设备。

  • Vulkan(Windows / Android 平台):支持 Vulkan 扩展 VK_KHR_fragment_shading_rate 的设备。

  • OpenGL ES(Android 平台):支持 OpenGL ES 扩展 GL_EXT_fragment_shading_rate_attachment 的设备。

性能数据

使用URP Sample工程中提供的VRS测试场景 “OasisVRSSampleScene” ,分别在室外、水面和室内场景开启,关闭ImageBased VRS 功能进行测试。

性能对比:


GPU耗时的性能对比

效果对比:

  • 室外场景


    ImageBased VRS OFF


    ImageBased VRS ON

  • 水面场景


    ImageBased VRS OFF


    ImageBased VRS ON

  • 室内场景


    ImageBased VRS OFF


    ImageBased VRS ON

快速入门

目前仅支持 URP 管线,ImageBased VRS 已在团结引擎 1.10.2 版本对应的 URP (14.1.6) 中提供。

1. 找到当前使用的 Universal Renderer Data。

2. 点击“Add Renderer Feature” 列出可添加的 RenderFeature 列表。

3. 选择RenderFeature “Image Based Variable Shading Rate” 进行添加。

4. 调整参数以达成渲染质量和渲染压力之间的平衡。


Unity 官方微信

第一时间了解 Unity 引擎动向,学习进阶开发技能

每一个“点赞”、“在看”,都是我们前进的动力


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
称霸高铁的国民零食,暴跌22万吨

称霸高铁的国民零食,暴跌22万吨

金错刀
2026-10-09 15:55:49
美国发出全球通缉令,逮捕中国芯片科学家陈正坤,现在怎么样了?

美国发出全球通缉令,逮捕中国芯片科学家陈正坤,现在怎么样了?

墨策讲历史
2026-10-09 23:34:18
天津绝杀成都,海牛提前降级,武汉三镇明晚能否自救?

天津绝杀成都,海牛提前降级,武汉三镇明晚能否自救?

湖报体育
2026-10-10 23:16:55
局势彻底变天了!中日对峙一天天拖下去,越来越多国家终于意识到:中日若兵戎相见,不会像俄乌冲突那样给第三方牟利的机会,而是一场血战

局势彻底变天了!中日对峙一天天拖下去,越来越多国家终于意识到:中日若兵戎相见,不会像俄乌冲突那样给第三方牟利的机会,而是一场血战

林杰论事
2026-10-03 02:28:50
一定要多存钱:除了不买衣服,我发现一个很绝的存钱顺序能存下钱

一定要多存钱:除了不买衣服,我发现一个很绝的存钱顺序能存下钱

另子维爱读史
2026-10-10 20:42:44
那个坐拥890万粉丝、体重一度逼近500斤的内蒙古网红“羊亡爷”恩克,步履虚浮难进食,暴食流量终要拿健康买单

那个坐拥890万粉丝、体重一度逼近500斤的内蒙古网红“羊亡爷”恩克,步履虚浮难进食,暴食流量终要拿健康买单

LULU生活家
2026-09-25 15:16:25
年轻人的无效节俭能有多费钱?网友:有时候远离爹妈可以多活10年

年轻人的无效节俭能有多费钱?网友:有时候远离爹妈可以多活10年

带你感受人间冷暖
2026-10-08 00:05:18
刹车踏板测试再起风波!懂车帝8场测评屡遭车企质疑,网友提议引入第三方公证破局信任危机

刹车踏板测试再起风波!懂车帝8场测评屡遭车企质疑,网友提议引入第三方公证破局信任危机

火山詩话
2026-10-10 08:37:08
苹果年度理财产品!iPhone Duo黄牛加价1.2万元:首发当天就能拿货

苹果年度理财产品!iPhone Duo黄牛加价1.2万元:首发当天就能拿货

快科技
2026-10-10 00:12:08
广州同学聚会吃了16万6,请客的人付完钱先走,剩下的人却翻脸了

广州同学聚会吃了16万6,请客的人付完钱先走,剩下的人却翻脸了

诡谲怪谈
2025-06-09 08:45:42
华为江淮重测 vs 懂车帝自测,谁说了算?

华为江淮重测 vs 懂车帝自测,谁说了算?

慕容律师
2026-10-10 10:37:45
多地公立医院宣布关停夜间门诊!医生:无人可用,关停是好事!多家三甲关停产科儿科;儿童医院3年新职工锐减300人,卫健委:大幅扩招医生

多地公立医院宣布关停夜间门诊!医生:无人可用,关停是好事!多家三甲关停产科儿科;儿童医院3年新职工锐减300人,卫健委:大幅扩招医生

梅斯医学
2026-10-10 07:53:33
突发!重庆44岁副院长高速车祸下车避险,高架桥坠落去世,知情人曝更多

突发!重庆44岁副院长高速车祸下车避险,高架桥坠落去世,知情人曝更多

小鋭有话说
2026-10-10 19:41:41
降薪千万都不行!尼克斯传出内讧,拒绝续约谈判,老板多兰又犯浑

降薪千万都不行!尼克斯传出内讧,拒绝续约谈判,老板多兰又犯浑

你的篮球频道
2026-10-10 07:56:06
华裔夫妇枪杀变性女婿,狗血反转曝他术前曾怀孕生子!婚后与女方一家结血海深仇却再生3娃?

华裔夫妇枪杀变性女婿,狗血反转曝他术前曾怀孕生子!婚后与女方一家结血海深仇却再生3娃?

英国报姐
2026-10-10 22:34:26
给富豪当15年保姆,离开他送我一个盒子,本以为是钱,打开后傻眼

给富豪当15年保姆,离开他送我一个盒子,本以为是钱,打开后傻眼

白云故事
2025-04-03 12:45:04
马云、蔡崇信、贝克汉姆同框!千亿富豪越有钱越松弛…

马云、蔡崇信、贝克汉姆同框!千亿富豪越有钱越松弛…

商务范
2026-10-10 15:44:49
震惊!智界、尊界刹车踏板出自同一供应商同一质检员,网友热议零部件公差与出厂标准

震惊!智界、尊界刹车踏板出自同一供应商同一质检员,网友热议零部件公差与出厂标准

火山詩话
2026-10-09 08:10:41
人不会无缘无故得肾病!医生:得慢性肾病的人,大概离不开这几点

人不会无缘无故得肾病!医生:得慢性肾病的人,大概离不开这几点

医学科普汇
2026-10-10 22:30:04
广东一60岁女子便血半年一直忍着,直到完全停止排气排便才去医院,最终确诊直肠腺癌,全结肠切除,医生提醒

广东一60岁女子便血半年一直忍着,直到完全停止排气排便才去医院,最终确诊直肠腺癌,全结肠切除,医生提醒

环球网资讯
2026-10-09 15:31:20
2026-10-10 23:36:49
Unity incentive-icons
Unity
Unity中国官方帐户
2520文章数 6737关注度
往期回顾 全部

科技要闻

上世纪成熟的踏板,为何今天还会断裂?

头条要闻

郑钦文晋级中网决赛创历史 曾让决赛对手泪洒中网赛场

头条要闻

郑钦文晋级中网决赛创历史 曾让决赛对手泪洒中网赛场

体育要闻

十年回首:湖人三榜眼的夏天,与NBA无关

娱乐要闻

宋佳一串三大满贯 争议随之而来

财经要闻

双汇因抗生素超标共被罚1.29亿元

汽车要闻

千匹马力+三把锁/顶配能浮水 银河战舰700限时焕新价16.98万起

态度原创

游戏
数码
本地
公开课
军事航空

《魔兽无限》经典女角色新模型曝光!11月4日回归

数码要闻

消息称英伟达计划以24GB显存GeForce RTX 5080显卡取代现有16GB版本

本地新闻

踏访沙县第一村,寻国民小吃本源

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美乌将举行新一轮会谈

无障碍浏览 进入关怀版