-
官方参考文档中关于粒子系统的matplotlib介绍
资源介绍
第十四章 粒子系统
(((
(
ParticleParticleParticle
Particle
SystemsSystemsSystems
Systems
)))
)
许多自然现象是由很多小的小颗粒组成的,它们有相似的行为。(例如,雪花落下,闪烁的火焰,
冲出枪管的“子弹”),粒子系统用来模拟这种现象。
目标:目标:目标:
目标:
学习我们给定的粒子属性,如何描述 D3D 中的粒子。
设计一个灵活的粒子基系统的基类,包括一般的粒子系统都有的属性和方法。
模拟 3 个具体的粒子系统,雪、爆炸、粒子枪。
14.114.114.1
14.1
粒子和点精灵(粒子和点精灵(粒子和点精灵(
粒子和点精灵(
PointPointPoint
Point
SpriteSpriteSprite
Sprite
)))
)
粒子是一个很小的对象,它通常用来模拟数学中的一个点。点元是用来显示粒子的很好的方案。
可是点元被光栅化成一个简单的像素。这没给我们多少灵活性,因为我们想有各种大小不同的粒子,
并且把整个纹理平滑映射到这些粒子上。在 Direct3D 8.0,以前,因为点元方法的局限性而完全不使用
他们。代替的方法是,程序员将使用公告板去显示粒子,一个板是一个方格,世界矩阵用它来确定方
向,使它总是朝向照相机。
Direct3D 8.0 引入一个特殊的点元叫点精灵,多数时候被应用在粒子系统中。与一般的点元不同的
是,点精灵有纹理映射并能改变大小。与公告板不同的是,能用一个简单的点描述一个点精灵,节省
内存和处理时间,因为我们只是必须保存和处理一个点,而公告板则是四个。
14.1.114.1.114.1.1
14.1.1
结构的格式
我们使用下面的顶点结构来描述粒子的位置和颜色:
这个结构只保存粒子的位置和颜色,这取决于你程序的需要,你能够用同样的结构去保存一套纹
理坐标,我们在下一节讨论给点精灵赋予纹理。
struct Particle
{
D3DXVECTOR3 _posit ion;
D3DCOLOR _color;
static const DWORD FVF;
};
const DWORD Particle::FVF = D3DFVF_XYZ | D3DFVF_DIFFUSE;
- 上一篇: 雪系统例子的屏幕截图-matplotlib官方参考文档
- 下一篇: 小新试闯第三关-SQL入门教程