性能优化 可见性剔除学习 空间分割术,包围盒检测,遮挡检测
admin
2024-01-25 18:15:53

可见性检测是为了从场景物品开始 尽可能多的去除不可见物体

可见性层次:像素,三角形,物体,装满物体的房间,有多个房间的楼房

关于像素,三角形,物体的检测:

包围盒检测(物体级):

基本思想:包围盒不可见则 三角形和像素一定不可见
可见再去判断三角形可见 再去判断像素可见
包围盒检测方式:基于视锥检测包围盒(视锥体内外检测和投影矩阵)
视锥体内外检测:
把点和面转到裁剪空间
依次检测包围盒的8个点对视锥体的6个面进行内外判断
比较大的缺点是不能检测特殊位置的物体 如下图右上角的

但这类物体不会太多 当然可以使用投影矩阵的方式进行裁剪 但投影矩阵的裁剪方式太耗时了? 不如直接渲染出来可能还快一点(比起用投影矩阵的方式)?

遮挡检测(像素级):

判断包围盒是否被其他物体遮挡是非常困难的 最好的方式就是用 深度测试来做检测 但这类检测依然是消耗太高 最好在之前就可以把物品剔除出去 下面介绍空间分割术

空间分割术(空间级物体房间,楼房 ):

直接对空间进行分割 怎么划分空间 用物体数量来划分
超过一定数量就划分出来一个空间 最简单的方式就是动态四叉树结构
当当前空间超过一定数量时就对该空间进行划分
动态四叉树结构(用平行轴的方式分割),
二叉空间分割树BSP(任意方向的线分割):
经典BSP:分割所有物体 如果物体处于两区之间则直接把该物体分割为两部分
但这样做又不利于成批提交三角网格(合批)所以最好跟节点也行存储物品 当物体在中间时 不把该物体归类到叶子节点

做优化的思路大概可能就是先
用空间分割术判断空间
再用包围盒进行物体级别的判断
再用深度测试进行像素级别的检测

相关内容

热门资讯

杭州灵隐飞来峰景区12月1日起...   新华社杭州11月19日电(记者段菁菁)为更好地满足市民游客的旅游需求、提升游览品质,杭州西湖风景...
杭州官宣取消灵隐寺门票! 每经编辑|程鹏 11月19日,每经小编从杭州西湖景区官方账号了解到,自2025年12月1日起,灵隐...
装上伊贝莎泳池,民宿营业额反超... “之前旺季靠降价抢单,现在客人主动加价订周末房!” 经营民宿三年的李姐,至今对引入伊贝莎泳池后的变化...
霉腌醉酱的美食哲学,看中国烹饪... 主讲人、图片提供 / 茅天尧 文字整理 / 孙阳 绍兴菜历史悠久,技艺源远流长,以“霉”“腌”“醉...