CN108399646B - 一种图像渲染方法及装置 - Google Patents

一种图像渲染方法及装置 Download PDF

Info

Publication number
CN108399646B
CN108399646B CN201710067979.8A CN201710067979A CN108399646B CN 108399646 B CN108399646 B CN 108399646B CN 201710067979 A CN201710067979 A CN 201710067979A CN 108399646 B CN108399646 B CN 108399646B
Authority
CN
China
Prior art keywords
area
region
image
opaque
gradient
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
CN201710067979.8A
Other languages
English (en)
Other versions
CN108399646A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710067979.8A priority Critical patent/CN108399646B/zh
Publication of CN108399646A publication Critical patent/CN108399646A/zh
Application granted granted Critical
Publication of CN108399646B publication Critical patent/CN108399646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • G06T3/067
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种图像渲染方法及装置,其中该方法包括:获取原始纹理图像;对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;获取待渲染的目标建模图像;利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染。本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。

Description

一种图像渲染方法及装置
技术领域
本发明属于通信技术领域,尤其涉及一种图像渲染方法及装置。
背景技术
渲染是将三维物体或三维场景的描述转化为二维图像的过程,生成的二维图像可以很好地反映三维物体或三维场景。
以渲染地图为例,通常的会使用OpenGL来渲染地图,OpenGL定义了一个跨编程语言、跨平台的专业图形程序接口,主要用于三维图形渲染。但是OpenGL对线条渲染支持很差,不支持非整数宽度,因此通常使用OpenGL纹理映射来渲染路线。可是常规的纹理映射渲染路线的方法中,当渲染的线条比较细的时候,如宽度为3像素,边缘处的锯齿效果明显,抗锯齿效果较差。
发明内容
本发明的目的在于提供一种图像渲染方法及装置,旨在改善图像渲染时边缘处的抗锯齿效果,提高线条渲染质量。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明提供一种图像渲染方法,其中包括:
获取原始纹理图像;
对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;
获取待渲染的目标建模图像;
利用所述不透明区域、第一渐变区域以及第二渐变区域,对所述目标建模图像进行渲染。
第二方面,本发明提供一种图像渲染装置,其中包括:
第一获取模块,用于获取原始纹理图像;
区域划分模块,用于对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;
第二获取模块,用于获取待渲染的目标建模图像;
渲染模块,用于利用所述不透明区域、第一渐变区域以及第二渐变区域,对所述目标建模图像进行渲染。
本实施例,首先对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,其中第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;然后,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染;即本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例提供的图像渲染方法的流程示意图;
图2a为本发明实施例提供的图像渲染方法的另一流程示意图;
图2b为本发明实施例提供的纹理图像即纹理图像划分的示意图;
图2c为本发明实施例提供的路线建模的示意图;
图2d为本发明实施例纹理图像的纹理坐标表示以及渲染效果示意图;
图2e为本发明实施例图像渲染方法的实验结果示意图;
图3为本发明实施例提供的图像渲染装置的结构示意图;
图4为本发明实施例提供的图像渲染装置的另一结构示意图;
图5为本发明实施例提供的服务器的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
本发明实施例提供一种图像渲染方法及装置。
在本实施例中,将从图像渲染装置的角度进行描述,该图像渲染装置具体可以集成在服务器或网关等网络设备中。
一种图像渲染方法,包括:获取原始纹理图像;对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;获取待渲染的目标建模图像;利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染。
请参阅图1,图1是本发明实施例提供的图像渲染方法的流程示意图。该方法包括:
在步骤S101中,获取原始纹理图像。
可以理解的是,本发明实施例中纹理包括通常意义上物体表面的纹理(即使物体表面呈现凹凸不平的沟纹),同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。而原始纹理图像就是指,未经图像处理的包含纹理的图像。
在步骤S102中,对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,该第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低。
比如,在获取到原始纹理图像后,图像渲染装置对原始纹理图像进行区域划分,得到至少三个区域,如主要分成三个区域,包括不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域。
其中,不透明区域处于原始纹理图像的中间部分,是主体图像;第一渐变区域处于原始纹理图像的左边部分,即处于不透明区域的左侧,第二渐变区域处于原始纹理图像的右边部分,即处于不透明区域的右侧。
进一步的,主体图像为不透明,第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低,即原始纹理图像中间部分为不透明,两边部分是抗锯齿区域,原始纹理图像整体从中间到两端透明度逐渐降低,最边缘处透明度为0。
在某些实施方式中,对原始建模图像进行区域划分,可以包括:按照预设比例对原始纹理图像进行区域划分。
比如,预设比例预先存储在图像渲染装置,在获取到原始纹理图像后,根据原始纹理图像的尺寸以及预设比例,对原始建模图像进行区域划分。
可以理解的是,在某些较为精确的实施方式中,还可以将原始建模图像划分为多于三个的区域,如将中间部分不透明区域划分多个子区域等等,只要保证两端的渐变区域,即抗锯齿区域的宽度达到某个比例即可,此处不作具体限定。
在步骤S103中,获取待渲染的目标建模图像。
在步骤S104中,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染。
其中,步骤S103与步骤S104为在线条建模的时候,需要与纹理图像进行关联,以完成对目标建模图像的渲染。
比如,在某些实施方式中,图像渲染装置获取待渲染的目标建模图像(步骤S103)可以包括:
(11)获取待建模的线条。
(12)根据预设建模算法对待建模的线条进行建模,生成包含有两个三角形的三角形集合。
(13)将包含有两个三角形的三角形集合确定为待渲染的目标建模图像。
即在该实施方式中,线条按照常规方式进行建模,如,首先设置待建模的线条的宽度,然后根据该线条的两个端点进行建模,生成三角形集合,一般的,该三角形集合包含有两个三角形,最后,将该建模生成的三角形集合确定为待渲染的目标建模图像。
又比如,在某些实施方式中,图像渲染装置获取待渲染的目标建模图像(步骤S103)可以包括:
(21)获取待建模的线条。
(22)根据预设建模算法,对待建模的线条进行建模,生成包含有六个三角形的三角形集合。
(23)对包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于线条主体两侧的第一侧边区域和第二侧边区域,其中线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形。
(24)将区域划分后的三角形集合确定为待渲染的目标建模图像。
即在该实施方式中,图像渲染装置按照前述对原始纹理图像的划分方式,对建模图像也进行了区域的划分;如,首先设置该线条的宽度,然后根据线条的两个端点进行建模,以使得一个线条建模后被拆分成了六个三角形,形成包含有六个三角形的三角形集合。
然后,对包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于线条主体两侧的第一侧边区域和第二侧边区域,其中线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形。
其中,线条主体区域处于三角形集合的中间部分;第一侧边区域可以处于三角形集合的左边部分,即处于线条主体区域的左侧,第二侧边区域可以处于三角形集合的右边部分,即处于线条主体区域的右侧,并且,每一区域各划分有两个三角形,最后,将该区域划分后的三角形集合确定为待渲染的目标建模图像。
比如,当线条建模后生成包含有六个三角形的三角形集合时,图像渲染装置利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染可以具体包括:
将线条主体区域与不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,以对目标建模图像进行渲染。
可以理解的是,可以根据通过纹理映射的方式,将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,其中,当把纹理按照特定的方式映射到物体表面(即线条)上的时候能使物体看上去更加真实,即纹理映射是一种为三角形赋予图像数据的技术,用于在物体的表面上绘制彩色的图案。
由上述可知,本实施例提供的图像渲染方法,首先对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,其中第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;然后,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染;即本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
以渲染地图为例,由于目前通常会使用OpenGL来渲染地图,但是OpenGL对线条渲染支持很差。因此通常使用纹理映射来渲染路线,但是常规的OpenGL纹理映射渲染路线方法,当路线在屏幕上变的比较窄的时候,路线边缘处锯齿就特别明显,原因是OpenGL纹理映射采用了双线性插值滤波器。当屏幕上的目标区域比纹理图像大时,映射的时候会对纹理图像放大;反之则会对纹理图像进行缩小。当屏幕上的区域非常小时,双线性滤波器在纹理图像中采样会不均匀,路线的所有纹理像素都采到纹理图像中不透明的像素时,会导致路线的边缘锯齿效果明显,抗锯齿消失。
基于此,本实施例提供的图像渲染方法,对纹理图像以及对路线建模图像进行区域细分,都划分为主体部分,和两端的抗锯齿部分,通过划分以后,路线即使很细,也能够保证两端的抗锯齿区域存在,从而保证了路线的抗锯齿效果。以下将进行详细说明。
请参阅图2a,图2a为本发明实施例提供的图像渲染方法的另一流程示意图。该方法包括:S21、对纹理图像进行区域划分;S22、对路线建模图像进行区域划分;S23、纹理图像与路线建模图像之间的区域关联。
S21、对纹理图像进行区域划分。
其中,可参考图2b,为本发明实施例提供的纹理图像即纹理图像划分的示意图,其中纹理图像的中间部分是图像的主体,为不透明区域,图像两边是抗锯齿区域,纹理图像从中心到两端透明度逐渐降低,最边缘处透明度为0,即从不透明区域到两边的抗锯齿区域透明度逐渐降低。
本实施例中,按照预设比例将该纹理图像划分为三个区域,分别是不透明区域,为主体图像,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域。
如图2b所示,将该纹理图像划分为三个区域,三个区域从左到右分别是第一渐变区域b1、不透明区域a1以及第二渐变区域c1,相应比例可以设置为1:3:1。
其中,不透明区域a1处于纹理图像的中间部分,不透明或透明度为1,第一渐变区域b1处于纹理图像的左边部分,即处于不透明区域a1的左侧,第二渐变区域c1处于纹理图像的右边部分,即处于不透明区域a1的右侧。第一渐变区域b1与第二渐变区域c1从靠近不透明区域a1的一端到远离不透明区域a1的一端的透明度逐渐降低,最边缘处透明度为0。
S22、对路线建模图像进行区域划分。
可以理解的是,常规的做法一个路线(或称线条、线段)建模的结果生成的是两个三角形。本发明的区域划分方案中,一个路线建模后被拆分成了6个三角形。在该实施方式中,可以按照前述对纹理图像的划分方式,对路线建模图像也进行了区域的划分。
可参考图2c,为本发明实施例提供的路线的建模示意图,比如,首先获取待建模的路线(或称线条、线段)l,p1、p2为路线l的两个顶点,然后设置路线l的宽度为AD,根据路线l的两个端点进行建模,如按照路线建模方法输入路线l的顶点,根据一定的规则,生成一个三角形集合,如图2c所示,路线l建模后生成了八个顶点,六个三角形,顶点编号从A到H,三角形逆时针方向为正。
其中,区域划分的比例也可以设置为1:3:1,划分后,三角形BCG,BGF为线条主体区域,处于三角形集合的中间部分,三角形ABF,AFE可认为是第一侧边区域b2,处于三角形集合的左边部分,即处于线条主体区域a2的左侧,三角形CDH,CHG可认为是第二侧边区域c2,处于三角形集合的右边部分,即处于线条主体区域a2的右侧,其中上下两端虚线构成的三角形ABF,AFE以及三角形CDH,CHG是路线l的抗锯齿边缘,图2c所示三角形集合为待渲染的目标的路线建模图像。
S23、纹理图像与路线建模图像之间进行区域关联。
在该实施方式中,由于纹理图像的两端第一渐变区域b1与第二渐变区域c1为抗锯齿区域,路线建模图像的第一侧边区域b2与第二侧边区域c2也为抗锯齿区域,因此在渲染过程中,路线建模图像的第一侧边区域b2(即三角形ABF,AFE)关联纹理图像的第一渐变区域b1,路线建模图像的线条主体区域a2关联纹理图像的不透明区域a1,路线建模图像的第二侧边区域c2(即三角形CDH,CHG)关联纹理图像的第二渐变区域c1,以完成对目标路线建模图像的渲染。
进一步的,第一侧边区域b2关联第一渐变区域b1,线条主体区域a2关联不透明区域a1,第二侧边区域c2关联第二渐变区域c1可以具体包括:
(1)获取不透明区域a1、第一渐变区域b1和第二渐变区域c1的纹理坐标。
(2)通过纹理映射的方式,将不透明区域a1的纹理坐标映射到线条主体区域a2中的两个三角形上,以使线条主体区域a2关联不透明区域a1。
(3)将第一渐变区域b1的纹理坐标映射到第一侧边区域b2中的两个三角形上,以使第一侧边区域b2关联第一渐变区域b1。
(4)将第二渐变区域c1的纹理坐标映射到第二侧边区域c2中的两个三角形上,以使第二侧边区域c2关联第二渐变区域c1。
其中,纹理实际上是一个二维数组,它的元素是一些颜色值。单个的颜色值被称为纹理元素或纹理像素。每一个纹理像素在纹理中都有一个唯一的地址。这个地址可以被认为是一个列和行的值,它们分别由U和V来表示。纹理映射就是把纹理按照特定的方式映射到物体表面(即路线)上,能使物体看上去更加真实,即纹理映射是一种为三角形赋予图像数据的技术,用于在物体的表面上绘制彩色的图案。
请参考图2d,为纹理图像的纹理坐标表示以及渲染效果示意图,在纹理坐标系中,整个纹理图像V,U都是0-1的范围。通过纹理坐标可以取到三个区域的纹理坐标,由于三个区域为矩形,因此可采用左下角和右上角两个点表示,则第一渐变区域b1的纹理坐标为{(0,0),(sl,1)},不透明区域a1的纹理坐标为{(sl,0),(sl+ml,1.0)},第二渐变区域c1的纹理坐标为{(sl+ml,0),(1.0,1.0)}。sl和ml的关系如下:2*sl+ml=1.0。
通过纹理映射,将纹理图像各区域的纹理坐标与路线建模图像中的区域进行关联,这些关联关系在OpenGL中通过设定顶点的纹理坐标实现。A-H的纹理坐标如下表一:
表一
A B C D E F G H
(0,0) (0.2,0) (0.8,0) (1,0) (0,1) (0.2,1) (0.8,1) (1,1)
如图2d所示,最右边的线框图是渲染以后的线框和填充图,去除实线后为路线高质量的抗锯齿效果,路线整体渲染质量高。
由于本实施例中对纹理图像以及对路线建模图像进行区域细分,都划分为主体部分,和两端的抗锯齿部分,并将纹理图像以及对路线建模图像的主体部分进行关联,抗锯齿部分也分别进行关联,即双线性滤波器在纹理图像中采样会较为均匀,不会导致路线的所有纹理像素都采到纹理图像中不透明的像素,从而大大提高了路线的边缘锯齿效果且抗锯齿效果明显。
也就是说,通过这种区域划分方案渲染以后,路线即使很细,也能够保证两端的抗锯齿区域存在,能够实现任意宽度的高质量线条的渲染,从而保证了路线的抗锯齿效果,避免了常规做法当路线很细的时候,抗锯齿区域就会被挤压或者消失的现象。
可以理解的是,路线两端的抗锯齿区域的宽度决定了最终路线渲染的抗锯齿效果,这个宽度在建模的时候可以根据路线的宽度做调整,比如屏幕上的1-3个像素即可,此处不作具体限定。
可一并参考图2e,为通过本发明提出的图像渲染方法渲染后得到的实验结果示意图,线段衔接处抗锯齿效果也良好。本发明提供的图像渲染方法主要用于对线条渲染效果要求较高的场景,例如地图中的导航路线的展示上:驾车,公交,步行路线等,此处举例不构成对本发明的限定。
在该实施例中提出的是纹理制作和路线建模的时候都划分为主体部分,和两端的抗锯齿部分。在某些实施方式中,如果只对纹理图像细分成主体和边缘抗锯齿部分,路线按常规做法建模,不进行细分,同样能达到不错的效果。
另外,在该实施例中没有详述的部分,可以参见上一实施例针对图像渲染方法的详细描述,此处不再赘述。
由上述可知,本实施例提供的图像渲染方法,首先对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,其中第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;然后,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染;即本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。
为便于更好的实施本发明实施例提供的图像渲染方法,本发明实施例还提供一种基于上述图像渲染方法的装置。其中名词的含义与上述图像渲染的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本发明实施例提供的图像渲染装置的结构示意图,其中该图像渲染装置300可以包括第一获取模块301、区域划分模块302、第二获取模块303以及渲染模块304。
第一获取模块301,用于获取原始纹理图像。
可以理解的是,本发明实施例中纹理包括通常意义上物体表面的纹理(即使物体表面呈现凹凸不平的沟纹),同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。而原始纹理图像就是指,未经图像处理的包含纹理的图像。
区域划分模块302,用于对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低。
比如,在获取到原始纹理图像后,图像渲染装置对原始纹理图像进行区域划分,得到至少三个区域,如主要分成三个区域,包括不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域。
其中,不透明区域处于原始纹理图像的中间部分,是主体图像;第一渐变区域处于原始纹理图像的左边部分,即处于不透明区域的左侧,第二渐变区域处于原始纹理图像的右边部分,即处于不透明区域的右侧。
进一步的,主体图像为不透明,第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低,即原始纹理图像中间部分为不透明,两边部分是抗锯齿区域,原始纹理图像整体从中间到两端透明度逐渐降低,最边缘处透明度为0。
某些实施方式中,区域划分模块302用于:按照预设比例对所述原始纹理图像进行区域划分。
比如,预设比例预先存储在图像渲染装置,在获取到原始纹理图像后,根据原始纹理图像的尺寸以及预设比例,对原始建模图像进行区域划分。
可以理解的是,在某些较为精确的实施方式中,还可以将原始建模图像划分为多于三个的区域,如将中间部分不透明区域划分多个子区域等等,只要保证两端的渐变区域,即抗锯齿区域的宽度达到某个比例即可,此处不作具体限定。
第二获取模块303,用于获取待渲染的目标建模图像。
渲染模块304,用于利用所述不透明区域、第一渐变区域以及第二渐变区域,对所述目标建模图像进行渲染。
可以理解的是,可以根据通过纹理映射的方式,利用所述不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染,其中,当把纹理按照特定的方式映射到物体表面(即线条)上的时候能使物体看上去更加真实,即纹理映射是一种为三角形赋予图像数据的技术,用于在物体的表面上绘制彩色的图案。
在某些实施方式中,在线条建模的时候,需要与纹理图像进行关联,以完成对目标建模图像的渲染,请一并参阅图4,图4为本发明实施例提供的图像渲染装置的另一结构示意图,在某些实施方式中,图像渲染装置400中第二获取模块303可以包括:
第一获取子模块3031,用于获取待建模的线条。
第一建模子模块3032,用于根据预设建模算法对所述待建模的线条进行建模,生成包含有两个三角形的三角形集合。
第一确定子模块3033,用于将所述包含有两个三角形的三角形集合确定为待渲染的目标建模图像。
即在该实施方式中,线条按照常规方式进行建模,如,首先设置待建模的线条的宽度,然后根据该线条的两个端点进行建模,生成三角形集合,一般的,该三角形集合包含有两个三角形,最后,将该建模生成的三角形集合确定为待渲染的目标建模图像。
又比如,在某些实施方式中,第二获取模块303还可以包括:
第二获取子模块3034,用于获取待建模的线条。
第二建模子模块3035,用于根据预设建模算法,对所述待建模的线条进行建模,生成包含有六个三角形的三角形集合。
区域划分子模块3036,用于对所述包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于所述线条主体两侧的第一侧边区域和第二侧边区域,其中所述线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形。
第二确定子模块3037,用于将区域划分后的三角形集合确定为待渲染的目标建模图像。
即在该实施方式中,图像渲染装置按照前述对原始纹理图像的划分方式,对待建模的线条也进行了区域的划分;如,首先设置该线条的宽度,然后根据线条的两个端点进行建模,以使得一个线条建模后被拆分成了六个三角形,形成包含有六个三角形的三角形集合。
然后,对包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于线条主体两侧的第一侧边区域和第二侧边区域,其中线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形。
其中,线条主体区域处于三角形集合的中间部分;第一侧边区域处于三角形集合的左边部分,即处于线条主体区域的左侧,第二侧边区域处于三角形集合的右边部分,即处于线条主体区域的右侧,并且,每一区域各划分有两个三角形,最后,将该区域划分后的三角形集合确定为待渲染的目标建模图像。
比如,当线条建模后生成包含有六个三角形的三角形集合时,渲染模块304可具体用于:
将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,以对所述目标建模图像进行渲染。
可以理解的是,可以根据通过纹理映射的方式,将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,其中,当把纹理按照特定的方式映射到物体表面(即线条)上的时候能使物体看上去更加真实,即纹理映射是一种为三角形赋予图像数据的技术,用于在物体的表面上绘制彩色的图案。
在某些实施方式中,如图4所示,渲染模块304可以包括:
第三获取子模块3041,用于获取所述不透明区域、第一渐变区域和第二渐变区域的纹理坐标。
映射子模块3042,用于通过纹理映射的方式,将不透明区域的纹理坐标映射到线条主体区域中的两个三角形上,以使所述线条主体区域关联所述不透明区域;将第一渐变区域的纹理坐标映射到第一侧边区域中的两个三角形上,以使第一侧边区域关联第一渐变区域;将第二渐变区域的纹理坐标映射到第二侧边区域中的两个三角形上,以使第二侧边区域关联第二渐变区域。
其中,纹理实际上是一个二维数组,它的元素是一些颜色值。单个的颜色值被称为纹理元素或纹理像素。每一个纹理像素在纹理中都有一个唯一的地址。这个地址可以被认为是一个列和行的值,它们分别由U和V来表示。纹理映射就是把纹理按照特定的方式映射到物体表面(即路线)上,能使物体看上去更加真实,即纹理映射是一种为三角形赋予图像数据的技术,用于在物体的表面上绘制彩色的图案。
由于本实施例中对纹理图像以及对路线建模图像进行区域细分,都划分为主体部分,和两端的抗锯齿部分,并将纹理图像以及对路线建模图像的主体部分进行关联,抗锯齿部分也分别进行关联,即双线性滤波器在纹理图像中采样会较为均匀,不会导致路线的所有纹理像素都采到纹理图像中不透明的像素,从而大大提高了路线的边缘锯齿效果且抗锯齿效果明显。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该图像渲染装置具体可以集成在服务器或网关等网络设备中。
由上述可知,本实施例提供的图像渲染装置,首先对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,其中第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;然后,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染;即本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。
本发明实施例还提供一种服务器,其中可以集成本发明实施例的图像渲染装置,如图5所示,其示出了本发明实施例所涉及的服务器500的结构示意图,具体来讲:
该服务器500可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、通讯单元503、电源504、输入单元505、以及显示单元506等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
通讯单元503可用于收发信息过程中,信号的接收和发送,特别地,通讯单元503接收终端发送的信号,并将信号交由一个或者一个以上处理器501处理。
服务器还包括给各个部件供电的电源504(比如电池),优选的,电源可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元505,该输入单元505可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括显示单元506,该显示单元506可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元506可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。
具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
获取原始纹理图像;对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;获取待渲染的目标建模图像;利用所述不透明区域、第一渐变区域以及第二渐变区域,对所述目标建模图像进行渲染。
在某些实施方式中,所述处理器501获取待渲染的目标建模图像时,可以包括:
获取待建模的线条;根据预设建模算法对所述待建模的线条进行建模,生成包含有两个三角形的三角形集合;将所述包含有两个三角形的三角形集合确定为待渲染的目标建模图像。
在某些实施方式中,所述处理器501获取待渲染的目标建模图像时,还可以包括:
获取待建模的线条;根据预设建模算法,对所述待建模的线条进行建模,生成包含有六个三角形的三角形集合;对所述包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于所述线条主体两侧的第一侧边区域和第二侧边区域,其中所述线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形;将区域划分后的三角形集合确定为待渲染的目标建模图像。
基于此,在某些实施方式中,所述处理器501,可用于将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,以对所述目标建模图像进行渲染。
进一步的,所述处理器501将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,将第二侧边区域与对应的第二渐变区域进行关联,包括:
获取所述不透明区域、第一渐变区域和第二渐变区域的纹理坐标;通过纹理映射的方式,将不透明区域的纹理坐标映射到线条主体区域中的两个三角形上,以使所述线条主体区域关联所述不透明区域;将第一渐变区域的纹理坐标映射到第一侧边区域中的两个三角形上,以使第一侧边区域关联第一渐变区域;将第二渐变区域的纹理坐标映射到第二侧边区域中的两个三角形上,以使第二侧边区域关联第二渐变区域。
在某些实施方式中,所述处理器501对所述原始建模图像进行区域划分,可以包括:按照预设比例对所述原始纹理图像进行区域划分。
由上述可知,本实施例提供的服务器中,首先对原始纹理图像进行区域划分,得到不透明区域,以及分别位于不透明区域两侧的第一渐变区域和第二渐变区域,其中第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;然后,利用不透明区域、第一渐变区域以及第二渐变区域,对目标建模图像进行渲染;即本发明实施例以更细化的纹理图像算法对目标建模图像进行渲染,保证了对于任何宽度的线条都能保证两端抗锯齿区域存在,从而大大改善了图像渲染时边缘处的抗锯齿效果,提高线条渲染的质量。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像渲染方法的详细描述,此处不再赘述。
本发明实施例提供的所述图像渲染装置,譬如为计算机、平板电脑、具有触摸功能的手机等等,所述图像渲染装置与上文实施例中的图像渲染方法属于同一构思,在所述图像渲染装置上可以运行所述图像渲染方法实施例中提供的任一方法,其具体实现过程详见所述图像渲染方法实施例,此处不再赘述。
需要说明的是,对本发明所述图像渲染方法而言,本领域普通测试人员可以理解实现本发明实施例所述图像渲染方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述图像渲染方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read OnlyMemory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的所述图像渲染装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种图像渲染方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种图像渲染方法,其特征在于,包括:
获取原始纹理图像;
对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;
获取待建模的线条;
根据预设建模算法,对所述待建模的线条进行建模,生成包含有六个三角形的三角形集合;
对所述包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于所述线条主体两侧的第一侧边区域和第二侧边区域,其中所述线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形;
将区域划分后的三角形集合确定为待渲染的目标建模图像;
将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,以对所述目标建模图像进行渲染。
2.根据权利要求1所述的图像渲染方法,其特征在于,所述将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,将第二侧边区域与对应的第二渐变区域进行关联,包括:
获取所述不透明区域、第一渐变区域和第二渐变区域的纹理坐标;
通过纹理映射的方式,将不透明区域的纹理坐标映射到线条主体区域中的两个三角形上,以使所述线条主体区域关联所述不透明区域;
将第一渐变区域的纹理坐标映射到第一侧边区域中的两个三角形上,以使第一侧边区域关联第一渐变区域;
将第二渐变区域的纹理坐标映射到第二侧边区域中的两个三角形上,以使第二侧边区域关联第二渐变区域。
3.根据权利要求1所述的图像渲染方法,其特征在于,所述对所述原始纹理 图像进行区域划分,包括:
按照预设比例对所述原始纹理图像进行区域划分。
4.一种图像渲染装置,其特征在于,包括:
第一获取模块,用于获取原始纹理图像;
区域划分模块,用于对所述原始纹理图像进行区域划分,得到不透明区域,以及分别位于所述不透明区域两侧的第一渐变区域和第二渐变区域,所述第一渐变区域与第二渐变区域从靠近不透明区域的一端到远离不透明区域的一端的透明度逐渐降低;
第二获取子模块,用于获取待建模的线条;
第二建模子模块,用于根据预设建模算法,对所述待建模的线条进行建模,生成包含有六个三角形的三角形集合;
区域划分子模块,用于对所述包含有六个三角形的三角形集合进行区域划分,得到线条主体区域,以及分别位于所述线条主体两侧的第一侧边区域和第二侧边区域,其中所述线条主体区域、第一侧边区域和第二侧边区域各包含两个三角形;
第二确定子模块,用于将区域划分后的三角形集合确定为待渲染的目标建模图像;
渲染模块,用于将所述线条主体区域与所述不透明区域进行关联,并将第一侧边区域与对应的第一渐变区域进行关联,以及将第二侧边区域与对应的第二渐变区域进行关联,以对所述目标建模图像进行渲染。
5.根据权利要求4所述的图像渲染装置,其特征在于,所述渲染模块包括:
第三获取子模块,用于获取所述不透明区域、第一渐变区域和第二渐变区域的纹理坐标;
映射子模块,用于通过纹理映射的方式,将不透明区域的纹理坐标映射到线条主体区域中的两个三角形上,以使所述线条主体区域关联所述不透明区域;将第一渐变区域的纹理坐标映射到第一侧边区域中的两个三角形上,以使第一侧边区域关联第一渐变区域;将第二渐变区域的纹理坐标映射到第二侧边区域中的两个三角形上,以使第二侧边区域关联第二渐变区域。
6.根据权利要求5所述的图像渲染装置,其特征在于,所述区域划分模块用于:
按照预设比例对所述原始纹理图像进行区域划分。
7.一种服务器,包括存储器,处理器及存储在存储器上并可在处理器上运行的应用程序,其中,所述处理器执行所述应用程序时实现如权利要求1-3任一项所述图像渲染方法的步骤。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述图像渲染方法的步骤。
CN201710067979.8A 2017-02-07 2017-02-07 一种图像渲染方法及装置 Active CN108399646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710067979.8A CN108399646B (zh) 2017-02-07 2017-02-07 一种图像渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710067979.8A CN108399646B (zh) 2017-02-07 2017-02-07 一种图像渲染方法及装置

