CN109785417A - 一种实现OpenGL累积操作的方法及装置 - Google Patents

一种实现OpenGL累积操作的方法及装置 Download PDF

Info

Publication number
CN109785417A
CN109785417A CN201811440832.XA CN201811440832A CN109785417A CN 109785417 A CN109785417 A CN 109785417A CN 201811440832 A CN201811440832 A CN 201811440832A CN 109785417 A CN109785417 A CN 109785417A
Authority
CN
China
Prior art keywords
texture
gpu
accumulation
fragment shader
accumulation mode
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.)
Granted
Application number
CN201811440832.XA
Other languages
English (en)
Other versions
CN109785417B (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.)
Wuhan Lingjiu Microelectronics Co ltd
Original Assignee
China Shipbuilding Industry Corp Seventh 0 Nine Institute
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 China Shipbuilding Industry Corp Seventh 0 Nine Institute filed Critical China Shipbuilding Industry Corp Seventh 0 Nine Institute
Priority to CN201811440832.XA priority Critical patent/CN109785417B/zh
Publication of CN109785417A publication Critical patent/CN109785417A/zh
Application granted granted Critical
Publication of CN109785417B publication Critical patent/CN109785417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种实现OpenGL累积操作的方法及装置,属于计算机视觉领域。本发明提供的方法包括:保存图形上下文当前状态,将其设置为默认值;获取当前累积缓冲区与颜色缓冲区的相关信息;创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并上传图像至纹理单元;并根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;再载入特定的预备顶点着色器和片段着色器,以获得特定纹理贴图效果;GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到GPU渲染目标中。本发明能使GPU的纹理贴图功能得到充分利用,在提高GPU的渲染效率的同时降低CPU及总线的负荷。

Description

