摘要: SRPCore Material classification与优化Screen Space Reflection 在写Visibility Buffer流程之前,还得给自己的管线添加延迟渲染的流程。 于是乎在参考HDRP的Deferred Lighting的时候看到了Indirect Dispatch的优化手法,然后也意识到这样的优化手法也能够作用到之前写的SSR之中。 阅读全文
posted @ 2024-05-07 01:53 凶恶的真实 阅读(178) 评论(0) 推荐(0) 编辑
摘要: SRPCore ColorPyramid优化 很早之前就看HDRP里面的Color ColorPyramid的生成不爽了,都不知道为什么明明有现成的ColorPyramid.compute放着不用,还是用的是PixelShader生成。DrawCall数量多,效率也不够Compute的方式快。 这篇文章主要解析ColorPyramid.compute怎么用LDS优化GuassianBlur以及不同方式Copy mip 0的性能对比。 阅读全文
posted @ 2024-04-23 03:13 凶恶的真实 阅读(74) 评论(0) 推荐(0) 编辑
摘要: SRPCore Motion Vector流程以及材质管理 原本一开始是想着写个简单点的SSR的,看到HDRP SSR利用Motion Vector重新投影能够用历史帧实现异步,就肘不动道了。 于是乎就想通过这篇文章记录关于unity实现Motion Vector输出的一些坑点(材质Pass Enable/模版值管理)。 阅读全文
posted @ 2024-04-18 18:54 凶恶的真实 阅读(242) 评论(0) 推荐(0) 编辑
摘要: SRPCore GenerateHLSL解析及其扩展 在之前的项目开发HDRP的时候,就觉得绑定RT的管理就像一坨屎一样难受,改了管线RT的绑定顺序,原来的Shader输出又会有问题(主要是SV_Target顺序问题), 为了解决所有pass的RT绑定顺序的问题,后面就想着用代码生成的办法自动生成Include文件,规范Pass输出struct引用文件,顺带也把这个GenerateHLSL Attribute解析一下,于是乎就有了这一篇文章。 阅读全文
posted @ 2024-04-13 18:29 凶恶的真实 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Unity的Forward+ FPTL光照剔除解析(五) 这一章是把之前留的关于标量化LightLoop的坑给填了,会涉及到一些关于GPU的硬件知识,标量化变量的好处和途径。 阅读全文
posted @ 2024-04-10 03:15 凶恶的真实 阅读(99) 评论(0) 推荐(0) 编辑
摘要: Unity的Forward+ FPTL光照剔除解析(四) 看完上一节基本上HDRP的光照剔除数据的流程就写完了,这一节主要是解析适用于透明队列的Cluster光照剔除。 为了让Cluster的均匀分布,Cluster的光照剔除也同样是借助了PreDepth的深度图。 阅读全文
posted @ 2024-04-08 02:23 凶恶的真实 阅读(83) 评论(0) 推荐(1) 编辑
摘要: Unity的Forward+ FPTL光照剔除解析(三) 如果看了前面的BigTileLightList的建立,这一章会简单一点。 因为如果启用了BigTile之后,这里的BuildPerTileLightList就需要从BigTileLightList里面读取LightList。 否则还是需要像BigTile一样去先走同样的灯光剔除流程(NDCAABBBoundTest,SphericalIntersectionTests, 然后才到最后的FinePruneLightsTest。 阅读全文
posted @ 2024-04-06 04:53 凶恶的真实 阅读(257) 评论(0) 推荐(0) 编辑
摘要: Unity的Forward+ FPTL光照剔除解析(二) 这一节主要解析BigTile的流程,BigTile主要的作用是: 在进行更细粒度的剔除之前,建立起来屏幕空间上的LightList(BigTile)。 在建立更细粒度的Tile Light List的时候,可以通过屏幕坐标映射找到对应的BigTile,只需对BigTile内的Light做剔除计算,从而减少剔除时的运算量。 阅读全文
posted @ 2024-04-04 15:12 凶恶的真实 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Unity的Forward+ FPTL光照剔除解析(一) FPTL也叫Fine Pruned Tiled Light Lists。自从我开发HDRP的时候,就一直想把这个FPTL的实现完全看明白。但是无论是国内还是国外都几乎找不到关于HDRP相关算法的解析,基本上都是寥寥草草几句话带过,于是乎就有了这篇水文。 阅读全文
posted @ 2024-03-30 01:58 凶恶的真实 阅读(158) 评论(0) 推荐(0) 编辑
摘要: MaterialEditor GUI重写的歪门邪道 过滤掉unity里面的其他没有用的Shader,或者重新将工程里面的Shader列表重新排序,避免美术使用乱七八糟项目以外的Shader的解决方案 阅读全文
posted @ 2024-03-26 19:11 凶恶的真实 阅读(129) 评论(0) 推荐(0) 编辑