Publications (2)

Publication Number Publication Date
CN108399646A CN108399646A (zh) 2018-08-14
CN108399646B true CN108399646B (zh) 2021-08-31

Family

ID=63093755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710067979.8A Active CN108399646B (zh) 2017-02-07 2017-02-07 一种图像渲染方法及装置

Country Status (1)

Country Link
CN (1) CN108399646B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109461116B (zh) * 2018-10-16 2023-04-28 浩云科技股份有限公司 一种基于opengl的720全景展开监控方法
CN109741413B (zh) * 2018-12-29 2023-09-19 超级魔方(北京)科技有限公司 一种场景中半透明物体的渲染方法、装置及电子设备
CN109741414B (zh) * 2018-12-29 2023-06-20 超级魔方(北京)科技有限公司 一种场景中半透明物体的渲染方法、装置及电子设备
CN111435548B (zh) * 2019-01-13 2023-10-03 北京魔门塔科技有限公司 一种地图的渲染方法和装置
CN112767523A (zh) * 2021-01-20 2021-05-07 四川湖山电器股份有限公司 一种图像渲染及漫游方法
CN112929682B (zh) * 2021-01-21 2023-03-24 广州虎牙科技有限公司 对图像背景进行透明处理的方法、装置、系统及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3701627B2 (ja) * 2001-10-11 2005-10-05 株式会社ソニー・コンピュータエンタテインメント 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法
WO2014186459A2 (en) * 2013-05-15 2014-11-20 Google Inc. Efficient composition and rendering of graphical elements
CN104268911B (zh) * 2014-09-18 2016-04-13 腾讯科技(深圳)有限公司 绘制地图中路线的方法和装置
CN104776855B (zh) * 2015-03-17 2018-03-13 腾讯科技(深圳)有限公司 一种交叉路口的导航方法和装置
US9984490B2 (en) * 2015-06-11 2018-05-29 Intel Corporation Optimizing for rendering with clear color
CN105678831A (zh) * 2015-12-30 2016-06-15 北京奇艺世纪科技有限公司 一种图像渲染方法和装置

