当前位置: 首页 > web >正文

【C++游戏引擎开发】第19篇:Compute Shader实现Tile划分

一、Tile划分的数学基础

1.1 Tile尺寸的几何分析

1.1.1 屏幕空间离散化原理

设屏幕分辨率为 W × H W \times H W×H,Tile尺寸为 T w × T h T_w \times T_h Tw×Th,则Tile总数为:
N t i l e s = ⌈ W T w ⌉ × ⌈ H T h ⌉ N_{tiles} = \lceil \frac{W}{T_w} \rceil \times \lceil \frac{H}{T_h} \rceil Ntiles=TwW×ThH
当选择 T w = T h = 32 T_w=T_h=32 Tw=Th=32时,在1080p分辨率下将产生:
N t i l e s = ⌈ 1920 32 ⌉ × ⌈ 1080 32 ⌉ = 60 × 34 = 2040  tiles N_{tiles} = \lceil \frac{1920}{32} \rceil \times \lceil \frac{1080}{32} \rceil = 60 \times 34 = 2040 \text{ tiles} Ntiles=321920×321080=60×34=2040 tiles

1.1.2 局部工作组尺寸优化

Compute Shader的local_size配置需满足:

T w × T h = local_size_x × local_size_y × K T_w \times T_h = \text{local\_size\_x} \times \text{local\_size\_y} \times K Tw×Th=local_size_x×local_size_y×K

其中 K K K为执行批次系数,现代GPU建议取16的倍数

1.2 视锥体插值算法

1.2.1 透视投影参数化

定义Tile在NDC空间的边界:
{ x m i n = − 1 + 2 i N c o l s x m a x = − 1 + 2 ( i + 1 ) N c o l s y m i n = − 1 + 2 j N r o w s y m a x = − 1 + 2 ( j + 1 ) N r o w s \begin{cases} x_{min} = -1 + \frac{2i}{N_{cols}} \\ x_{max} = -1 + \frac{2(i+1)}{N_{cols}} \\ y_{min} = -1 + \frac{2j}{N_{rows}} \\ y_{max} = -1 + \frac{2(j+1)}{N_{rows}} \end{cases} xmin=1+Ncols2ixmax=1+Ncols2(i+1)ymin=1+Nrows2jymax=1+N

http://www.xdnf.cn/news/864.html

相关文章:

  • 计组1.2.2——各个硬件的工作原理
  • 硬件工程师面试常见问题(4)
  • 操作系统期中复习
  • 车载软件架构 --- 二级boot设计说明需求规范
  • 序列号绑定的SD卡坏了怎么办?
  • AI驱动下的企业学习:人力资源视角下的范式重构与价值觉醒
  • Materials Studio(二)——无机分子建模
  • 当try遇见catch:前端异常捕获的边界与突围
  • ADB -> pull指令推送电脑文件到手机上
  • 24. git revert
  • [渗透测试]渗透测试靶场docker搭建 — —全集
  • 【Linux】轻量级命令解释器minishell
  • 计算机组成原理笔记(十九)——4.4定点乘法运算
  • CentOS 7进入救援模式——VirtualBox虚拟机
  • 深入解析Vue3响应式系统:从Proxy实现到依赖收集的核心原理
  • Kubernetes 创建 Jenkins 实现 CICD 配置指南
  • 目标检测中的损失函数(二) | BIoU RIoU α-IoU
  • k8s之 kube-prometheus监控
  • 6N60-ASEMI机器人功率器件专用6N60
  • RabbitMQ
  • 进程控制(linux)
  • Tailwind 武林奇谈:bg-blue-400 失效,如何重拾蓝衣神功?
  • CSS零基础入门笔记:狂神版
  • http 文件下载和上传服务
  • Android RK356X TVSettings USB调试开关
  • LabVIEW数据采集与传感系统
  • 【项目管理】成本类计算 笔记
  • 离线安装rabbitmq全流程
  • postman乘法计算,变量赋值
  • EXCEL学习