一个简单的粒子系统

原创 2013年12月02日 16:02:28

一个简单的粒子系统

    一个简单的小程序,欢迎大家都来交流交流。

环境要求

    环境:glew-1.9,freglut,Opengl,IDE:vs2012,win32

粒子系统效果

    粒子实现的喷泉效果:

    喷泉效果参数:

// param1 构造参数

float startcol[4] = {0.5f, 0.3f, 0.2f, 1.0f};

float colfactor[4] = {-0.01f, 0.005f, 0.00f, 0.0f};

GLuint showlist = 0;

// param2 构造参数

float udvParam[3] = {1.0f, 0.0f, 0.0f}; // 方向向量不必为单位向量,因为  actionDescriptor 的构造函数会自动将其单位化

float rotateParam[3] = {0.0f, 0.0f, 90.0f};

float rotateVarParam[3] = {0.0f, 10.0f, 10.0f};

float speedParm = 0.06f;

float speedFactorParam[2] = {1.0f, 0.02f};

// param3 构造参数

uint32 lifelong = 2000; // 粒子生存时间ms

    粒子实现的落雪效果:

    落雪效果参数:

// param1 构造参数

float startcol[4] = {0.5f, 0.5f, 0.5f, 1.0f};

float colfactor[4] = { 0.0f, 0.0f, 0.00f, 0.0f};

GLuint showlist = 0;

// param2 构造参数

float origionPlaneParam[2] = {0.5f, 0.5f};

float planeNormalsParam[3] = {0.0f, -1.0f, 0.0f};

float speedParam = 0.002f;

float speedFactorParam[2] = {0.975f, 0.0f};

float forceParam[3] = {0.0f, 0.00f, 0.0f};

// param3 构造参数

uint32 lifelong = 2000; // 粒子生存时间ms

主要数据结构

    粒子系统中包含以下类和结构体:

class clock;

class randomMaker;
class appearanceDescriptor;
class actionDescriptor;
class lifeDescriptor;
class particle;
class anti;

    简单说明以下这些类的功能:clock是一个计时器;randomMaker是一个随机数产生器,是我从Opencv里刨出来的,精简之后封装了一下;particle是粒子类,包含了粒子的各种属性,颜色,速度,位置,方向,生命长度等;粒子的所有属性大致分为三种,外观,动作和生命期,为了描述方便我把三种属性分别封装为appearanceDescriptor(外观描述符),actionDescriptor(动作描述符),lifeDesCriptor(生命期描述符);anti用来管理一组粒子,构造anti是通过提供上边三个例子描述符的类规定粒子的外观,动作和存在的时间。

项目源文件及其下载地址

下载地址:particleSys.zip

下载后请认真核对压缩文件信息:
大小: 18464009 字节
MD5: 8AD880E643E7A078CEA7508C670E0D75
SHA1: CE000E3741FFD2945DAE57DECEFEA5A580E7E231
CRC32: 996BD6F0


自己整理的粒子系统管理(是不是太简单了?)

自己整理的粒子系统管理,是不是太简单了? LibParticle.java package game.pak; import java.util.ArrayList; import and...
  • ak4100
  • ak4100
  • 2014年03月28日 10:22
  • 532

粒子系统的简单实现

粒子系统说起来高深摸测,其实就是许多许多许多许多许多许多的点图象,然后对其进行运行速度,方向,衰减的处理。本文粒子系统的实现是基于图形API,OPenGL。语言是:C++。不可少的,先定义一些全局变量...
  • gameres
  • gameres
  • 2006年09月08日 14:47
  • 1424

【Visual C++】游戏开发五十 浅墨DirectX教程十八 雪花飞扬:实现唯美的粒子系统

本系列文章由zhmxy555(毛星云)编写,转载请注明出处。   文章链接:http://blog.csdn.net/zhmxy555/article/details/8744805 作者:毛星云(浅...
  • zhmxy555
  • zhmxy555
  • 2013年04月01日 02:24
  • 29400

(十三)利用processing模拟粒子系统

模拟粒子系统,粒子的组成,粒子系统的组成,粒子系统的多样性; 粒子的设计: class Particle{ PVector location; //粒子的位置 PV...
  • Ant_look
  • Ant_look
  • 2016年03月12日 18:52
  • 2586

基于Direct3D实现简单的粒子系统

      这是一个基于D3D的基本的粒子系统,能够实现一些基本的效果,如:雨、雪、烟花等。代码很少,只有一个头文件和一个CPP文件,便于研究粒子系统的原理。EpParticleSystem.h:#i...
  • ntwilford
  • ntwilford
  • 2009年09月12日 07:41
  • 4124

processing 粒子系统

  • 2017年02月28日 15:22
  • 95KB
  • 下载

processing 粒子文字

  • 2017年11月04日 13:40
  • 3KB
  • 下载

一个简单的粒子系统

一个简单的粒子系统
  • funte
  • funte
  • 2013年12月02日 16:02
  • 1639

粒子系统简单框架实现

  • 2010年05月03日 09:42
  • 219KB
  • 下载

[VC] 【游戏编程】构架游戏中的粒子系统 图文教程

转载自:http://www.52pojie.cn/thread-165772-1-1.html Expression GameEngine Particle System的实现效果   动...
  • zsc2014030403015
  • zsc2014030403015
  • 2016年10月14日 00:44
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个简单的粒子系统
举报原因:
原因补充:

(最多只允许输入30个字)