网上博彩论坛
你的位置:网上博彩论坛 > 博彩问答 >

URP源码学习(六)后处理

URP源码学习(六)后处理

URP把后处理分成了两个pass,finalPass只在相机抗锯齿模式为FastApproximateAntialiasing时调用。
开启条件,在ForwardRenderer判断
lastCameraInTheSatck。这名字有误导性,取的值是RenderingData的resolveFinalTarget,而resolveFinalTarget是在InitializeRenderingData函数设置的,取的值是requiresBlitToBackbuffer,InitializeRenderingData被RenderSingleCamera调用。requiresBlitToBackbuffer会在scene相机渲染,以及stack的最后一个相机设为true。这个参数的真正意义,我的理解是表示这个相机是否要渲染到屏幕上,如果要渲染到屏幕,再去判断相机是否开启后处理。后处理已经把画面渲染到屏幕上了,所以finalBlitPass不需要执行。bool applyFinalPostProcessing = anyPostProcessing && lastCameraInTheStack &&renderingData.cameraData.antialiasing == AntialiasingMode.FastApproximateAntialiasing; applyFinalPostProcessing:为true的条件,相机开启后处理,并且lastCameraInTheStack为true、抗锯齿模式为FastApproximateAntialiasing。applyPostProcessing:只要相机开启后处理就为true。如果lastCameraInTheStack为true,会设置渲染目标rt,并设置是否需要对sRGB做转换。PostProcessPass,驱动各个后处理shader
数据
MaterialLibrary:定义实现各个效果的material。PostProcessData:ScriptableObject,配置shader和贴图。在editor可以创建ScriptableObject的实例,但是并不能编辑shader,可能是个未开发完的功能。ShaderConstants:缓存shader名字对应的id。RenderFinalPass,渲染final pass
var material = m_Materials.finalPass; 获取material,用于后续渲染。
if (cameraData.antialiasing == AntialiasingMode.FastApproximateAntialiasing) material.EnableKeyword(ShaderKeywordStrings.Fxaa); 逻辑上来说判断抗锯齿模式是多余的,只有fxaa才会用这个分支渲染。
SetupGrain(cameraData, material); SetupDithering(cameraData, material); 如果对应效果开启,设置shader关键字或贴图,shader用的是finalPass。这俩并不对应具体的shader。
Render函数
Render函数里有个有趣的写法,int GetSource() => source;类似这种,在函数内定义函数。
这个函数按顺序渲染各个后处理效果,简单看下流程。
cmd.Blit(GetSource(), BlitDstDiscardContent(cmd, GetDestination()), m_Materials.stopNaN); 最先渲染的是一个特殊的NaNshader,可选的,作用是将不合法的颜色值用自定义的颜色输出,应该是调试用的,判断颜色是否合法的代码在CoreRP的Common.hlsl文件。DoSubpixelMorphologicalAntialiasing(ref cameraData, cmd, GetSource(), GetDestination()); 处理SubpixelMorphological模式的抗锯齿,消耗较大,移动平台使用要看情况。DoDepthOfField(cameraData.camera, cmd, GetSource(), GetDestination(), cameraData.pixelRect); 对scene camera不开启。Gaussian和Bokeh两种模式DoMotionBlur(cameraData.camera, cmd, GetSource(), GetDestination()); 对scene camera不开启。是相机的运动模糊,物体运动是没有效果的。DoPaniniProjection(cameraData.camera, cmd, GetSource(), GetDestination()); 对scene camera不开启。帕尼尼投影,一种圆柱形投影,效果是扭曲两侧,突出中间,在渲染大视角的时候提供更好的效果。后面的都和UberPost shader相关
void SetupBloom(CommandBuffer cmd, int source, Material uberMaterial) 先按分辨率大小计算模糊次数,每次水平竖直分别模糊,没吃降低一倍分辨率,然后在执行Upsample,完成bloom。设置bloom相关参数和贴图到UberPost shader。设置lens dirtiness相关参数到uber。SetupLensDistortion(m_Materials.uber, cameraData.isSceneViewCamera); 镜头扭曲效果,设置uber shader的参数。SetupChromaticAberration(m_Materials.uber); 比较高性能的色差效果。SetupVignette(m_Materials.uber); 图像边缘的色调变暗,突出中间部分。SetupColorGrading(cmd, ref renderingData, m_Materials.uber); 改变或矫正最终图像的颜色和亮度,处理lut、hdr、tonemappingSetupGrain(cameraData, m_Materials.uber); SetupDithering(cameraData, m_Materials.uber); 在不是final pass的情况下执行。cmd.SetGlobalTexture("_BlitTex", GetSource()); rt设置给_BlitTex。cmd.SetRenderTarget(cameraTarget, colorLoadAction, RenderBufferStoreAction.Store, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare); 设置rt为相机,完成渲染。这些常见的后处理效果,都有比较成熟的算法,具体逻辑就不细看了。

URP的代码大致看了一遍,还有些地方看的不够深,也没完全理解所有细节,以后unity有了新版本,以及有了更深的理解再来补上。

中国有句俗话:没有金刚钻就别揽瓷器活!网上打麻将的人高手不在少数,因此,没有两把刷子的人去哪里打麻将纯粹是去当送财童子的。当然博彩论坛排名,如果你说的钱多到没有地方花博彩论坛排名,那我也只能呵呵了。



 

热点资讯

相关资讯



Powered by 网上博彩论坛 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司