Fine Prued Tiled Light Lists

视频讲解:https://www.bilibili.com/video/av90517615

FPT是在Tile裁剪的基础上在进行一次剔除
可用于Forward Render和Deferred Shading两种渲染管线
利用了并行架构进行优化
将线程分为线程组再分为多个线程,Thread Group中线程可以同步,做到每个算法单元的同步(要考虑到硬件性能)。在指定线程组中的线程数量时,大小要小于等于1024,AMD中为64的倍数,intel中为32的倍数
CPU和GPU数据传递通过Computer Buffer(同步,需等待结束,在Editor中也可以使用,但是性能较差)
GPU和renderpipeline数据传递通过RWStructured Buffer(在GPU中传递)
一般步骤
对于每个相机
CPU端查找所有与视椎体相交的光源列表,并排序
GPU端计算在屏幕空间下光源的AABB
将屏幕分成16*16px per Tile
通过screenXY计算Tile的数量
那么1个Tile=1个thread group=64个线程
计算depth-buffer中的最大与最小深度(与线程同步)
得到min,max后,将相交光源的index存入Light List
做fine prued裁剪(判断是否在光源形状中,检查光源的类型,一条线程1个像素、一条线程4个光源,用Or操作最后储存的位数据)
在最终的渲染中使用该光源
Tips
首先在HDRP中要开启该功能(在Assets中)
因为需要深度值,所以只能用于不透明物体
在deferred中强制开启,透明物体使用clustered
在forward中选择开启,透明物体使用clustered

Unity Fine Prued Tiled Light (FPTL)相关推荐

  1. Unity可编程渲染管线系列(七)反射(镜面和环境)

    目录 1 高亮的高光 1.1 光滑度 1.2 表面数据 1.3 漫反射光 1.4 镜面选项 1.5 镜面高光 1.6 逐物体平滑度 2 反射环境 2.1 采样环境 2.2 调制反射 2.3 菲涅尔 2 ...

  2. Unity可编程渲染管线系列(四)聚光灯阴影(阴影贴图)

    目录 1 一个带有阴影的聚光灯 1.1 阴影贴图 1.2 阴影命令缓冲区 1.3 设置 渲染目标 1.4 配置视图和投影矩阵 1.5 渲染阴影投射器 2 阴影投射器通道 2.1 阴影包含文件 2.2 ...

  3. unity3d 学习笔记四 skybox(天空盒) light(光源) halo(光晕)

    Unity3D学习笔记(四)天空.光晕和迷雾 六年前第一次接触<魔兽世界>的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的地方,深深印在我的脑海里.当时在艾泽拉斯大陆还不能使用飞行坐骑,试 ...

  4. Unity灯光、烘焙小结(二)sikiedu光照烘焙教程

    ****************sikiedu光照烘焙教程*************** https://www.bilibili.com/video/av56087784?p=1 1.Ctr+shi ...

  5. Unity插件之NGUI学习(4)—— 创建UI2DSprite动画

    创建一个新的Scene.并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel. 然后在选中Panel,在菜单中选择NGUI->Crea ...

  6. Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸

    依据 Unity插件之NGUI学习(2),创建一个UI Root,在UI Root下创建一个Texture作为背景图,并设置图片,在Wiget下调整大小:然后在UI Root下再创建一个Panel. ...

  7. lua------------------Unity3D研究院编辑器之打开unity不可识别的文件(十三)

    Unity3D研究院编辑器之打开unity不可识别的文件(十三) 雨松MOMO [Unity3D拓展编辑器] 围观8597次 9 条评论 编辑日期:2017-03-02 字体:大 中 小 有些特殊后缀 ...

  8. Unity超基础学习笔记(二)

    Unity超基础学习笔记(二) 1. 基本数据类型的扩展 之前在K12中学习了一些基本的数据类型,实际上C#支持更多的数据类型.如下: 注意无符号整型数和有符号整型数的表示范围,例如: int 能表示 ...

  9. Unity 3D 动画系统(Mecanim)|| Unity 3D 人形角色动画(Avatar)

    Unity 3D 动画系统(Mecanim) Mecanim 动画系统是 Unity 公司推出的全新动画系统,具有重定向.可融合等诸多新特性,可以帮助程序设计人员通过和美工人员的配合快速设计出角色动画 ...

最新文章

  1. Redhat环境MySQL+Apache+PHP环境配置
  2. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代...
  3. 最小覆盖圆的增量算法
  4. UVA 11992 - Fast Matrix Operations(段树)
  5. 用POP动画编写带富文本的自定义动画效果
  6. 医疗新基建,更需新安全
  7. 身为管理者 会讲的六十八个故事
  8. Java、JSP公文流转系统
  9. 飞鸽传书2007绿色版该消息称
  10. 设计师经常逛的色彩搭配网站—配色方案吧
  11. 游戏服务器和普通服务器的区别
  12. 计算机代表学校拿什么奖,学校荣获第十届中国大学生计算机设计大赛优秀组织奖...
  13. 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环
  14. final cut pro 最快速,最简单的批量字幕制作方法!
  15. Mobile(3)-攻防世界-APK逆向
  16. EFR32 gecko 2生产烧录
  17. 二维码原理与编码介绍
  18. javaweb学习笔记(佟刚老师笔记)
  19. 详解ISO 13400文档(DoIP协议)-2
  20. java sleep唤醒_详解Java中的线程让步yield()与线程休眠sleep()方法

热门文章

  1. 深度学习之基于LeNet-5实现cifar10的识别
  2. 从二值检索到层次竞买图——让搜索广告关键词召回焕然新生
  3. python爬虫取腾讯视频评论
  4. java 读取文件内容 实例_Java 实例 – 读取文件内容 - Java 基础教程
  5. 华为鸿蒙分布式系统2020,鸿蒙2.0来了!华为开发者大会HDC 2020宣布
  6. 计算机最早的运算领域,2013年计算机一级MsOffice模拟试题及答案38
  7. apache poi使用例_GitHub - cooker/poi-examples: apache poi 使用案例
  8. idea 代码第一次上传git_如何使用IDEA将项目代码首次上传至GitHub,并持续推送?...
  9. C++课程设计,12306模拟写起来就是这么粗暴
  10. 数据结构-队列之链式队列