CN106157357B - 一种基于gpu加速的动态光效实现方法及系统 - Google Patents

一种基于gpu加速的动态光效实现方法及系统 Download PDF

Info

Publication number
CN106157357B
CN106157357B CN201510151436.5A CN201510151436A CN106157357B CN 106157357 B CN106157357 B CN 106157357B CN 201510151436 A CN201510151436 A CN 201510151436A CN 106157357 B CN106157357 B CN 106157357B
Authority
CN
China
Prior art keywords
light
vector
texture
coordinate system
gpu
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.)
Active
Application number
CN201510151436.5A
Other languages
English (en)
Other versions
CN106157357A (zh
Inventor
赵智宝
卢伟超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN201510151436.5A priority Critical patent/CN106157357B/zh
Publication of CN106157357A publication Critical patent/CN106157357A/zh
Application granted granted Critical
Publication of CN106157357B publication Critical patent/CN106157357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种基于GPU加速的动态光效实现方法及系统,通过将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;通过GPU多线程加速的方式,实现了动态体积光的渲染,改进原有的动态体积光的渲染方式,释放CPU的负担,发挥GPU的并发优势,达到CPU和GPU的平衡,带来了大大的方便。

Description

一种基于GPU加速的动态光效实现方法及系统
技术领域
本发明涉及3D显示领域,尤其涉及的是一种基于GPU加速的动态光效实现方法及系统。
背景技术
一般来说,在3D UI和3D游戏中,实时的动态光影效果能够增加3D场景的真实感,提高显示效果。基于OpenGL ES1.0的体积光实现方案通过先对锥体进行的切片,然后再面片加上光贴图,实现动态体积光,但是这样渲染的方式会大大增加绘制的三角形数量,损耗CPU资源,导致帧率下降。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,提供一种基于GPU加速的动态光效实现方法及系统,旨在解决现有的动态体积光渲染占用CPU资源多,增加了CPU的渲染负担的问题。
本发明解决技术问题所采用的技术方案如下:
一种基于GPU加速的动态光效实现方法,其中,包括以下步骤:
S1、将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;
S2、在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;
S3、对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
所述的基于GPU加速的动态光效实现方法,其中,所述步骤S2具体包括:
S21、定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;
S22、将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为 [-0.5,0.5] ,Y轴坐标取值范围为[0.0,1.0]。
所述的基于GPU加速的动态光效实现方法,其中,所述步骤S3具体包括:
S31、确定光柱开角和光柱中心向量为Y轴正方向;
S32、计算每个像素的相对纹理坐标与光柱起始的向量,根据所述向量与光柱中心向量进行夹角计算;
S33、判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
所述的基于GPU加速的动态光效实现方法,其中,所述步骤S33中光衰具体包括:
根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。
所述的基于GPU加速的动态光效实现方法,其中,在所述步骤S33之后还包括:
S34、在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
一种基于GPU加速的动态光效实现系统,其中,包括:
纹理映射模块,用于将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;
相对映射模块,用于在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;
渲染模块,用于对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
所述的基于GPU加速的动态光效实现系统,其中,所述相对映射模块包括:
原点移动单元,用于定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;
相对纹理映射单元,用于将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为 [-0.5,0.5] ,Y轴坐标取值范围为[0.0,1.0]。
所述的基于GPU加速的动态光效实现系统,其中,所述渲染模块包括:
向量确定单元,用于确定光柱开角和光柱中心向量为Y轴正方向;
夹角计算单元,用于计算每个像素的相对纹理坐标与光柱起始的向量,根据所述向量与光柱中心向量进行夹角计算;
填充单元,用于判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
所述的基于GPU加速的动态光效实现系统,其中,所述光衰具体包括:
根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。
所述的基于GPU加速的动态光效实现系统,其中,所述渲染模块还包括:
旋转添加单元,用于在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
本发明所提供的一种基于GPU加速的动态光效实现方法及系统,有效地解决了现有的动态体积光渲染占用CPU资源多,增加了CPU的渲染负担的问题,通过将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;采用ES2.0提供的GPU渲染接口,通过GPU多线程加速的方式,实现了动态体积光的渲染,改进原有的动态体积光的渲染方式,释放CPU的负担,发挥GPU的并发优势,达到CPU和GPU的平衡,带来了大大的方便。
附图说明
图1为本发明提供的基于GPU加速的动态光效实现方法较佳实施例的流程图。
图2~4为本发明提供的基于GPU加速的动态光效实现方法中相对纹理坐标系的示意图。
图5为本发明提供的基于GPU加速的动态光效实现方法中旋转模型的示意图。
图6为本发明提供的基于GPU加速的动态光效实现系统较佳实施例的结构框图。
具体实施方式
本发明提供一种基于GPU加速的动态光效实现方法及系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明提供的基于GPU加速的动态光效实现方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:
步骤S100、将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;
步骤S200、在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;
步骤S300、对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
下面结合具体的实施例对上述步骤进行详细的描述。
在步骤S100中,将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元。具体来说,纹理映射,是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。纹理映射是真实感图像制作的一个重要部分,运用它可以方便的制作出极具真实感的图形而不必花过多时间来考虑物体的表面细节。然而纹理加载的过程可能会影响程序运行速度,要把纹理映射到几何图元中,需要告诉OpenGL(Open Graphics Library,开放图形库)如何映射这些纹理。纹理元素不是根据内存中的位置来放置的(与像素不同)。纹理用更抽象的纹理坐标来确定纹理元素放置的位置。通过glTexCoord函数来设置纹理坐标,这类似于设置顶点坐标。两个常用的glTexCoord变型为:void glTexCoord1f(GLfloat s);voidglTexCoord2f(GLfloat s, GLfloat t); 关于纹理映射此乃现有技术,此处不做过多说明。本发明模拟的是圆锥形体积光的算法模型,主要是将圆锥体投影到二维的纹理坐标系进行控制渲染,渲染部分根据算法的规则填充颜色,衰减。如图2~图3所示,光柱在空间的表示如图2所示,为圆锥体,在步骤S100中将其平面投影再映射到纹理空间坐标系中得到如图3所示的几何图元,其光柱开角为图3所示的Angle。
在步骤S200中,具体来说,由步骤S100可得到纹理空间坐标系中的第一几何图元,纹理空间坐标在Clamp(夹子)模式下,坐标的区间会映射到0.0-1.0的区间内,需要构建一个纹理相对坐标系,具体为:定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;然后,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为 [-0.5,0.5] ,Y轴坐标取值范围为[0.0,1.0]。相对纹理坐标系具体如图4所示。构建相对坐标系就是将纹理空间坐标系的原点进行移动,其它不变。然后进入步骤S300中,进行渲染。
在实际应用时,首先映射光柱起始位置,纹理坐标系的坐标范围为[0,1]的闭区间,需要在每个线程中,将几何中心移动到纹理空间的(0.5,0.0)位置上,构建相对坐标系具体为:vec2 current = vec2(fTexCoord0.x -0.5,fTexCoord0.y) 。将纹理坐标映射到X在 [-0.5,0.5f] 的范围,Y在[0.0,1.0]的范围,f为浮点数标记,单精度浮点数,无特殊含义。
在步骤S300中,对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
具体来说,GPU是一种多线程并行计算的模型,Shader(着色器)中每一个像素都对应着一个工作线程。通过GPU加速,采用多个线程对应对多个像素进行夹角度判断。OpenGLShader Language,简称GLSL。它是一种类似于C语言的专门为GPU设计的语言,它可以放在GPU里面被并行运行。OpenGL的着色器有.fsh和.vsh两个文件。这两个文件在被编译和链接后就可以产生可执行程序与GPU交互。.vsh 是Vertex Shader(顶点着色器),用于顶点计算,可以理解控制顶点的位置,在这个文件中通常会传入当前顶点的位置和纹理的坐标。.fsh 是Fragment Shader(片元着色器),在这里面可以对于每一个像素点进行重新计算。OpenGL ES 2.0是Khronos Group在2007年3月份制定的一种业界标准应用程序编程接口(API),可以大大提高不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形。
所述步骤S300具体包括:S310、确定光柱开角和光柱中心向量为Y轴正方向;S320、计算每个像素的相对纹理坐标与光柱起始的向量,根据所述向量与光柱中心向量进行夹角计算;S330、判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
在实际应用时,光柱开角为Angle,是GPU Shader通过程序传进来的一个参数,超过这个夹角就填充纹理默认的颜色,小于就进行光衰。确定光柱中心向量startLine为(0.0,1.0)即Y轴正方向,计算每个像素的纹理坐标与光柱起始的向量,然后通过该向量与光柱中心向量进行夹角测试;Current为当前像素的纹理坐标值与光柱起始值计算出的向量值;float angle = dot(startLine, current) /(length(startLine)*length(current)) ,此为求取夹角的角度。然后判断angle 是否大于光柱开角Angle,大于开角Angle,填充默认颜色;小于Angle值,则则根据该像素的向量到光柱中心向量的距离对应进行光衰。
光衰具体包括:根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。具体来说,计算向量current到startLine的垂直距离lenth,float lenth = length(current)*sin(angle),通过到中心向量的垂直距离,计算光衰。有三种光衰模型可供选择,根据距离中心向量的垂直距离,计算光的强度,达到中心最新最强,边缘渐变消失的效果,第一种为:I光强 = I最大* 1/ lenth;第二种为I光强 = - lenth* lenth + I最大,第三种为:I光强 = - lenth + I最大。最后得到圆锥体光柱对应的模拟效果图,也就是得到一个中间光强最强,两边光强逐渐减弱的三角形。
然后,在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。具体来说,增加立体旋转光,增强真实感,针对真实的光柱,是一个圆锥体,圆锥体绕中心向量旋转的时候,会出现背后、前面的光交替出现,从而使得眼睛产生了3D的效果。在模拟效果图的基础上,添加一个旋转的光柱,光柱沿着椭圆线,进行周期移动,在正半周显示,负半周不显示,从而产生立体光的效果,旋转模型如图5所示。具体计算方式:椭圆的参数表达式:椭圆圆心为(x0, y0) ,椭圆的长半轴为a,短半轴为b,t为旋转角度,X = x0+ a cos( t );Y =y0+ b sin( t );由 t 周期发生变化,确定x,y点,计算与光源的向量K,填充向量K颜色值。这样,便可得到所述圆锥体光柱的动态体积光渲染结果。
以下以一应用实施例对本发明进行详细说明。首先构建3D渲染模型创建四个点,两个三角形的3D模型,设置顶点坐标分别为左上( -0.5,0.5,0.0) ,左下(-0.5,-0.5,0.0),右上(0.5,0.5,0.0),右下(0.5,-0.5,0.0),纹理空间坐标为,左上(0,1)左下(0,0),右上(1,1),右下(1,0)。然后将包含有动态体积光的代码light. vsh的文件加载到内存中,调用OpenGL的接口glCreateShader创建着色器对象,并调用glShaderSource将light.glsl代码关联起来,调用glCreatePragram创建着色器代码对象,通过glAttachShader将program与shader关联起来编译链接,调用glUseProgram在使用该Shader代码。再加载一个纹理,将体积光渲染加到这个纹理上。最后,定时更新t变量进行动画控制。具体来说,每一帧调用glUniform1f将t参数传递给GPU Shader 进行绘制;更新界面绘制,得到最新的渲染结果。
本发明提供的基于GPU加速的动态光效实现方法,采用ES2.0提供的GPU渲染接口,通过GPU多线程加速的方式,实现了动态体积光的渲染。改进原有的动态体积光的渲染方式,释放CPU的负担,发挥GPU的并发优势,达到CPU和GPU的平衡,增加用户体验,利用GPU多线程,实现场景中的动态体积光,减少CPU的渲染负担,显著提高了3D UI场景的渲染效率,在嵌入式平台提示更加显著。
基于GPU加速的动态光效实现方法,本发明还提供了一种基于GPU加速的动态光效实现系统,如图6所示,所述系统包括:
纹理映射模块10,用于将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;具体如步骤S100所述;
相对映射模块20,用于在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;具体如步骤S200所述;
渲染模块30,用于对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;具体如步骤S300所述。
进一步地,所述相对映射模块20包括:
原点移动单元,用于定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;
相对纹理映射单元,用于将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为 [-0.5,0.5] ,Y轴坐标取值范围为[0.0,1.0]。
进一步地,所述渲染模块30包括:
向量确定单元,用于确定光柱开角和光柱中心向量为Y轴正方向;
夹角计算单元,用于计算每个像素的相对纹理坐标与光柱起始的向量,根据所述向量与光柱中心向量进行夹角计算;
填充单元,用于判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
进一步地,所述光衰具体包括:
根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。
进一步地,所述渲染模块30还包括:
旋转添加单元,用于在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
综上所述,本发明提供的一种基于GPU加速的动态光效实现方法及系统,通过将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;采用ES2.0提供的GPU渲染接口,通过GPU多线程加速的方式,实现了动态体积光的渲染,改进原有的动态体积光的渲染方式,释放CPU的负担,发挥GPU的并发优势,达到CPU和GPU的平衡,带来了大大的方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (8)

1.一种基于GPU加速的动态光效实现方法,其特征在于,包括以下步骤:
S1、将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;
S2、在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;
S3、对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;
所述步骤S2具体包括:
S21、定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;
S22、将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为[-0.5,0.5],Y轴坐标取值范围为[0.0,1.0];
所述向量夹角度为光柱起始位置的向量和光柱中心向量之间夹角的角度。
2.根据权利要求1所述的基于GPU加速的动态光效实现方法,其特征在于,所述步骤S3具体包括:
S31、确定光柱开角和光柱中心向量为Y轴正方向;
S32、计算每个像素的相对纹理坐标与光柱起始位置的向量,根据所述向量与光柱中心向量进行夹角计算;
S33、判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
3.根据权利要求2所述的基于GPU加速的动态光效实现方法,其特征在于,所述步骤S33中光衰具体包括:
根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。
4.根据权利要求2所述的基于GPU加速的动态光效实现方法,其特征在于,在所述步骤S33之后还包括:
S34、在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
5.一种基于GPU加速的动态光效实现系统,其特征在于,包括:
纹理映射模块,用于将空间的圆锥体光柱纹理映射到纹理空间坐标系中得到对应的第一几何图元;
相对映射模块,用于在纹理空间坐标的夹子模式下,移动所述纹理空间坐标系的原点构建对应的相对纹理坐标系,将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元;
渲染模块,用于对所述第二几何图元进行向量夹角度判断后,进行区域填充绘制,通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染;
所述相对映射模块包括:
原点移动单元,用于定义所述圆锥体光柱的起始位置,将所述纹理空间坐标系的原点(0,0)位置移动到纹理空间的(0.5,0.0)位置,构建对应的相对纹理坐标系;
相对纹理映射单元,用于将所述第一几何图元映射到所述相对纹理坐标系中得到对应的第二几何图元,使得所述第二几何图元在相对纹理坐标系中X轴坐标取值范围为[-0.5,0.5],Y轴坐标取值范围为[0.0,1.0];
所述向量夹角度为光柱起始位置的向量和光柱中心向量之间夹角的角度。
6.根据权利要求5所述的基于GPU加速的动态光效实现系统,其特征在于,所述渲染模块包括:
向量确定单元,用于确定光柱开角和光柱中心向量为Y轴正方向;
夹角计算单元,用于计算每个像素的相对纹理坐标与光柱起始位置的向量,根据所述向量与光柱中心向量进行夹角计算;
填充单元,用于判断每一个像素的夹角是否大于光柱开角,若为是则填充默认颜色,若为否则根据该像素的向量到光柱中心向量的距离对应进行光衰,以得到圆锥体光柱对应的模拟效果图。
7.根据权利要求6所述的基于GPU加速的动态光效实现系统,其特征在于,所述光衰具体包括:
根据该像素的向量距离光柱中心向量的垂直距离,计算光的强度,使得达到光柱中心的光强最强,到达边缘光强渐变消失。
8.根据权利要求6所述的基于GPU加速的动态光效实现系统,其特征在于,所述渲染模块还包括:
旋转添加单元,用于在所述模拟效果图中添加一个旋转的光柱,光柱沿着椭圆线进行周期移动,在正半周显示,负半周不显示;通过GPU多线程加速以实现所述圆锥体光柱的动态体积光渲染。
CN201510151436.5A 2015-04-01 2015-04-01 一种基于gpu加速的动态光效实现方法及系统 Active CN106157357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510151436.5A CN106157357B (zh) 2015-04-01 2015-04-01 一种基于gpu加速的动态光效实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510151436.5A CN106157357B (zh) 2015-04-01 2015-04-01 一种基于gpu加速的动态光效实现方法及系统

Publications (2)

Publication Number Publication Date
CN106157357A CN106157357A (zh) 2016-11-23
CN106157357B true CN106157357B (zh) 2020-02-07

Family

ID=57338290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510151436.5A Active CN106157357B (zh) 2015-04-01 2015-04-01 一种基于gpu加速的动态光效实现方法及系统

Country Status (1)

Country Link
CN (1) CN106157357B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109224448B (zh) * 2018-09-25 2021-01-01 北京天马时空网络技术有限公司 一种流光渲染的方法和装置
CN109544674B (zh) * 2018-11-21 2023-05-02 北京像素软件科技股份有限公司 一种体积光实现方法及装置
CN109669753B (zh) * 2018-12-21 2022-02-22 福建星网视易信息系统有限公司 数字视听系统界面显示方法及计算机可读存储介质
CN113282290B (zh) * 2021-05-31 2024-06-11 上海米哈游璃月科技有限公司 一种对象渲染方法、装置、设备及存储介质
CN113282289B (zh) * 2021-05-31 2024-06-11 上海米哈游璃月科技有限公司 一种对象渲染方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051390A (zh) * 2007-05-15 2007-10-10 北京金山软件有限公司 一种用于河流模拟的方法和系统
CN102243769A (zh) * 2011-07-26 2011-11-16 Tcl集团股份有限公司 3d体积光动态实现方法及装置
CN103247064A (zh) * 2012-02-14 2013-08-14 中国移动通信集团公司 一种三维动态图形的生成方法、装置和移动终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582929B2 (en) * 2013-06-04 2017-02-28 Confetti Interactive Inc. Dynamic skydome system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051390A (zh) * 2007-05-15 2007-10-10 北京金山软件有限公司 一种用于河流模拟的方法和系统
CN102243769A (zh) * 2011-07-26 2011-11-16 Tcl集团股份有限公司 3d体积光动态实现方法及装置
CN103247064A (zh) * 2012-02-14 2013-08-14 中国移动通信集团公司 一种三维动态图形的生成方法、装置和移动终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《3-D Volume Modeling, Feature Identification and Rendering of a Human Skull》;Joerg Meyer等;《MIC"06 Proceedings of the 25th IASTED international conference on Modeling, indentification, and control》;20060208;第212-218页 *
《基于OPENGL的场景动态效果模拟的研究与实现》;王海伦;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415(第4期);第I138-1624页 *
《基于光线投射算法的体积光实时绘制》;袁赞等;《计算机工程与设计》;20140731;第35卷(第7期);第2417-2422页 *

Also Published As

Publication number Publication date
CN106157357A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106157357B (zh) 一种基于gpu加速的动态光效实现方法及系统
US9589386B2 (en) System and method for display of a repeating texture stored in a texture atlas
US10614619B2 (en) Graphics processing systems
US7843463B1 (en) System and method for bump mapping setup
KR102701851B1 (ko) 큐브 맵을 텍스쳐링하기 위한 LOD(level of detail)를 결정하는 방법 및 장치
US10380790B2 (en) System and methods for generating procedural window lighting effects
US10217259B2 (en) Method of and apparatus for graphics processing
CN106408635A (zh) 图形处理
WO2019052313A1 (zh) 一种液体仿真方法、液体交互方法及装置
JP2012190428A (ja) 立体映像視覚効果処理方法
CN110458959A (zh) 体三维显示仿真方法、装置、设备及计算机可读存储介质
CN101477702A (zh) 计算机显卡的植入式真三维立体驱动方法
US20180005432A1 (en) Shading Using Multiple Texture Maps
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
CN105224325B (zh) 渲染方法和装置
KR101227183B1 (ko) 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법
KR101281156B1 (ko) 레이 트레이싱 코어 및 레이 트레이싱 처리 방법
Scheibel et al. Attributed vertex clouds
CN118761898A (zh) 图形系统和相应地图形处理方法
Nordahl Enhancing the hpc-lab snow simulator with more realistic terrains and other interactive features
GB2535792A (en) Graphic processing systems
US8217955B2 (en) Producing wrinkles and other effects for a computer-generated character based on surface stress
Zhang et al. Real-time hair simulation on mobile device
Sabino et al. Efficient use of in-game ray-tracing techniques
Sheppard Real–time rendering of fur

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant