System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于OpenGL的次序无关透明度的图像渲染方法技术_技高网

基于OpenGL的次序无关透明度的图像渲染方法技术

技术编号:40000272 阅读:7 留言:0更新日期:2024-01-09 03:22
本发明专利技术属于图像处理领域,具体涉及了一种基于OpenGL的次序无关透明度的图像渲染方法,旨在解决基于排序的半透明元素渲染方法的渲染效果鲁棒性较差的问题。本发明专利技术包括:对不透明物体渲染,将渲染后的不透明物体的颜色、缓冲至对应的缓冲区;绘制透明物体对应的面片作为透明面片;对透明面片进行渲染并将渲染后的颜色、纹理填充至对应的缓冲区;提取渲染后的透明面片的透明度、深度值,计算其上各像素点的权重,进而得到加权颜色;将透明面片的加权颜色、不透明物体的背景混合,得到透明面片的最终颜色值,并缓存至不透明物体的缓冲区;将不透明物体对应缓冲区缓冲的颜色、纹理进行输出显示。本发明专利技术提高了渲染性能,保证了渲染效果的准确性。

【技术实现步骤摘要】

所属的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本专利技术的范围。下面参考图4,其示出了用于实现本申请方法、系统、设备实施例的服务器的计算机系统的结构示意图。图4示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图4所示,计算机系统包括中央处理单元(cpu,central processing unit)601,其可以根据存储在只读存储器(rom,read only memory)602中的程序或者从存储部分608加载到随机访问存储器(ram,random access memory)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o,input/output)接口605也连接至总线604。以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt,cathode ray tube)、液晶显示器(lcd,liquid crystal display)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan(局域网,local areanetwork)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。至此,已经结合附图所示的优选实施方式描述了本专利技术的技术方案,但是,本领域技术人员容易理解的是,本专利技术的保护范围显然不局限于这些具体实施方式。在不偏离本专利技术的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本专利技术的保护范围之内。


技术介绍

1、建筑物的场景中经常存在大量的透明或半透明的材质,如玻璃窗户、幕墙等。在传统的渲染方法中,只能按照物体的绘制次序来渲染透明物体,如果物体的绘制次序错误,就会造成透明物体的遮挡关系错误,导致图像渲染的不真实或不准确。

2、在基于排序的半透明元素渲染方法中,半透明元素按照深度值进行排序,然后按照从前到后的顺序进行混合和渲染。然而,由于需要对所有半透明元素进行排序,处理大量元素时会带来计算和内存开销的增加。排序操作的时间过长,这在面对复杂场景或大量半透明元素时,会严重影响性能。其次,排序后仍然存在深度冲突问题。当多个半透明元素在同一深度处时,排序操作无法解决这些元素之间的混合顺序问题。这会导致混合结果不准确,出现可见的混合错误。此外,排序的方式对于实时渲染场景不够灵活。在实时渲染中,元素的次序可能会动态变化,比如物体的移动、旋转等操作。这就需要频繁进行排序,增加了实时渲染的计算和内存开销。最后,基于排序的方法对于半透明元素之间的相互作用处理较为困难。在有些场景中,半透明元素之本文档来自技高网...

【技术保护点】

1.一种基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,在OpenGL中,创建所述透明物体、所述不透明物体的缓冲区,其方法为:

3.根据权利要求2所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,对所述不透明物体进行渲染之前,还包括对所述不透明物体对应的缓冲区进行配置:

4.根据权利要求2所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,对所述透明面片进行渲染前,还包括:

5.根据权利要求4所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,对所述不透明物体进行渲染,其方法为:根据设定的RGB值对所述不透明物体对应的各像素点进行渲染。

6.根据权利要求4所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,计算渲染后的透明面片上各像素点的加权颜色,其方法为:

7.根据权利要求6所述的基于OpenGL的次序无关透明度的图像渲染方法,其特征在于,将所述透明面片的加权颜色、所述不透明物体的背景混合,得到所述透明面片的最终颜色值,其方法为:

8.一种基于OpenGL的次序无关透明度的图像渲染系统,其特征在于,所述系统包括:

9.一种基于OpenGL的次序无关透明度的图像渲染设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求1-7任一项所述的基于OpenGL的次序无关透明度的图像渲染方法。

...

【技术特征摘要】

1.一种基于opengl的次序无关透明度的图像渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于opengl的次序无关透明度的图像渲染方法,其特征在于,在opengl中,创建所述透明物体、所述不透明物体的缓冲区,其方法为:

3.根据权利要求2所述的基于opengl的次序无关透明度的图像渲染方法,其特征在于,对所述不透明物体进行渲染之前,还包括对所述不透明物体对应的缓冲区进行配置:

4.根据权利要求2所述的基于opengl的次序无关透明度的图像渲染方法,其特征在于,对所述透明面片进行渲染前,还包括:

5.根据权利要求4所述的基于opengl的次序无关透明度的图像渲染方法,其特征在于,对所述不透明物体进行渲染,其方法为:根据设定的rgb值对所述不透明物体对应的各像素点进行...

【专利技术属性】
技术研发人员:王文广聂琳何辰纲任重周昆张泽林董士崇
申请(专利权)人:上海天华建筑设计有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1