`
dogasshole
  • 浏览: 840082 次
文章分类
社区版块
存档分类
最新评论

5.3 widgets:rendering fast and persistent foliage--game programming gems 5笔记

 
阅读更多

这个gem描述如何来渲染植物和树。

这其中描述的方法所画的植物仍旧是非常粗糙的,但是其中描述的一些优化方法以及思想倒是值得借鉴。

目前比较大型游戏里面对于叶子的渲染都是用alpha test来做,就是一大片叶子其实是一个正方形,然后贴图上去,进而用alpha test砍掉非叶子部分。这样在做阴影的时候也可以非常理想。

这篇gem主要集中在及其简单的植物上,所面向的游戏类型也是对于植物细节要求特别高的,那么就用两个正方形十字交叉,用同样的贴图来画就好。

那么这里又提到一些优化:

1, batch: batch有多个级别,最简单的batch就是把使用同样pixel shader和vertex shader的model都集中在一起,统一画,这样就不用切换shader,进而省很多时间。

那么这里的植物画法的batch就更进一步,是把所有的用同一贴图的植物集中在一切,用triangle strip连接成一个mesh。这样一个batch就把一类大量的植物都画掉了。

其中需要注意的地方就是triangle strip的排列方式,因为strip中一个点会影响到多达三个点,我们是在画多个独立的矩形,而不是连接的,所以排列点来打散是需要做的工作:比如我们有1,2,3,4,8,9,10,11

那么打散排列就是1,2,3,4,4,8,8,9,10,11

2,非常传统的优化方法了,bsp,bv树,八叉树阿,能剔除的都剔除掉

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics