A GS method based on particle system in construction of animation driven by the wind flow, by a large number of particles with a wind field animation, each particle is m with control points as the foundation, formed by the triangular surface corresponding; one of the particles is a streamline motion wind streamline animation in the first set up the control point; processing module, used to control the starting position, structure of the control points of each wind streamline particles with the life cycle and strength factor; then establish the geometry shader GS module for GS geometry shader processing stage programmable graphics pipeline, based on the control point. The dynamic graphics internally generated more vertices, triangles to form each particle with desired rendering. This method replaces the fixed pipeline rendering pipeline, using Direct3D 11 programmable graphics pipeline based on most of the calculations are done on the stream processor array card, fundamentally relieved the computational burden of CPU.
【技术实现步骤摘要】
基于GS的粒子系统在风场驱动下构建流线动画的方法[
]本专利技术涉及一种Direct3D11的数据处理与着色器的构建方法,具体是一种基于GS(几何着色器)的粒子系统在模式风场驱动下构建风场流线动画的方法。[
技术介绍
]随着数值预报和计算机技术的发展,气象预报人员常使用高分辨率数值天气预报模式开展气象预报,这些数值天气预报模式输出的风场数据可以反映出模式预报的网格内风场的强度和方向信息。风矢量杆是风场数据传统的绘制方式,风矢量杆有方向和强度的信息,用此来表示网格中某一个点上风的方向和大小。但这个显示方案有以下弊端:1、由于风矢量杆的绘制占了屏幕上的一部分空间,所以在实际绘制风场的风矢量杆的时候,我们往往是隔开几个网格点绘制的,否则所有的风矢量杆会相互重叠。比如有500×500个网格点的风矢量需要在屏幕上绘制,我们在水平方向和竖直方向每隔开4个点绘制,这样有便只有100×100个风矢量杆最终被绘制在屏幕上,大部分网格点上的风场信息依然没有被绘制出来。这种抽样绘制风场网格数据的方式不能全面地呈现风场的全部信息。2、虽然我们可以通过放大模式网格的局部来绘制网格中某一个部分的全部风矢量杆,但是这样的绘制方式切割了局部与整体的联系,在这种处理方案中会带来只见树木,不见森林的弊端。3、传统的风矢量杆的绘制方式是一种静态图像的绘制,表达不出风场的运动感。4、在气象上,除了中尺度的台风系统或范围较大的副高、低压等天气系统能从风矢量杆抽样绘制的绘图中看出来,其他的小范围的气流扰动很难被人们直观地察觉出来或者由于抽样绘制的缘故根本没在屏幕上显示出来。[
技术实现思路
]本专利技术 ...
【技术保护点】
一种基于GS的粒子系统在风场驱动下构建流线动画的方法,其特征是由大量的粒子带构成风场流线动画,每一个粒子带是以m个控制顶点为基础,由相应的三角面构成;一个粒子带即为风场流线动画中的一条运动的流线;先建立控制点处理模块,用于对构成每条风场流线的粒子带的控制点进行起始位置、生命周期、强度要素的控制;再建立几何着色器GS模块,用于在显卡可编程管道的几何着色器GS处理阶段,在所述控制点的基础上动态地在显卡内部生成更多的顶点,从而构成渲染每个粒子带所需的三角面;具体步骤包括:1)对风速划分了n个等级,从色谱中选取了n种颜色作为风速大小的示意;创建了一个一维纹理,该纹理为1×n个像素点,这n个像素点对应所述的n种颜色;该一维纹理用于在后续步骤的几何着色器GS中用作风速的取样信息;2)控制点生成模块:将屏幕区域划分成多块相同面积的控制子区域,每个控制子区域的范围内有N个粒子带;设每个粒子带的生存时间为T秒,随后消亡,并随后在该控制子区域的其它位置随机重新生成,那么在每一秒内,控制点生成模块在每一个控制子区域内随机生成N/T个控制点;3)粒子带的构成:每个粒子带是由C个控制点对应的2×(C‑1)个三角 ...
【技术特征摘要】
1.一种基于GS的粒子系统在风场驱动下构建流线动画的方法,其特征是由大量的粒子带构成风场流线动画,每一个粒子带是以m个控制顶点为基础,由相应的三角面构成;一个粒子带即为风场流线动画中的一条运动的流线;先建立控制点处理模块,用于对构成每条风场流线的粒子带的控制点进行起始位置、生命周期、强度要素的控制;再建立几何着色器GS模块,用于在显卡可编程管道的几何着色器GS处理阶段,在所述控制点的基础上动态地在显卡内部生成更多的顶点,从而构成渲染每个粒子带所需的三角面;具体步骤包括:1)对风速划分了n个等级,从色谱中选取了n种颜色作为风速大小的示意;创建了一个一维纹理,该纹理为1×n个像素点,这n个像素点对应所述的n种颜色;该一维纹理用于在后续步骤的几何着色器GS中用作风速的取样信息;2)控制点生成模块:将屏幕区域划分成多块相同面积的控制子区域,每个控制子区域的范围内有N个粒子带;设每个粒子带的生存时间为T秒,随后消亡,并随后在该控制子区域的其它位置随机重新生成,那么在每一秒内,控制点生成模块在每一个控制子区域内随机生成N/T个控制点;3)粒子带的构成:每个粒子带是由C个控制点对应的2×(C-1)个三角面组成,每两个三角面组成一个四边形,四边形的四个顶点以相应的控制点为参考;在顶点进入显卡可编程流水线处理之前,先通过CPU的计算、指定控制点的经纬度坐标位置;然后在显卡的几何着色器GS处理阶段,在每个控制点的四周动态地生成4个顶点,这4个顶点构成所述两个三角面;4)控制点顶点的元素的数据结构的设计:经纬度数据,生存时间,强度,颜色和透明值,当前控制点和下一个控制点的偏角;5)控制点的位置计算:一个粒子带用到了C个控制点,用含有步骤4)列出的元素构建顶点数据数组来存储这些控制点的信息;控制点位置计算的频率是每隔一帧计算一次:虽然每条粒子带由C个控制点构成,但是每次计算的时候,只计算最新时刻的一个控制点;新控制点的位置为上个控制点的位置加上其在当前帧受到风场影响下的偏移位置;6)当前控制点与上一个控制点的偏角值计算:该偏角值的作用是在GS阶段中,根据控制点构建四边形时,确定四边形四条边的角度;偏角值的计算是每隔一帧计算一次;7)控制点强度的计算:强度值反映风速的大小,设风场最小风速为0,最大风速为Vmax,把该控制点的强度值重新映射到区间[0,1]内;8)控制点生存时间的计算:生存时间表明了一个粒子带在屏幕上可见的时间范围;粒子带新生成时,生存时间赋值为0,以后每帧渲染前,该数值加1;如果到了设定的结束时间,则重新清空该控制点数组,然后对控制点数组的第一个控制点在当前控制子区域内重新随机赋予新的初始位置;则一个粒子带在到了预定的时间消亡后又随机在当前控制子区域的另外一处位置重新开始显示了;9)顶点着色器VS阶段:用于将显卡的输入装配单元IA传过来的数据提交给随后的GS;在顶点着色器VS中,数据不做任何处理,该顶点着色器VS只起到了传递数据的作用;10)几何着色器GS阶段:先将顶点着色器VS传递过来的控制点坐标进行世界矩阵-观察矩阵-投影矩阵的变换,变换之后,控制点的坐标即为屏幕空间的坐标;接下来,...
【专利技术属性】
技术研发人员:钱进,费建芳,黄小刚,程小平,洪亮,
申请(专利权)人:钱进,费建芳,黄小刚,程小平,洪亮,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。