一种实现OpenGL累积操作的方法及装置
技术领域
本发明涉及计算机图形领域,尤其涉及一种实现OpenGL累积操作的方法及装置。
背景技术
“累积操作”作为OpenGL的一项重要功能,能够实现场景抗锯齿、运动模糊、景深模拟及计算多个光源产生的柔和阴影等。根据OpenGL标准,可将“累积操作”划分为5种模式:GL_ACCUM模式、GL_LOAD模式、GL_RETURN模式、GL_MULT模式和GL_ADD模式。
由于颜色缓冲区或累积缓冲区通常开辟在GPU侧的显存中,因此,OpenGL“累积操作”的实现一般会通过DMA(Direct Memory Access)将颜色或累积缓冲区中的数据复制一份到CPU(Central Processing Unit)侧的主存,然后由CPU完成相应计算,最后再通过DMA的方式将计算结果写入颜色或累积缓冲区,这种通过CPU对显存中的颜色或累积缓冲区进行访问和计算,需要频繁的在主存和显存间搬移大块数据,图形渲染效率较低,而且会影响总线传输带宽。
发明内容
本发明实施例提供了一种实现OpenGL累积操作的方法及装置,用于解决传统累积操作实现方法存在渲染效率低的问题
在本发明实施第一方面,提供了一种实现OpenGL累积操作的方法,包括:
步骤S1、保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
步骤S2、获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
步骤S3、创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
步骤S4、根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
步骤S5、根据当前累积模式,载入特定的预备顶点着色器和片段着色器,获得特定纹理贴图效果;
步骤S6、GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
在本发明实施例第二方面,提供了一种实现OpenGL累积操作的装置,包括:
保存模块,用于保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
获取模块,用于获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
上传模块,用于创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
设置模块,用于根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
载入模块,用于根据当前累积模式,载入特定的预备顶点着色器和片段着色器,获得特定纹理贴图效果;
渲染模块,用于GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,通过将累积缓冲区和颜色缓冲区作为纹理图像,然后根据累积模式的不同加载不同的顶点着色器和片段着色器,以实现特定的纹理贴图效果,并通过绘制矩形命令使GPU进行相应的纹理贴图和渲染,将结果放入累积缓冲区或颜色缓冲区。使得GPU的纹理贴图功能得到充分利用,减少CPU的参与,进而避免频繁传输数据,提高GPU的渲染效率的同时降低CPU与总线的负荷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的实现OpenGL累积操作的方法一个实施例流程图;
图2为本发明实施例提供的实现OpenGL累积操作的装置一个实施例结构图;
具体实施方式
本发明实施例提供了一种实现OpenGL累积操作的方法及装置,用于保障图形渲染效果并提高渲染效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中实现OpenGL累积操作方法一个实施例包括:
S101、保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
所述图形上下文表示图形绘制的平台,包含绘制参数以及需要执行一系列绘图命令的设备信息。所述图形上下文当前状态主要包括渲染目标、视口状态、颜色缓冲区状态、深度缓冲区状态、模板缓冲区状态、纹理状态及各模块/功能的使能状态。
由于累积缓冲区的写入操作会受颜色掩码影响,因而在累积模式为GL_ACCUM、GL_LOAD、GL_MULT或GL_ADD时,设置颜色掩码,以对red、green、blue和alpha这4种颜色成分允许写入。
S102、获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
当累积模式为GL_ACCUM、GL_LOAD、GL_MUL或GL_ADD时,所述颜色缓冲区为OpenGL标准函数glReadBuffer()指定的缓冲区;当累积模式为GL_RETURN时,所述的颜色缓冲区为由OpenGL标准函数glDrawBuffer()指定的缓冲区。
S103、创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
S104、根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
可选的,当所述累积模式为GL_ACCUM、GL_LOAD、GL_MULT或GL_ADD时,将累积缓冲区设为GPU渲染目标;
当所述累积模式为GL_RETURN时,将颜色缓冲区设为GPU渲染目标。
S105、根据当前累积模式,载入特定的预备顶点着色器和片段着色器,获得特定纹理贴图效果;
所述顶点着色器为顶点被渲染时执行的指令代码,所述片段着色器为在GPU上用于片段处理的程序,一个片段对应一个像素值,且具有纹理坐标、深度等信息。在本发明实施例中,不同累积模式下载入的顶点着色器相同,载入的片段着色器存在区别。
可选的,载入特定片段着色器具体为:
若累积模式为GL_ACCUM时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0)+texture2D(sampler1,vTexcoor1);
若累积模式为GL_LOAD时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler1,vTexcoor1);
若累积模式为GL_RETURN或GL_MULT时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0);
若累积模式为GL_ADD时,则载入的片段着色器的输出颜色值为::gl_FragColor=accumValue+texture2D(sampler0,vTexcoor0);
其中,gl_FragColor为片段着色器最终输出的颜色值,accumValue为片段着色器的累积系数,函数texture2D(sampler0,vTexcoor0)表示返回纹理单元0在坐标vTexcoor0处的颜色采样值,函数texture2D(sampler1,vTexcoor1)表示返回纹理单元1在坐标vTexcoor1处的颜色采样值。sampler是一个uniform类型的变量,处理不同片元时这个变量值是一致不变的,一个sampler和一个texture对应,类型也对应。
S106、GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
计算机在执行绘制矩形命令时,需要首先确定矩形顶点,在本发明实施例中,执行绘制矩形命令,将所述矩形的4个顶点分别设置为{-1.0,-1.0,1.0,1.0}、{1.0,-1.0,1.0,1.0}、{1.0,1.0,1.0,1.0}、{-1.0,1.0,1.0,1.0},分别代表窗口的左下角、右下角、右上角和左上角,即顶点坐标格式表示为{x,y,z,w}。
进一步的,所述顶点坐标对应的纹理单元0和纹理单元1的纹理坐标分别设定为{0.0,0.0}、{1.0,0.0}和{1.0,1.0}、{0.0,1.0},纹理坐标格式为{s,t}。纹理图像是方形数组,纹理坐标通常可定义成一、二、三或四维形式,称为s,t,r和q坐标,以区别于物体坐标(x,y,z,w)和其他坐标。一维纹理常用s坐标表示,二维纹理常用(s,t)坐标表示,目前忽略r坐标。q坐标像w一样,一般情况下其值几乎均为1,主要用于建立齐次坐标。
优选的,还包括恢复所述步骤S1中保存下来的当前渲染目标、视口状态、颜色缓冲区状态、深度缓冲区状态、模板缓冲区状态、纹理状态、各模块/功能的使能状态等图形上下文状态信息。
本实施例中,所述实现OpenGL累积操作的方法,将累积缓冲区和颜色缓冲区中的图像作为纹理图像使用,并根据不同的累积模式令GPU加载不同的顶点着色器和片段着色器,以实现特定的纹理贴图效果,最后再通过绘制矩形命令使GPU完成相应的纹理贴图和渲染,并把结果存放在累积缓冲区或颜色缓冲区,实现OpenGL“累积操作”的过程中,并充分利用了GPU的纹理贴图功能,大大提高了累积操作的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种实现OpenGL累积操作的方法,下面将对一种实现OpenGL累积操作的装置进行详细描述。
图2示出了本发明实施例中实现OpenGL累积操作的装置一个实施例结构图。
所述实现OpenGL累积操作的装置,包括:
保存模块210,用于保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
获取模块220,用于获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
上传模块230,用于创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
设置模块240,用于根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
可选的,所述设置模块包括:
设置单元240:用于当所述累积模式为GL_ACCUM、GL_LOAD、GL_MULT或GL_ADD时,将累积缓冲区设为GPU渲染目标;当所述累积模式为GL_RETURN时,将颜色缓冲区设为GPU渲染目标。
载入模块250,用于根据当前累积模式,载入特定的预备顶点着色器和片段着色器,以获得特定纹理贴图效果;
可选的,所述载入特定的片段着色器具体为:
若累积模式为GL_ACCUM时,则片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0)+texture2D(sampler1,vT excoor1);
若累积模式为GL_LOAD时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler1,vTexcoor1);
若累积模式为GL_RETURN或GL_MULT时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0);
若累积模式为GL_ADD时,则载入的片段着色器的输出颜色值为::gl_FragColor=accumValue+texture2D(sampler0,vTexcoor0);
其中,gl_FragColor为片段着色器最终输出的颜色值,accumValue为片段着色器的累积系数,函数texture2D(sampler0,vTexcoor0)表示返回纹理单元0在坐标vTexcoor0处的颜色采样值,函数texture2D(sampler1,vTexcoor1)表示返回纹理单元1在坐标vTexcoor1处的颜色采样值。
渲染模块260,用于GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
可选的,执行绘制矩形命令,将所述矩形的4个顶点坐标设定为{-1.0,-1.0,1.0,1.0}、{1.0,-1.0,1.0,1.0}、{1.0,1.0,1.0,1.0}、{-1.0,1.0,1.0,1.0},其中,所述顶点坐标的格式表示为{x,y,z,w}。
将所述顶点坐标对应的纹理单元0和纹理单元1的纹理坐标,分别设定为{0.0,0.0}、{1.0,0.0}和{1.0,1.0}、{0.0,1.0},其中,所述纹理坐标的格式表示为{s,t}。
可选的,还包括:
恢复模块:用于恢复所述图形上下文当前状态。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种实现OpenGL累积操作的方法,其特征在于,包括:
步骤S1、保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
步骤S2、获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
步骤S3、创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
步骤S4、根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
步骤S5、根据当前累积模式,载入特定的预备顶点着色器和片段着色器,以获得特定纹理贴图效果;
步骤S6、GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
2.根据权利要求1所述的方法,其特征在于,所述步骤S4具体为:
当所述累积模式为GL_ACCUM、GL_LOAD、GL_MULT或GL_ADD时,将累积缓冲区设为GPU渲染目标;
当所述累积模式为GL_RETURN时,将颜色缓冲区设为GPU渲染目标。
3.根据权利要求1所述的方法,其特征在于,所述步骤S5具体为:
若累积模式为GL_ACCUM时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0)+texture2D(sampler1,v Texcoor1);
若累积模式为GL_LOAD时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler1,vTexcoor1);
若累积模式为GL_RETURN或GL_MULT时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0);
若累积模式为GL_ADD时,则载入的片段着色器的输出颜色值为::gl_FragColor=accumValue+texture2D(sampler0,vTexcoor0);
其中,gl_FragColor为片段着色器最终输出的颜色值,accumValue为片段着色器的累积系数,函数texture2D(sampler0,vTexcoor0)表示返回纹理单元0在坐标vTexcoor0处的颜色采样值,函数texture2D(sampler1,vTexcoor1)表示返回纹理单元1在坐标vTexcoor1处的颜色采样值。
4.根据权利要求1所述的方法,其特征在于,所述步骤S6具体为:
执行绘制矩形命令,将所述矩形的4个顶点坐标设定为{-1.0,-1.0,1.0,1.0}、{1.0,-1.0,1.0,1.0}、{1.0,1.0,1.0,1.0}、{-1.0,1.0,1.0,1.0},其中,所述顶点坐标的格式表示为{x,y,z,w}。
5.根据权利要求4所述的方法,其特征在于,所述执行绘制矩形命令还包括:
将所述顶点坐标对应的纹理单元0和纹理单元1的纹理坐标,分别设定为{0.0,0.0}、{1.0,0.0}和{1.0,1.0}、{0.0,1.0},其中,所述纹理坐标的格式表示为{s,t}。
6.根据权利要求1所述的方法,其特征在于,所述步骤S6还包括:
步骤S7、恢复所述图形上下文当前状态。
7.一种实现OpenGL累积操作的装置,其特征在于,包括:
保存模块,用于保存图形上下文当前状态,将所述图形上下文当前状态设置为默认值,并根据累积模式设置颜色掩码;
获取模块,用于获取当前累积缓冲区与颜色缓冲区的相关信息,其中,所述相关信息至少包括存放图像的尺寸、格式和数据首地址;
上传模块,用于创建两个纹理对象,将所述纹理对象分别绑定到纹理单元0和纹理单元1,并将累积缓冲区中图像上传至纹理单元0,将颜色缓冲区中图像上传至纹理单元1;
设置模块,用于根据当前累积模式,将累积缓冲区或颜色缓冲区设置为GPU渲染目标;
载入模块,用于根据当前累积模式,载入特定的预备顶点着色器和片段着色器,以获得特定纹理贴图效果;
渲染模块,用于GPU根据所述顶点着色器和所述片段着色器进行渲染,并将渲染结果存放到所述GPU渲染目标中。
8.根据权利要求7所述的装置,其特征在于,所述设置模块包括:
设置单元:用于当所述累积模式为GL_ACCUM、GL_LOAD、GL_MULT或GL_ADD时,将累积缓冲区设为GPU渲染目标;当所述累积模式为GL_RETURN时,将颜色缓冲区设为GPU渲染目标。
9.根据权利要求7所述的装置,其特征在于,所述根据当前累积模式,载入特定的预备顶点着色器和片段着色器,以获得特定纹理贴图效果具体为:
若累积模式为GL_ACCUM时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0)+texture2D(sampler1,v Texcoor1);
若累积模式为GL_LOAD时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler1,vTexcoor1);
若累积模式为GL_RETURN或GL_MULT时,则载入的片段着色器的输出颜色值为:gl_FragColor=accumValue*texture2D(sampler0,vTexcoor0);
若累积模式为GL_ADD时,则载入的片段着色器的输出颜色值为::gl_FragColor=accumValue+texture2D(sampler0,vTexcoor0);
其中,gl_FragColor为片段着色器最终输出的颜色值,accumValue为片段着色器的累积系数,函数texture2D(sampler0,vTexcoor0)表示返回纹理单元0在坐标vTexcoor0处的颜色采样值,函数texture2D(sampler1,vTexcoor1)表示返回纹理单元1在坐标vTexcoor1处的颜色采样值。
10.根据权利要求7所述的装置,其特征在于,所述渲染模块还包括:
恢复模块:用于恢复所述图形上下文当前状态。
CN201811440832.XA 2018-11-29 2018-11-29 一种实现OpenGL累积操作的方法及装置 Active CN109785417B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811440832.XA CN109785417B (zh) 2018-11-29 2018-11-29 一种实现OpenGL累积操作的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811440832.XA CN109785417B (zh) 2018-11-29 2018-11-29 一种实现OpenGL累积操作的方法及装置

Publications (2)

Publication Number Publication Date
CN109785417A true CN109785417A (zh) 2019-05-21
CN109785417B CN109785417B (zh) 2023-06-09

Family

ID=66496038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811440832.XA Active CN109785417B (zh) 2018-11-29 2018-11-29 一种实现OpenGL累积操作的方法及装置

Country Status (1)

Country Link
CN (1) CN109785417B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111145074A (zh) * 2019-11-30 2020-05-12 航天科技控股集团股份有限公司 全液晶仪表图像渲染方法
CN112116522A (zh) * 2019-09-05 2020-12-22 北京无线电测量研究所 一种基于现代可编程图形管线的雷达数据可视化框架
CN112732395A (zh) * 2021-01-27 2021-04-30 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法
CN112785676A (zh) * 2021-02-08 2021-05-11 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、设备和存储介质
CN113750536A (zh) * 2020-06-04 2021-12-07 福建天晴数码有限公司 一种基于着色器的2d像素火焰方法及其系统
CN113902609A (zh) * 2021-03-17 2022-01-07 广州市保伦电子有限公司 一种基于OpenGL嵌入式设备流畅渲染控件动画方法及设备
CN117472592A (zh) * 2023-12-27 2024-01-30 中建三局集团有限公司 基于顶点着色器与纹理映射的三维模型爆炸方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040109004A1 (en) * 2002-12-09 2004-06-10 Bastos Rui M. Depth-of-field effects using texture lookup
CN1691069A (zh) * 2004-04-20 2005-11-02 香港中文大学 采用多图形处理器加速方格片元过滤的实时体绘制方法
CN101320480A (zh) * 2008-07-04 2008-12-10 浙江大学 一种基于gpu的实时动态水面模拟方法
CN101937556A (zh) * 2009-06-29 2011-01-05 英特尔公司 纹理采样
CN102930564A (zh) * 2011-09-08 2013-02-13 微软公司 视觉着色器设计器
CN103455969A (zh) * 2013-08-28 2013-12-18 腾讯科技(成都)有限公司 图像处理的方法及装置
CN104318509A (zh) * 2014-10-30 2015-01-28 中国电子科技集团公司第五十四研究所 一种基于gpu的大批量目标高速标绘方法
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构
CN106575442A (zh) * 2014-08-15 2017-04-19 高通股份有限公司 使用通过自适应着色的纹理查找的带宽缩减
CN108198233A (zh) * 2017-12-31 2018-06-22 广州金十信息科技有限公司 一种k线图的绘制方法、电子设备及存储介质
CN108447121A (zh) * 2018-03-26 2018-08-24 南京恩瑞特实业有限公司 NRIETWebGIS动态色斑图绘制方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040109004A1 (en) * 2002-12-09 2004-06-10 Bastos Rui M. Depth-of-field effects using texture lookup
CN1691069A (zh) * 2004-04-20 2005-11-02 香港中文大学 采用多图形处理器加速方格片元过滤的实时体绘制方法
CN101320480A (zh) * 2008-07-04 2008-12-10 浙江大学 一种基于gpu的实时动态水面模拟方法
CN101937556A (zh) * 2009-06-29 2011-01-05 英特尔公司 纹理采样
CN102930564A (zh) * 2011-09-08 2013-02-13 微软公司 视觉着色器设计器
CN103455969A (zh) * 2013-08-28 2013-12-18 腾讯科技(成都)有限公司 图像处理的方法及装置
CN106575442A (zh) * 2014-08-15 2017-04-19 高通股份有限公司 使用通过自适应着色的纹理查找的带宽缩减
CN104318509A (zh) * 2014-10-30 2015-01-28 中国电子科技集团公司第五十四研究所 一种基于gpu的大批量目标高速标绘方法
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构
CN108198233A (zh) * 2017-12-31 2018-06-22 广州金十信息科技有限公司 一种k线图的绘制方法、电子设备及存储介质
CN108447121A (zh) * 2018-03-26 2018-08-24 南京恩瑞特实业有限公司 NRIETWebGIS动态色斑图绘制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙孟华: "《OpenGL图形图象编程中缓存的使用和处理技术》", 《民营科技》 *
朱勤: "《《OpenGL三维图形程序设计》系列讲座——第三讲 OpenGL几种缓存的应用》", 《微电脑世界》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112116522A (zh) * 2019-09-05 2020-12-22 北京无线电测量研究所 一种基于现代可编程图形管线的雷达数据可视化框架
CN111145074A (zh) * 2019-11-30 2020-05-12 航天科技控股集团股份有限公司 全液晶仪表图像渲染方法
CN111145074B (zh) * 2019-11-30 2023-11-28 航天科技控股集团股份有限公司 全液晶仪表图像渲染方法
CN113750536A (zh) * 2020-06-04 2021-12-07 福建天晴数码有限公司 一种基于着色器的2d像素火焰方法及其系统
CN113750536B (zh) * 2020-06-04 2023-09-01 福建天晴数码有限公司 一种基于着色器的2d像素火焰方法及其系统
CN112732395A (zh) * 2021-01-27 2021-04-30 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法
CN112732395B (zh) * 2021-01-27 2021-08-17 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法
CN112785676A (zh) * 2021-02-08 2021-05-11 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、设备和存储介质
CN112785676B (zh) * 2021-02-08 2024-04-12 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、设备和存储介质
CN113902609A (zh) * 2021-03-17 2022-01-07 广州市保伦电子有限公司 一种基于OpenGL嵌入式设备流畅渲染控件动画方法及设备
CN117472592A (zh) * 2023-12-27 2024-01-30 中建三局集团有限公司 基于顶点着色器与纹理映射的三维模型爆炸方法及系统
CN117472592B (zh) * 2023-12-27 2024-03-19 中建三局集团有限公司 基于顶点着色器与纹理映射的三维模型爆炸方法及系统

