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树,八叉树阿,能剔除的都剔除掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值