`

粒子系统

 
阅读更多

粒子系统:

大多数情况下,我们在游戏中见到的粒子都只是一些烟或者雾之类的,但是粒子系统本身确实一个很强大的应用。几乎所有具备群体效应的渲染粒子系统都可以应用,例如流体,星辰,群体动画(一群鸟在天上飞,一群人在地上跳舞之类的),反正,具备群体效应的都可以进行尝试。

 

结构:

一个典型的粒子系统分为两个阶段,模拟阶段和渲染阶段。其实也不是粒子系统是这样,基本上整个图形渲染就属于数据更新+渲染的模式。

粒子模型:通常来说粒子应该有两套模型,一套用于在GPU中渲染,另一套是在CPU用于计算。也可以所有的计算都放到GPU端实现,但是我自己觉得这样并不好。

模拟阶段:根据时间因素更新粒子的位置,包括修改描述粒子运动情况的参数,在碰到碰撞的条件下还需要对碰撞检测并作出相应的反应。

渲染阶段:渲染阶段就是普通的渲染流程,所不同的是对于比较小而多的粒子有一些特殊的处理,广告牌是常用的方式之一。对于比较大的模型,采用Instance的方式。或者直接控制大量的简单模型这种情况肯定是最差最少的。

 

 软粒子:


 看下这个图就知道硬粒子和软粒子的区别了,由于粒子是由广告牌的方式显示的,广告牌是一个平面,虽然是面向相机,但是在与场景相交的地方还是会出岔子的。

简单的处理软粒子的方式是:测试粒子和场景的深度进行比较,然后根据差来对粒子进行

fade = saturate((scene_depth – particle_depth) * scale);

 这种方式虽然可以比较,但是对于被遮住的一部分还是有点那个啥。

 

 

  • 大小: 10.2 KB
分享到:
评论

相关推荐

    旧粒子系统转换成新粒子系统.zip

    将旧版粒子系统 转换成 ParticleSystem

    粒子系统简单框架实现

    粒子系统的一个简单框架 class CParticleSystem; class CParticle { public: enum TYPE { VISTUAL, PARTICLE_SYSTEM }; public: CParticle(VOID); virtual ~CParticle(VOID); public: INT liveFrame; // ...

    Ogre粒子系统简介

    粒子系统及粒子脚本 粒子系统在三维显示中占有很重要的地位,如3D中的雨,雪,喷泉,爆炸效果等都是粒子系统神奇魅力的表现。 我们可以用程序的方式虚拟美国哥伦比亚号航天飞机在太空中爆炸的场景:大大小小的碎片向...

    粒子系统源码 粒子系统源码

    粒子系统源码.rar 粒子系统源码.rar 粒子系统源码.rar 粒子系统源码.rar 粒子系统源码.rar

    OPENGL粒子系统之雪花

    OPENGL 粒子系统 雪花 OPENGL 粒子系统 雪花 OPENGL 粒子系统 雪花 OPENGL 粒子系统 雪花 OPENGL 粒子系统 雪花

    基于粒子系统的喷水模拟在煤炭降尘中的应用

    介绍了粒子系统的基本思想,作为构造模糊对象的计算模型的方法,粒子系统采用了一套完全不同于以往造型、绘制系统的方法构造、绘制景物。以此为基础设计了一个通用的粒子系统,采用基于面向对象的思想,并用C++语言描述...

    java3D粒子系统实现方法

    本文简要介绍了基于java3D 平台,粒子系统开发的基本思路和用到的基本技术.对开发者开发虚拟环境下的粒子系统起到开拓思路作用.本粒子系统在cpu端实现,在性能上受到一定局限性.

    OpenGL粒子系统之雪花飘飘

    OpenGL粒子系统大作业,实现了真实雪花模拟,有配乐,可控视角

    基于粒子系统的火焰模拟

    总体上可以分为粒子系统方法、数学物理方法和纹理技术方法,讨论了各自方法的优缺点、适用范围和效果特征; 展望了未来发展的3个重点:火焰细节、控制机制和模拟速度;并对这个方向的研究前景进行了必要的探讨。 关键词...

    XNA环境下粒子系统的飘雪仿真

    由于现实环境中雪花的飘落是非常不规则的,仿真雪花的飘落也是有难度的。为了模拟现实中雪花飘落...通过实例验证了该粒子系统的效果良好,用粒子系统仿真雪花的飘落是可行的,实时地可视化仿真出的三维飘雪场景效果逼真。

    Irrlicht实现粒子系统(演示程序+源代码)

    粒子系统是作为游戏引擎不可或缺的一部分,它可以创造出非常炫的效果,但是传统上,如果是从Direct3D或者是从OpenGL/GLUT开始,将会遇到很大的麻烦,因为需要定义粒子发射器以及粒子管理器,还有种种复杂的东西,...

    3dsmax脚本设计-粒子系统动画-实验报告和模型.zip

    用脚本制作粒子系统动画和类粒子动画。 1.根据视频教学制作喷泉动画,使用超级喷射,在侦听器中编写代码控制粒子动画。 2.根据视频教学制作类粒子动画,该动画虽然未使用3dsMax的粒子系统,但是由众多可以看作是粒子...

    openGL为粒子系统把点加上纹理

    openGL为粒子系统把点加上纹理,让粒子显示你想要的东西

    flash粒子系统简要说明

    flash粒子系统简要说明,WORD文件,是学习粒子系统入门教学·!

    基于opengl的粒子系统

    基于opengl的粒子系统,适合初学者学习,比较简单

    基于粒子系统的火焰

    基于粒子系统的火焰模拟的源代码 void CGLSetup::InitGL(GLsizei Width, GLsizei Height) { // Enable Texture Mapping glEnable(GL_TEXTURE_2D); // This Will Clear The Background Color To Black ...

    ogre粒子系统 雨滴 优化

    ogre 粒子系统 雨滴

    Opengl雪花烟花粒子系统

    基于opengl的粒子系统下的烟花雪花,比较多的注解,适合初学opengl对粒子系统有兴趣的同学

    open GL 粒子系统

    open GL 粒子系统open GL 粒子系统open GL 粒子系统open GL 粒子系统open GL 粒子系统

    opengl实现粒子系统

    本代码用opengl实现了粒子系统,对于opengl初学者来说可以参考

Global site tag (gtag.js) - Google Analytics