Also Published As

Publication number Publication date
CN109785417B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN109785417A (zh) 一种实现OpenGL累积操作的方法及装置
US10475228B2 (en) Allocation of tiles to processing engines in a graphics processing system
US7750922B2 (en) Transparency group computation on a graphics processing unit
US7889205B1 (en) Frame buffer based transparency group computation on a GPU without context switching
US7133047B2 (en) Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems
US9536333B2 (en) Method and apparatus for improved processing of graphics primitives
US11640648B2 (en) Graphics processing systems with expansion transformation stage masks
JP2005521178A5 (zh)
EP1803096A2 (en) Flexible antialiasing in embedded devices
EP1306810A1 (en) Triangle identification buffer
US10733782B2 (en) Graphics processing systems
US20190188896A1 (en) Graphics processing
EP3866119A1 (en) Data structures, methods and primitive block generators for storing primitives in a graphics processing system
KR20060107834A (ko) 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘
WO2022095714A1 (zh) 图像渲染的处理方法和装置、存储介质及电子设备
US9916675B2 (en) Graphics processing systems
CN110211022A (zh) 一种图像处理方法、装置及电子设备
EP1288863B1 (en) Method and device for drawing
US11790479B2 (en) Primitive assembly and vertex shading of vertex attributes in graphics processing systems
CN105389841B (zh) 借助于可配置硬件在电子设备中执行图形系统的图形处理的方法以及相关装置
US7079150B1 (en) Image processing wherein decompression and compression methods provide faster transmission of texture data between a texture buffer and Aprocessor than between a storage device and a processor
CN109064543A (zh) 一种图形纹理加载渲染方法
US11321803B2 (en) Graphics processing primitive patch testing
GB2580923A (en) Graphics processing systems with expansion transformation stage masks
CN117788674A (zh) 一种纹理贴图合并方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 1, Canglong North Road, Phoenix Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430200

Applicant after: No. 709 Research Institute of China Shipbuilding Corp.

Address before: 430200 No.1, Canglong North Road, Fenghuang Industrial Park, Wuhan City, Hubei Province

Applicant before: NO.709 RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220808

Address after: 430000 No. 1 Baihe Road, Guandong Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Applicant after: Wuhan lingjiu Microelectronics Co.,Ltd.

Address before: No. 1, Canglong North Road, Phoenix Industrial Park, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430200

Applicant before: No. 709 Research Institute of China Shipbuilding Corp.

GR01 Patent grant
GR01 Patent grant