Also Published As

Publication number Publication date
CN108399646A (zh) 2018-08-14

Similar Documents

Publication Publication Date Title
CN108399646B (zh) 一种图像渲染方法及装置
JP5336067B2 (ja) グラフィックスを処理する方法および装置
US9275493B2 (en) Rendering vector maps in a geographic information system
US7688317B2 (en) Texture mapping 2-D text properties to 3-D text
US20230120253A1 (en) Method and apparatus for generating virtual character, electronic device and readable storage medium
EP2831754B1 (en) Post tesellation edge cache
US10535188B2 (en) Tessellation edge shaders
US20140071124A1 (en) Image processing apparatus
US10134171B2 (en) Graphics processing systems
CN109598672B (zh) 一种地图道路渲染方法及装置
US9092911B2 (en) Subpixel shape smoothing based on predicted shape background information
CN110502305B (zh) 一种动态界面的实现方法、装置及相关设备
WO2023173728A1 (zh) 图形渲染方法、装置及存储介质
JP4505866B2 (ja) 画像処理装置および映像信号処理方法
JP7352032B2 (ja) 動画生成方法、装置、電子デバイス及びコンピュータ読取可能記憶媒体
CN114797109A (zh) 对象编辑方法、装置、电子设备和存储介质
CN103164210A (zh) 对应用程序界面进行换肤的方法和装置
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
US20180342099A1 (en) Method and apparatus for performing high throughput tessellation
US11869123B2 (en) Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer
CN113487708B (zh) 基于图形学的流动动画实现方法、存储介质及终端设备
CN117112950B (zh) 电子地图中对象的渲染方法、装置、终端及存储介质
US9449420B2 (en) Reducing the domain shader/tessellator invocations
CN112579083B (zh) 图像展示方法、装置、电子设备和存储介质
JP4386124B2 (ja) 映像信号処理装置および映像信号処理方法

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
GR01 Patent grant
GR01 Patent grant