CN102982506A - 基于gpu的粒子系统优化 - Google Patents
基于gpu的粒子系统优化 Download PDFInfo
- Publication number
- CN102982506A CN102982506A CN2012104514433A CN201210451443A CN102982506A CN 102982506 A CN102982506 A CN 102982506A CN 2012104514433 A CN2012104514433 A CN 2012104514433A CN 201210451443 A CN201210451443 A CN 201210451443A CN 102982506 A CN102982506 A CN 102982506A
- Authority
- CN
- China
- Prior art keywords
- particle
- gpu
- cpu
- vertex
- multithreading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及计算机图形技术领域,更具体地说,涉及粒子系统的渲染优化方法,主要采用了shader3.0中的顶点纹理技术,把粒子预存为贴图数据,传入顶点着色器,然后根据当前帧的视点信息,进行粒子三角形的位置计算。同时结合多线程技术,把Cpu中关于粒子更新部分转移到专门的线程中进行计算。通过将可编程GPU技术引入到粒子系统当中,将一部分本应由CPU负责的粒子更新任务放到GPU中进行,使部分负载从CPU转移到GPU,从而将CPU从繁重地顶点变换汁算中解脱出来;同时采用多线程,减少GPU与CPU的等待时间,结束静态批次,提高粒子的渲染效率。
Description
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及粒子系统的渲染优化方法。
背景技术
烟火、云雾、瀑布、植物和土壤等自然景物的可视化是计算机图形学中极具挑战性的研究课题,传统的造型方法很难比较真实地描述它们的形状和特征。
粒子系统适用于不规则物体的可视化仿真。粒子系统需要对复杂的运动系统进行模拟,例如一场暴风雪,一个爆炸,就需要大量的三角形绘制。同时,粒子的位置更新和碰撞检查,需要耗费大量的CPU时间,GPU与CPU的调用严重不同步,GPU大量的时间是在等待CPU进行完粒子的生成与位置更新。
发明内容
本发明要解决的技术问题在于,采用可编程顶点着色器,把精灵粒子更新的部分操作转移到GPU中,采用多线程技术,减少CPU与GPU的等待时间。
为了实现上述目的,本发明所采用的技术方案是基于GPU的粒子系统优化,其步骤如下:
1)根据当前的粒子系统,预生成顶点位置贴图,该位置是CPU更新的位置,通过这个位置,结合的当前视点信息,可以生成最终的粒子三角形;
2)组织顶点,把视点的位置和朝向信息传入顶点着色器,同时在Shader中读取贴图,计算出最终三角形位置;
3)把更新操作转移到多线程中,当粒子未更新完毕时,采用上一帧数的顶点绘制粒子,当多线程计算的粒子位置结束后则更新渲染中的顶点位置;
4)根据粒子的种类,组织同一种粒子,进行静态批次渲染,减少显卡的渲染命令调用次数。
本发明主要采用了shader3.0中的顶点纹理技术,把粒子预存为贴图数据,传入顶点着色器,然后根据当前帧的视点信息,进行粒子三角形的位置计算。同时结合多线程技术,把Cpu中关于粒子更新部分转移到专门的线程中进行计算。通过将可编程GPU技术引入到粒子系统当中,将一部分本应由CPU负责的粒子更新任务放到GPU中进行,使部分负载从CPU转移到GPU,从而将CPU从繁重地顶点变换汁算中解脱出来;同时采用多线程,减少GPU与CPU的等待时间,结束静态批次,提高粒子的渲染效率。
具体实施方式
基于GPU的粒子系统优化,其步骤如下:
1)根据当前的粒子系统,预生成顶点位置贴图,该位置是CPU更新的位置,通过这个位置,结合的当前视点信息,可以生成最终的粒子三角形;
2)组织顶点,把视点的位置和朝向信息传入顶点着色器,同时在Shader中读取贴图,计算出最终三角形位置;
3)把更新操作转移到多线程中,当粒子未更新完毕时,采用上一帧数的顶点绘制粒子,当多线程计算的粒子位置结束后则更新渲染中的顶点位置;
4)根据粒子的种类,组织同一种粒子,进行静态批次渲染,减少显卡的渲染命令调用次数。
Claims (1)
1.基于GPU的粒子系统优化,其步骤如下:
1)根据当前的粒子系统,预生成顶点位置贴图,该位置是CPU更新的位置,通过这个位置,结合的当前视点信息,可以生成最终的粒子三角形;
2)组织顶点,把视点的位置和朝向信息传入顶点着色器,同时在Shader中读取贴图,计算出最终三角形位置;
3)把更新操作转移到多线程中,当粒子未更新完毕时,采用上一帧数的顶点绘制粒子,当多线程计算的粒子位置结束后则更新渲染中的顶点位置;
4)根据粒子的种类,组织同一种粒子,进行静态批次渲染,减少显卡的渲染命令调用次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104514433A CN102982506A (zh) | 2012-11-13 | 2012-11-13 | 基于gpu的粒子系统优化 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104514433A CN102982506A (zh) | 2012-11-13 | 2012-11-13 | 基于gpu的粒子系统优化 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102982506A true CN102982506A (zh) | 2013-03-20 |
Family
ID=47856456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104514433A Pending CN102982506A (zh) | 2012-11-13 | 2012-11-13 | 基于gpu的粒子系统优化 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982506A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544729A (zh) * | 2013-09-24 | 2014-01-29 | Tcl集团股份有限公司 | 一种动画数据处理方法及系统 |
CN103714568A (zh) * | 2013-12-31 | 2014-04-09 | 北京像素软件科技股份有限公司 | 一种大规模粒子系统的实现方法 |
CN106157234A (zh) * | 2015-03-31 | 2016-11-23 | 北京畅游天下网络技术有限公司 | 利用粒子系统进行图形处理的方法和装置 |
WO2017124809A1 (zh) * | 2016-01-21 | 2017-07-27 | 上海斐讯数据通信技术有限公司 | 一种基于移动终端gpu运行的粒子群优化方法和系统 |
CN107392835A (zh) * | 2016-05-16 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种粒子系统的处理方法及装置 |
CN107609631A (zh) * | 2017-08-03 | 2018-01-19 | 福建省天晴互动娱乐有限公司 | Unity中实现群集AI的方法、存储介质 |
CN112652044A (zh) * | 2021-01-05 | 2021-04-13 | 网易(杭州)网络有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
-
2012
- 2012-11-13 CN CN2012104514433A patent/CN102982506A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544729A (zh) * | 2013-09-24 | 2014-01-29 | Tcl集团股份有限公司 | 一种动画数据处理方法及系统 |
CN103714568A (zh) * | 2013-12-31 | 2014-04-09 | 北京像素软件科技股份有限公司 | 一种大规模粒子系统的实现方法 |
CN103714568B (zh) * | 2013-12-31 | 2017-02-15 | 北京像素软件科技股份有限公司 | 一种大规模粒子系统的实现方法 |
CN106157234A (zh) * | 2015-03-31 | 2016-11-23 | 北京畅游天下网络技术有限公司 | 利用粒子系统进行图形处理的方法和装置 |
WO2017124809A1 (zh) * | 2016-01-21 | 2017-07-27 | 上海斐讯数据通信技术有限公司 | 一种基于移动终端gpu运行的粒子群优化方法和系统 |
CN107392835A (zh) * | 2016-05-16 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种粒子系统的处理方法及装置 |
CN107392835B (zh) * | 2016-05-16 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 一种粒子系统的处理方法及装置 |
US10699365B2 (en) | 2016-05-16 | 2020-06-30 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and storage medium for processing particle system |
CN107609631A (zh) * | 2017-08-03 | 2018-01-19 | 福建省天晴互动娱乐有限公司 | Unity中实现群集AI的方法、存储介质 |
CN112652044A (zh) * | 2021-01-05 | 2021-04-13 | 网易(杭州)网络有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
CN112652044B (zh) * | 2021-01-05 | 2024-06-21 | 网易(杭州)网络有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982506A (zh) | 基于gpu的粒子系统优化 | |
CN112652044B (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
CN102722859B (zh) | 一种计算机仿真场景渲染方法 | |
US5734808A (en) | Pipeline processing device, clipping processing device, three-dimensional simulator device and pipeline processing method | |
CN105468353B (zh) | 一种界面动画的实现方法及装置、移动终端和电脑终端 | |
CN101615300B (zh) | 一种屏幕空间微结构表面对象环境光遮挡方法 | |
PH12019500837B1 (en) | Method and apparatus for animating images on mobile devices | |
US20080266286A1 (en) | Generation of a particle system using a geometry shader | |
CN105677395B (zh) | 一种游戏场景像素消隐的系统和方法 | |
CN104301795B (zh) | 基于3d模型的智能电视大数据海报信息管理方法 | |
CN103607581A (zh) | 基于三维图像视频监控图像显示方法 | |
CN106331690A (zh) | 一种3d弹幕的实现方法以及实现装置 | |
CN103021011A (zh) | 高效的植被动画 | |
CN102930584A (zh) | 基于gpu的骨骼动画优化 | |
CN103854228A (zh) | 三维虚拟农产品展示系统及其实现方法 | |
CN102542611A (zh) | 一种三维空间物体拾取方法 | |
CN113706504A (zh) | 一种残影处理方法、装置、存储介质及电子设备 | |
CN106683033B (zh) | 一种乱序OpenGL接口处理方法 | |
US20190005604A1 (en) | Bin streamout preemption in a graphics processing pipeline | |
US8766986B1 (en) | Efficient caching and drawing of objects whose rendering properties change frequently | |
CN104113704A (zh) | 一种游戏图像处理方法及装置 | |
CN103337089A (zh) | 一种在3d空间中实现文字跑马灯效果的方法 | |
CN104299227A (zh) | 基于Snake模型的云拓扑变换检测方法 | |
CN102903140A (zh) | 一种粒子渲染的优化方法 | |
CN102521851A (zh) | 一种静态模型的批量绘制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130320 |