5.3 widgets:rendering fast and persistent foliage--game programming gems 5笔记
2007-06-10 15:22
393 查看
这个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树,八叉树阿,能剔除的都剔除掉
这其中描述的方法所画的植物仍旧是非常粗糙的,但是其中描述的一些优化方法以及思想倒是 值得借鉴。
目前比较大型游戏里面对于叶子的渲染都是用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树,八叉树阿,能剔除的都剔除掉
相关文章推荐
- 5.7 a simple method for rendering gemstones--game programming gems 5 笔记
- 5.10 recombinant shaders--game programming gems 笔记
- 5.1 realistic cloud rendering on modern gpus---game programming gems 5
- 5.2 let it snow--game programming gems 5 笔记
- Introduction to 3D Game Programming with DirectX 11学习笔记 4.3 计时和动画
- Introduction to 3D Game Programming with DirectX 11学习笔记 5 渲染管线(一)
- Mathematics for 3D Game Programming and Computer Graphics - Transforming Normal Vectors
- Mathematics for 3D Game Programming and Computer Graphics - Planes in 3D Space
- Introduction to 3D Game Programming with DirectX 11学习笔记 6 Direct3D中的绘制(二)顶点着色器
- 高级H5游戏开发(Advanced game design with html5 and javascript )读书学习笔记(1)--es6相关
- View Programming Guide for IOS:View and Window Architecture笔记
- Game Programming Using QT 全书笔记
- Managed DirectX 9 Kick Start: Graphics and Game Programming
- Unity3D Shaderlab实战学习笔记 一 (《shaders for game programmers and artists》实践)
- Mathematics for 3D Game Programming and Computer Graphics - Projection of P onto Q
- iOS Programming 学习笔记 - 01 View and ViewController
- Mathematics for 3D Game Programming and Computer Graphics - The View Frustum
- improved frustum culling--game programming gems 5-1.6
- 论文笔记:IRGAN:A Minimax Game for Unifying Generative and Discriminative Information
- [siggraph10]color enhancement and rendering in film and game productio