优化相关知识03 减少顶点数目处理

抄书笔记 :UnityShader 入门精要 冯乐乐

尽管DrawCall是一个非常重要的性能指标,但是顶点数目同样可能成为GPU的瓶颈。
接下来会写出3个常用的顶点优化策略。
1、优化几何体
3D游戏制作通常是由模型制作开始的。在建模的时候,一条规则特别重要:尽可能减少模型的三角面片的数目。一些对于模型没有影响,或者是肉眼非常难察觉的到区别的顶点都要尽可能的去掉。为了尽可能减少模型中的顶点数目,美工人员往往需要优化网格结构。在很多三维建模的软件都有相应的优化选项,可以自动优化网格结构。
通常来说,Unity渲染窗口显示的顶点数目以及三角面片的顶点数,通常要大很多。造成Unity比建模软件的顶点数差异的原因如下:
三位软件更多的站在人类角度去理解顶点的,即组成几何体的每个顶点都是一个单独的顶点。在Untiy中,是在GPU的角度去计算顶点数目的,在GPU看来,有时候需要把一个顶点拆分成两个或者更多的顶点。这种将顶点一分为多的原因主要有两个:
1)一个是为了分离纹理坐标,
2)为了产生平滑的边界。
他们的本质,其实都是因为对于GPU来说,顶点每个属性和顶点之间必须是一对一的关系。
而分离纹理坐标,是因为建模时一个顶点的纹理坐标有多个,例如立方体的四个顶点。同一个顶点的纹理坐标可能不一样,对于GPU来说是不能理解的。因此必须把这个顶点拆分成多个具有不同纹理的坐标的顶点。平滑边界也是类似的,不同的是一个顶点可能对应多个发现信息或者切线信息。这通常是要决定一个边是一条硬边还是一条平滑边。
对GPU来说,他本质上只关心有多少个顶点。因此,尽可能减少顶点数目才是真正需要关心的事情。

2、LOD技术
另一个减少顶点数目的方法是LOD(Level

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值