CN111105485A - 一种线条渲染方法、装置 - Google Patents
一种线条渲染方法、装置 Download PDFInfo
- Publication number
- CN111105485A CN111105485A CN201811173739.7A CN201811173739A CN111105485A CN 111105485 A CN111105485 A CN 111105485A CN 201811173739 A CN201811173739 A CN 201811173739A CN 111105485 A CN111105485 A CN 111105485A
- Authority
- CN
- China
- Prior art keywords
- line
- line drawing
- rendering
- line width
- coordinates
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000004040 coloring Methods 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 63
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Abstract
本申请实施例提供一种线条渲染方法、装置,该方法包括:获取参考点坐标、线宽参数;依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
Description
技术领域
本申请涉及显示处理技术领域,尤其涉及一种线条渲染方法、装置。
背景技术
在一些应用场景比如监控场景中,需要在显示窗口上显示线条,以实现监控的智能化、辅助理解监控画面、增强用户体验,有较强的实际使用意义和广泛的市场前景。
线条渲染技术可实现在显示窗口上显示线条,在不同的需求下,所需绘制的线条类型会有各种不同,例如规则框、温度曲线、区域划定等,因而需要一种能够自定义绘制线条的线条渲染技术。但是,目前还缺乏能够较好地实现自定义线条的线条渲染技术。
发明内容
有鉴于此,本申请实施例提供一种线条渲染方法、装置,能够较好地实现自定义线条。
本申请实施例第一方面提供一种线条渲染方法,包括:
获取参考点坐标、线宽参数;
依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
根据本申请的一个实施例,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标,包括:
依据线宽参数确定水平线宽和竖直线宽;
针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
根据本申请的一个实施例,所述依据线宽参数确定水平线宽和竖直线宽包括:
获取显示窗口的水平长度和竖直长度;
依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
根据本申请的一个实施例,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标进一步包括:将确定的线条绘制点坐标进行排序;
若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元包括:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
根据本申请的一个实施例,所述依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元,包括:
将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
利用关联的线条绘制点坐标确定对应的线条绘制单元。
根据本申请的一个实施例,所述在目标纹理中绘制各个线条绘制单元,包括:
获取指定颜色;
按照所述指定颜色在目标纹理中绘制各个线条绘制单元。
本申请实施例第二方面提供一种线条渲染装置,包括:
获取模块,用于获取参考点坐标、线宽参数;
坐标确定模块,用于依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块,用于依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
线条绘制模块,在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
根据本申请的一个实施例,所述坐标确定模块包括:
线宽确定单元,用于依据线宽参数确定水平线宽和竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
根据本申请的一个实施例,所述线宽确定单元包括:
长度获取子单元,用于获取显示窗口的水平长度和竖直长度;
水平线宽确定子单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
竖直线宽确定子单元,用于依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
根据本申请的一个实施例,所述坐标确定模块进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块具体用于:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
根据本申请的一个实施例,所述绘制单元确定模块包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
根据本申请的一个实施例,所述线条绘制模块包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元。
本申请实施例第三方面提供一种线条渲染方法,包括:
获取参考点坐标、线宽参数及显示窗口的尺寸参数;
依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
将各个所述线条绘制单元渲染到显示窗口。
根据本申请的一个实施例,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标,包括:
依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
根据本申请的一个实施例,所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标进一步包括:
将确定的线条绘制点坐标进行排序;
若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元包括:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
根据本申请的一个实施例,所述依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元,包括:
将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
利用关联的线条绘制点坐标确定对应的线条绘制单元。
根据本申请的一个实施例,所述将各个所述线条绘制单元渲染到显示窗口,包括:
获取指定颜色;
按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
将绘制后的目标纹理渲染到显示窗口。
本申请实施例第四方面提供一种线条渲染装置,包括:
获取模块,用于获取参考点坐标、线宽参数及显示窗口的尺寸参数;
坐标确定模块,用于依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块,用于依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
线条绘制模块,用于将各个所述线条绘制单元渲染到显示窗口。
根据本申请的一个实施例,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
所述坐标确定模块包括:
线宽确定单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
根据本申请的一个实施例,所述坐标确定模块进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块具体用于:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
根据本申请的一个实施例,所述绘制单元确定模块包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
根据本申请的一个实施例,所述线条绘制模块包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
渲染单元,用于将绘制后的目标纹理渲染到显示窗口。
本申请实施例第五方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的线条渲染方法。
本申请实施例第六方面提供一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的线条渲染方法。
相比于现有技术,本申请实施例至少具有以下有益效果:
本申请实施例中,可以依据参考点坐标和线宽参数确定线条绘制点坐标,再利用线条绘制点坐标确定构成待绘制线条的各个线条绘制单元,可根据需要确定线条绘制单元而相应地绘制出直线、曲线等各种形状的线条,能够较好地实现自定义线条,使得显示窗口上可显示的线条类型更广。
附图说明
图1为本申请一实施例的线条渲染方法的流程示意图;
图2为本申请一实施例的线条绘制装置的结构框图;
图3为本申请一实施例的计算线条绘制点坐标的示意图;
图4为本申请一实施例的利用线条绘制点坐标确定线条绘制单元的示意图;
图5为本申请一更具体实施例的线条渲染方法的流程示意图;
图6为本申请另一实施例的线条渲染方法的流程示意图;
图7为本申请一实施例的电子设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面对本申请实施例的线条渲染方法、装置进行展开描述,但不应以此为限。
本申请实施例第一方面提供一种线条渲染方法,在一个实施例中,参看图1,线条渲染方法包括:
S100:获取参考点坐标、线宽参数;
S200:依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
S300:依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
S400:在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
本申请实施例的线条渲染方法的执行主体可以是电子设备,具体可以是电子设备的处理器。该电子设备可以是显示设备,当然也可以是与显示设备连接的其他电子设备。显示设备可以自身采集图像或者可从采集设备上获取图像,并可将获取的图像渲染为待显示画面,该图像可以为一幅静态图片或视频中的一帧视频图像。
在步骤S100中,获取参考点坐标、线宽参数。
获取参考点坐标的方式可以包括接收外部输入的参考点坐标、或者是获取本地已配置的参考点坐标、或者是获取本地生成的参考点坐标等,具体获取方式不限。可以理解,所获取的参考点坐标的数量为至少两个。
在获取参考点坐标的同时,还可以将参考点的数目一并获取,以便电子设备可以依据参考点数目确定各个参考点坐标的索引号。例如,在输入参考点坐标时,还输入参考点的数目10个,如此,在将存储参考点坐标的数据结构配置为数组时,可依据参考点的数目分配数组元素对应的索引号(或称为数组下标),比如,配置索引号后的参考点坐标可分别表示为P[0]、……、P[9],从而便于在后续计算时依据索引号找到对应的参考点坐标。可以理解,存储参考点坐标的数据结构并不限于数组,还可以是队列、链表等等。
获取线宽参数的方式可以包括接收外部输入的线宽参数、或者是获取本地预存的线宽参数、或者是获取本地生成的线宽参数等,具体获取方式不限。
优选的,在步骤S100中,参考点坐标、线宽参数可以都是用户根据需要绘制的线条情况而输入至本设备中的。当然,步骤S100中,还可以一并输入指定颜色,以作为线条着色时的颜色。
步骤S200中,依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系。
参考点坐标作为确定线条绘制点坐标的参考位置,基于所有参考点坐标可确定待绘制线条的整体位置及形状,基于线宽参数可确定待绘制线条的宽度。依据参考点坐标和线宽参数可以确定绘制线条所需线条绘制点坐标,利用线条绘制点坐标可绘制出相应宽度及形状的线条。
具体的,依据参考点坐标和线宽参数确定线条绘制点坐标的方式可以包括:以相邻两个参考点所在直线为基准,将到该两个参考点中的任一个参考点的垂直距离为线宽参数一半的点确定为线条绘制点,相应坐标确定为线条绘制点坐标,具体不限。如此,依据两个参考点坐标和线宽参数可确定对应的四个线条绘制点坐标。
线条绘制点坐标是指定坐标系中的点坐标,由于指定坐标系为应用于显示窗口的坐标系,因而可直接渲染到显示窗口中显示。
可以理解,参考点坐标同样可以是指定坐标系中的点坐标,这样可在指定坐标系中直接利用参考点坐标和线宽参数计算线条绘制点坐标。当然,利用两个参考点坐标及线宽参数确定线条绘制点坐标的过程中也可以存在参考点坐标的坐标转换。
接着执行步骤S300中,依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
步骤S200中得到的线条绘制点坐标可以先缓存在本地缓存中。具体的,可以每计算得到一个或几个线条绘制点坐标,便将得到的线条绘制点坐标缓存一次;或者,为了减少读写频次,提高处理效率,可以在计算得到所有线条绘制点坐标后,再将得到的所有线条绘制点坐标进行一次性缓存。执行步骤S300时,再从本地缓存中获取线条绘制点坐标,利用读取的线条绘制点坐标构建纹理渲染所需的线条绘制单元。
可以理解,也可以不用先得到全部的线条绘制点坐标之后再执行步骤S300,而是在步骤S200中每确定一个或几个线条绘制点坐标便执行一次步骤S300,具体不限。
线条绘制单元是构成待绘制线条的基本单元。线条绘制单元的形状可以根据每个线条绘制单元所需的线条绘制点坐标的数量、位置而定,例如可以是三角状、四边形状、梯形状等不限,只要是所有线条绘制单元的拼接可构成所需线条即可。
优选的,线条绘制单元可以呈三角状,每次将三个线条绘制点坐标作为顶点便可构建一个三角状的线条绘制单元。在已确定一个线条绘制单元的基础上,后续每增加一个线条绘制点坐标,利用已确定的线条绘制单元上的两个线条绘制点坐标和该增加的一个线条绘制点坐标,便可再确定一个线条绘制单元。
接着执行步骤S400,在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
具体的,可以获取已渲染有待显示画面的目标纹理(render target texture),将各个线条绘制单元绘制到该目标纹理上,由于待显示画面也渲染在该目标纹理中,如此,将绘制后的目标纹理渲染到显示窗口后,线条会呈现在显示画面中。
当线条需要显示在视频中时,可以在每帧视频图像到来时执行一次步骤S400、或者重新执行一遍步骤S100-S400。每到来一帧视频图像(作为待显示画面),便将新到来的视频图像重新渲染到目标纹理中,步骤S400中可获取已渲染有当前到来的视频图像的目标纹理,在该目标纹理中绘制各个线条绘制单元。如此,可使得显示窗口显示的每帧视频图像上都呈现相应线条,当然,不同视频图像上呈现的线条可变化。
本申请实施例中,可以依据参考点坐标和线宽参数确定线条绘制点坐标,再利用线条绘制点坐标确定构成待绘制线条的各个线条绘制单元,可根据需要确定线条绘制单元而相应地绘制出直线、曲线等各种形状的线条,能够较好地实现自定义线条,使得显示窗口上可显示的线条类型更广。
此外,相关线条渲染技术中,线条的渲染环境与显示画面的渲染环境是不同的,因而线条与显示画面是分开渲染到显示窗口的,导致线条呈现在显示画面时可能存在不停闪烁的问题。
而本申请实施例中,以纹理渲染方式将线条绘制单元直接绘制在待显示画面的渲染环境中,由于线条与待显示画面共用一渲染环境,因而在显示窗口上显示时不会出现线条相对显示画面不停闪烁的问题,用户体验更好。
在一个实施例中,上述方法流程可由线条渲染装置10执行,如图2所示,线条渲染装置10主要包含四个模块:获取模块100,坐标确定模块200,绘制单元确定模块300和线条绘制模块400。获取模块100用于执行上述步骤S100,坐标确定模块200用于执行上述步骤S200,绘制单元确定模块300用于执行上述步骤S300,线条绘制模块400用于执行上述步骤S400。
在一个实施例中,步骤S200中,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标,包括以下步骤:
S201:依据线宽参数确定水平线宽和竖直线宽;
S202:针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
步骤S201可由坐标确定模块200中的线宽确定单元执行,步骤S202可由坐标确定模块200中的计算单元执行。
可选的,步骤S201中,可直接将水平线宽和竖直线宽都确定为该线宽参数,但不作为限制。
步骤S202中,具体的,参看图3和图4,A0(xA0,yA0)、B0(xB0,yB0)是两个参考点坐标,A1、A2是A0对应的线条绘制点坐标,B1、B2是B0对应的线条绘制点坐标,Q为以B0的X轴坐标为X轴坐标、A0的Y轴坐标为Y轴坐标所确定的点坐标,A1P是A0Q的垂线(P为垂点),A1A2为线宽,假设线宽A1A2直接采用获取的线宽参数,即A1A2=w,则A0P=Δx,A1P=Δy。
在△B0QA0中,
由于△A0PA1和△B0QA0是相似三角形,因而可以得到:
将获取的线宽参数w作为水平线宽代入公式(4),计算得到水平偏移量;将获取的线宽参数w作为水平线宽代入公式(5),计算得到竖直偏移量。
显示设备上的显示窗口可以是整个显示区域,也可以是在显示区域上可缩放的窗口。在显示设备上的显示窗口可缩放时,显示窗口的水平长度、竖直长度是可变的,在缩放过程中,系统会自动地将显示窗口中呈现的内容比如线条缩放后进行显示。
相关线条渲染技术中,在显示窗口进行缩放时,为了保证在显示窗口上正常显示,待呈现的内容比如线条、待显示画面等会被采样,因而会发生线条从实线变虚线的情况。
此外,线条本身宽度较小,在显示窗口被缩小时,线宽会被系统一并缩小,导致线条变得不清楚,同时,假设显示窗口的水平长度和竖直长度的变化比例不一致时,线条在水平方向的宽度和在竖直方向上的宽度也会变得不一致,导致显示的线条整体宽度不一致。
基于上述问题的发现,本申请实施例的步骤S201中,优选的,依据线宽参数确定水平线宽和竖直线宽具体包括以下步骤:
S2011:获取显示窗口的水平长度和竖直长度;
S2012:依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
S2013:依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
步骤S2011可由线宽确定单元中的长度获取子单元执行,步骤S2012可由线宽确定单元中的水平线宽确定子单元执行,步骤S2013可由线宽确定单元中的竖直线宽确定子单元执行。
步骤S2011中,可以在每次计算水平线宽和竖直线宽时,从本地获取显示窗口的水平长度、竖直长度,该显示窗口的水平长度、竖直长度表征当前显示窗口的尺寸。
上述步骤S2012和S2013中的已建立的对应关系中,在线宽参数一致的情况下,水平线宽与显示窗口的水平长度之间的关系可为反比例关系,竖直线宽与显示窗口的竖直长度之间的关系可为反比例关系,如此,当显示窗口的水平长度、和/或竖直长度发生变化时,计算得到的水平线宽、和/或竖直线宽会发生反向变化,因而可根据需要保持缩放前后的显示窗口中显示的线条的实际线宽保持不变。
本实施例中,由于计算线条绘制点坐标所需的水平线宽和竖直线宽是依据显示窗口的尺寸确定的,可依据缩放后的显示窗口尺寸来确定相应的线条绘制单元,从而在显示窗口缩放时,由线条绘制单元绘制而成的线条不会发生从实线变虚线的情况,保证线条的正常显示。
此外,由于水平线宽和竖直线宽分别依据显示窗口的水平长度、竖直长度调整,因而可根据需要使得显示窗口中的线条整体宽度一致。
具体的,继续参看图3和图4,线宽参数、显示窗口的水平长度与水平线宽之间的对应关系,可如下述公式(8);线宽参数、显示窗口的竖直长度与竖直线宽之间的对应关系,可如下述公式(9):
wx=2*w*1/W (8)
wy=2*w*1/H (9)
其中wx,wy分别表示水平线宽和竖直线宽,W表示显示窗口的水平长度,H表示显示窗口的竖直长度,w表示获取的线宽参数。
将式(4)中的w替换为wx,式(5)中的w替换为wy,可以得到公式(10)和(11):
计算得到水平偏移量Δx、竖直偏移量Δy,根据公式(6)和(7)就可以计算出A1的坐标,在此不再赘述。同理可以计算出A2、B1、B2,具体的:
参看图4,在计算得到A1、A2、B1、B2后,依据A1、A2、B1、B2可以确定两个线条绘制单元△A1B2A2和△A1B1B2。
在一个实施例中,步骤S200中,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标进一步包括以下步骤:
S203:将确定的线条绘制点坐标进行排序;
S204:若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端。
进一步的,所述步骤S300中,所述依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元具体包括:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
步骤S203中,将确定的线条绘制点坐标进行排序,可以按照计算得到的顺序排序,具体排序方式不限,只要线条绘制点坐标排序后的序列可用于构建纹理渲染所需的线条绘制单元即可。
优选的,计算线条绘制点坐标所用的参考点坐标本身可已排序,如此对于计算得到的线条绘制点坐标可依据参考点坐标的顺序相应进行排序。例如,参看图4,A0、B0是先后相邻的参考点坐标,计算所得的线条绘制点坐标A1、A2、B1、B2依据参考点坐标的顺序进行排序,排序后例如是A2、A1、B2、B1,又如是A1、A2、B2、B1等不限。
步骤S204中的指令可以是外部输入的,例如可以是在步骤S100中与参考点坐标、线宽参数一并输入得到的,当然输入的时机不限,只要在步骤S204之前即可。通过外部输入的指令来判断所需画的线条是否为闭合线。
若已获取的指令指示为画闭合线,则复制线条绘制点排序后得到的序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于序列的尾端。之后,依据序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元时,首尾可通过该相同的线条绘制点坐标接合,便可以得到闭合线。
上述步骤S203可由坐标确定模块200中的排序单元执行,上述步骤S204可由坐标确定模块200中的画闭合线处理单元执行。
在一个实施例中,所述依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元,可以包括以下步骤:
S301:将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
S302:利用关联的线条绘制点坐标确定对应的线条绘制单元。
步骤S301中,中间线条绘制点坐标是指序列中除首个和最后一个线条绘制点坐标之外的线条绘制点坐标,将每个中间线条绘制点坐标与该中间线条绘制点坐标左右相邻的两个线条绘制点坐标关联。
步骤S302中,由于每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标关联,即依据三个关联的线条绘制点坐标可确定一个线条绘制单元,确定的线条绘制单元可为三角状。
上述步骤S301可由绘制单元确定模块300中的坐标关联单元执行,上述步骤S302可由绘制单元确定模块300中的绘制单元确定单元执行。
在一个实施例中,步骤S400中,所述在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,包括以下步骤:
S401:获取指定颜色;
S402:按照所述指定颜色在所述目标纹理中绘制各个线条绘制单元。
步骤S401中的指定颜色可以是预置在本地的,或者是外部输入的。指定颜色具体不限,可根据线条颜色需要而定,例如可以是黑色、红色等。获取的指定颜色还可指示颜色的透明度等。
步骤S402中,调用渲染有待显示画面的目标纹理,利用着色器按照指定颜色在该目标纹理中绘制各个线条绘制单元。
上述步骤S401可由线条绘制模块400中的颜色获取单元执行,上述步骤S402可由线条绘制模块400中的绘制着色单元绘制。
下面以一个更具体的实施例对本申请的线条渲染方法进行说明,但不作为限制。
参看图5,线条渲染方法可以包括以下步骤:
开始执行后,对于输入的参考点坐标、线宽参数等这些参数,可先判断参数是否无效,若是,则继续执行;若否则结束执行;其中,参数可以包括指向参考点坐标的存储地址的地址指针、线宽参数等;
接着,判断用于指向绘制用的着色器的着色器指针是否为空,若是,则创建着色器并配置相应的着色器指针指向该着色器,再继续执行;若否,则继续执行;其中,着色器可以包括像素着色器(pixel shade)和顶点着色器(vertex shade),顶点着色器可以用于对线条绘制点坐标进行着色,像素着色器可以对线条绘制单元的除线条绘制点坐标之外的其他位置进行着色;
接着,判断线条绘制点坐标缓存是否为空,若是,则创建线条绘制点坐标缓存并对其进行初始化,再继续执行;若否,则继续执行;
接着,计算线条绘制点坐标,还可将计算得到的线条绘制点坐标进行排序;即依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;
接着,判断已获取的指令是否指示画闭合线,若是,则复制线条绘制点坐标排序得到的序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于该序列的尾端,再继续执行;若否,则继续执行;
接着,将计算得到的所有线条绘制点坐标缓存到线条绘制点坐标缓存中;
接着,设置指定颜色,指定颜色例如包括色彩值、透明度等;
接着,利用着色器指针调用着色器,并开启着色器;
接着,设置线条绘制点坐标的格式,使得本地可以将线条绘制点坐标识别为坐标数据;
接着,关联线条绘制点坐标,即序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联,利用关联的线条绘制点坐标确定对应的线条绘制单元;
接着,着色器开始按照已设置的指定颜色在目标纹理中绘制线条绘制单元;
绘制完成时,停止着色器并结束。
本申请实施例第二方面提供一种线条渲染装置,参看图2,在一个实施例中,该装置10可包括:
获取模块100,用于获取参考点坐标、线宽参数;
坐标确定模块200,用于依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块300,用于依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
线条绘制模块400,用于在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
在一个实施例中,所述坐标确定模块200包括:
线宽确定单元,用于依据线宽参数确定水平线宽和竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
在一个实施例中,所述线宽确定单元包括:
长度获取子单元,用于获取显示窗口的水平长度和竖直长度;
水平线宽确定子单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
竖直线宽确定子单元,用于依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
在一个实施例中,所述坐标确定模块200进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块300具体用于:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
在一个实施例中,所述绘制单元确定模块300包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
在一个实施例中,所述线条绘制模块400包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元。
上述装置中各个单元的功能和作用的实现过程具体详见本申请实施例第一方面提供的方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见本申请实施例第一方面提供的方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本申请实施例第三方面提供一种线条渲染方法,在一个实施例中,参看图6,该线条渲染方法,可以包括以下步骤:
T100:获取参考点坐标、线宽参数及显示窗口的尺寸参数;
T200:依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
T300:依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
T400:将各个所述线条绘制单元渲染到显示窗口。
本实施例中,可以依据参考点坐标、线宽参数、及显示窗口的尺寸参数确定线条绘制点坐标,再利用线条绘制点坐标确定构成待绘制线条的各个线条绘制单元,可根据需要确定线条绘制单元而相应地绘制出直线、曲线等各种形状的线条,能够较好地实现自定义线条,使得显示窗口上可显示的线条类型更广。
此外,本实施例中,由于计算线条绘制点坐标所需的水平线宽和竖直线宽是依据显示窗口的尺寸确定的,可依据缩放后的显示窗口尺寸来确定相应的线条绘制单元,从而在显示窗口缩放时,由线条绘制单元绘制而成的线条不会发生从实线变虚线的情况,保证线条的正常显示。
优选的,将各个所述线条绘制单元渲染到显示窗口的渲染方式同样可以是纹理渲染,即先将各个线条绘制单元绘制到目标纹理上,再将目标纹理渲染到显示窗口中。可以理解,本实施例中,显示窗口中可仅呈现由线条绘制单元绘制渲染所得的线条,而不需要其他内容比如视频图像等,相应的,目标纹理便是空白的目标纹理,具体不限。
在一个实施例中,上述方法流程可由线条渲染装置10执行,如图2所示,线条渲染装置10主要包含四个模块:获取模块100,坐标确定模块200,绘制单元确定模块300和线条绘制模块400。获取模块100用于执行上述步骤T100,坐标确定模块200用于执行上述步骤T200,绘制单元确定模块300用于执行上述步骤T300,线条绘制模块400用于执行上述步骤T400。
在一个实施例中,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
步骤T200中,所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标,可以包括以下步骤:
T201:依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
T202:针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
在一个实施例中,步骤T200中,所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标进一步包括:
T203:将确定的线条绘制点坐标进行排序;
T204:若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
步骤T300中,所述依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元包括:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
在一个实施例中,步骤T300中,所述依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元,包括:
T301:将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
T302:利用关联的线条绘制点坐标确定对应的线条绘制单元。
在一个实施例中,步骤T400中,所述将各个所述线条绘制单元渲染到显示窗口,包括:
T401:获取指定颜色;
T402:按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
T403:将绘制后的目标纹理渲染到显示窗口。
关于本申请实施例第三方面提供的线条渲染方法的具体内容可参看前述第一方面提供的实施例内容,相同或相似之处在此不再赘述。
本申请实施例第四方面提供一种线条渲染装置,可继续参看图2,该装置10可包括:
获取模块100,用于获取参考点坐标、线宽参数及显示窗口的尺寸参数;
坐标确定模块200,用于依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块300,用于依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
线条绘制模块400,用于将各个所述线条绘制单元渲染到显示窗口。
在一个实施例中,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
所述坐标确定模块包括:
线宽确定单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
在一个实施例中,所述坐标确定模块进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块具体用于:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
在一个实施例中,所述绘制单元确定模块包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
在一个实施例中,所述线条绘制模块包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
渲染单元,用于将绘制后的目标纹理渲染到显示窗口。
上述装置中各个单元的功能和作用的实现过程具体详见上述第三方面提供的方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见第三方面提供的方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本申请实施例还提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例中所述的线条渲染方法。
本申请线条绘制装置10的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,图7是本申请实施例根据一示例性实施例示出的线条绘制装置10所在电子设备的一种硬件结构图,除了图7所示的处理器510、内存530、接口520、以及非易失性存储器540之外,实施例中装置10所在的电子设备通常根据该电子设备的实际功能,还可以包括移动通信模块等其他硬件,对此不再赘述。
本申请实施例还提供一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如前述实施例中所述的线条渲染方法。
本申请实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (22)
1.一种线条渲染方法,其特征在于,包括:
获取参考点坐标、线宽参数;
依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
2.如权利要求1所述的线条渲染方法,其特征在于,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标,包括:
依据线宽参数确定水平线宽和竖直线宽;
针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
3.如权利要求2所述的线条渲染方法,其特征在于,所述依据线宽参数确定水平线宽和竖直线宽包括:
获取显示窗口的水平长度和竖直长度;
依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
4.如权利要求1所述的线条渲染方法,其特征在于,所述依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标进一步包括:
将确定的线条绘制点坐标进行排序;
若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元包括:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
5.如权利要求4所述的线条渲染方法,其特征在于,所述依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元,包括:
将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
利用关联的线条绘制点坐标确定对应的线条绘制单元。
6.如权利要求1所述的线条渲染方法,其特征在于,所述在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,包括:
获取指定颜色;
按照所述指定颜色在所述目标纹理中绘制各个线条绘制单元。
7.一种线条渲染装置,其特征在于,包括:
获取模块,用于获取参考点坐标、线宽参数;
坐标确定模块,用于依据获取的参考点坐标、线宽参数在指定坐标系中确定纹理渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块,用于依据已确定的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元;
线条绘制模块,用于在渲染有待显示画面的目标纹理中绘制各个线条绘制单元,并将绘制后的目标纹理渲染到显示窗口。
8.如权利要求7所述的线条渲染装置,其特征在于,所述坐标确定模块包括:
线宽确定单元,用于依据线宽参数确定水平线宽和竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
9.如权利要求8所述的线条渲染装置,其特征在于,所述线宽确定单元包括:
长度获取子单元,用于获取显示窗口的水平长度和竖直长度;
水平线宽确定子单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽;
竖直线宽确定子单元,用于依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽。
10.如权利要求7所述的线条渲染装置,其特征在于,所述坐标确定模块进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块具体用于:
依据所述序列的所有线条绘制点坐标构建纹理渲染所需的线条绘制单元。
11.如权利要求10所述的线条渲染装置,其特征在于,所述绘制单元确定模块包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
12.如权利要求7所述的线条渲染装置,其特征在于,所述线条绘制模块包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元。
13.一种线条渲染方法,其特征在于,包括:
获取参考点坐标、线宽参数及显示窗口的尺寸参数;
依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
将各个所述线条绘制单元渲染到显示窗口。
14.如权利要求13所述的线条渲染方法,其特征在于,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标,包括:
依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
15.如权利要求13所述的线条渲染方法,其特征在于,所述依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标进一步包括:
将确定的线条绘制点坐标进行排序;
若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元包括:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
16.如权利要求15所述的线条渲染方法,其特征在于,所述依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元,包括:
将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
利用关联的线条绘制点坐标确定对应的线条绘制单元。
17.如权利要求13所述的线条渲染方法,其特征在于,所述将各个所述线条绘制单元渲染到显示窗口,包括:
获取指定颜色;
按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
将绘制后的目标纹理渲染到显示窗口。
18.一种线条渲染装置,其特征在于,包括:
获取模块,用于获取参考点坐标、线宽参数及显示窗口的尺寸参数;
坐标确定模块,用于依据获取的参考点坐标、线宽参数、及显示窗口的尺寸参数在指定坐标系中确定渲染所需的线条绘制点坐标;所述指定坐标系为应用于显示窗口的坐标系;
绘制单元确定模块,用于依据已确定的所有线条绘制点坐标构建渲染所需的线条绘制单元;
线条绘制模块,用于将各个所述线条绘制单元渲染到显示窗口。
19.如权利要求18所述的线条渲染装置,其特征在于,所述显示窗口的尺寸参数包括显示窗口的水平长度和竖直长度;
所述坐标确定模块包括:
线宽确定单元,用于依据线宽参数、所述水平长度在已建立的线宽参数、水平长度与水平线宽的对应关系中确定对应的水平线宽,并依据线宽参数、所述竖直长度在已建立的线宽参数、竖直长度与竖直线宽的对应关系中确定对应的竖直线宽;
计算单元,用于针对每一参考点对,依据所述水平线宽、该参考点对中各参考点的参考点坐标计算水平偏移量;依据所述竖直线宽、及该参考点对中各参考点的参考点坐标计算竖直偏移量;在所述指定坐标系中依据该参考点对、所述水平偏移量和竖直偏移量计算对应的线条绘制点坐标,所述参考点对为所述指定坐标系中相邻的两个参考点。
20.如权利要求18所述的线条渲染装置,其特征在于,所述坐标确定模块进一步包括:
排序单元,用于将确定的线条绘制点坐标进行排序;
画闭合线处理单元,用于若已获取的指令指示为画闭合线,则复制序列中首个或前两个线条绘制点坐标,将复制得到线条绘制点坐标置于所述序列的尾端;
所述绘制单元确定模块具体用于:
依据所述序列的所有线条绘制点坐标构建渲染所需的线条绘制单元。
21.如权利要求20所述的线条渲染装置,其特征在于,所述绘制单元确定模块包括:
坐标关联单元,用于将所述序列中的每个中间线条绘制点坐标与其相邻的两个线条绘制点坐标进行关联;
绘制单元确定单元,用于利用关联的线条绘制点坐标确定对应的线条绘制单元。
22.如权利要求18所述的线条渲染装置,其特征在于,所述线条绘制模块包括:
颜色获取单元,用于获取指定颜色;
绘制着色单元,用于按照所述指定颜色在目标纹理中绘制各个线条绘制单元;
渲染单元,用于将绘制后的目标纹理渲染到显示窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811173739.7A CN111105485B (zh) | 2018-10-09 | 2018-10-09 | 一种线条渲染方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811173739.7A CN111105485B (zh) | 2018-10-09 | 2018-10-09 | 一种线条渲染方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111105485A true CN111105485A (zh) | 2020-05-05 |
CN111105485B CN111105485B (zh) | 2024-02-27 |
Family
ID=70417821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811173739.7A Active CN111105485B (zh) | 2018-10-09 | 2018-10-09 | 一种线条渲染方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111105485B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797506A (zh) * | 2022-12-16 | 2023-03-14 | 江苏泽景汽车电子股份有限公司 | 车道线对象的绘制方法、装置、终端设备和存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5012433A (en) * | 1987-04-27 | 1991-04-30 | International Business Machines Corporation | Multistage clipping method |
CA2092709A1 (en) * | 1991-07-12 | 1993-01-13 | Fumio Shibata | Apparatus and method for deciding or setting ideal lighting conditions and photographic conditions, etc. in image processing system, or for aiding in deciding or setting of said conditions |
CA2392638A1 (en) * | 2001-07-09 | 2003-01-09 | Samsung Electronics Co., Ltd. | Method for representing image-based rendering information in 3d scene |
WO2003012743A1 (fr) * | 2001-07-27 | 2003-02-13 | Sony Computer Entertainment Inc. | Procede de peinture |
AU2002301127B2 (en) * | 1996-06-05 | 2005-11-03 | Sega Enterprises, Ltd | Fictitious virtual centripetal calculation and simulation system |
JP2006302127A (ja) * | 2005-04-22 | 2006-11-02 | Nec Infrontia Corp | 画面高速描画装置およびその描画処理方法 |
CN101145241A (zh) * | 2007-10-30 | 2008-03-19 | 深圳市蓝韵实业有限公司 | 一种在计算机屏幕上绘制倾斜椭圆的方法 |
US20100290712A1 (en) * | 2009-05-13 | 2010-11-18 | Seiko Epson Corporation | Image processing method and image processing apparatus |
CN102148965A (zh) * | 2011-05-09 | 2011-08-10 | 上海芯启电子科技有限公司 | 多目标跟踪特写拍摄视频监控系统 |
AU2010257408A1 (en) * | 2010-12-23 | 2012-07-12 | Canon Kabushiki Kaisha | Colour encoding clustering |
CN102708585A (zh) * | 2012-05-09 | 2012-10-03 | 北京像素软件科技股份有限公司 | 一种渲染模型轮廓边缘的方法 |
US20120249532A1 (en) * | 2011-03-28 | 2012-10-04 | Sony Corporation | Display control device, display control method, detection device, detection method, program, and display system |
CN103646412A (zh) * | 2013-12-27 | 2014-03-19 | 广东威创视讯科技股份有限公司 | 宽线描绘方法及装置 |
US20150228094A1 (en) * | 2014-02-13 | 2015-08-13 | Samsung Electronics Co., Ltd. | Curve rendering method and apparatus |
CN105718233A (zh) * | 2016-01-15 | 2016-06-29 | 南京航空航天大学 | 一种平显多线宽三角形无失真的绘制方法 |
CN107333051A (zh) * | 2016-04-28 | 2017-11-07 | 杭州海康威视数字技术股份有限公司 | 一种室内全景视频生成方法及装置 |
CN108021666A (zh) * | 2017-12-04 | 2018-05-11 | 北京百度网讯科技有限公司 | 页面适配方法和装置 |
CN108205960A (zh) * | 2016-12-19 | 2018-06-26 | 北京四维图新科技股份有限公司 | 一种文字渲染的方法和装置、电子地图制作系统及导航系统 |
-
2018
- 2018-10-09 CN CN201811173739.7A patent/CN111105485B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5012433A (en) * | 1987-04-27 | 1991-04-30 | International Business Machines Corporation | Multistage clipping method |
CA2092709A1 (en) * | 1991-07-12 | 1993-01-13 | Fumio Shibata | Apparatus and method for deciding or setting ideal lighting conditions and photographic conditions, etc. in image processing system, or for aiding in deciding or setting of said conditions |
AU2002301127B2 (en) * | 1996-06-05 | 2005-11-03 | Sega Enterprises, Ltd | Fictitious virtual centripetal calculation and simulation system |
CA2392638A1 (en) * | 2001-07-09 | 2003-01-09 | Samsung Electronics Co., Ltd. | Method for representing image-based rendering information in 3d scene |
WO2003012743A1 (fr) * | 2001-07-27 | 2003-02-13 | Sony Computer Entertainment Inc. | Procede de peinture |
JP2006302127A (ja) * | 2005-04-22 | 2006-11-02 | Nec Infrontia Corp | 画面高速描画装置およびその描画処理方法 |
CN101145241A (zh) * | 2007-10-30 | 2008-03-19 | 深圳市蓝韵实业有限公司 | 一种在计算机屏幕上绘制倾斜椭圆的方法 |
US20100290712A1 (en) * | 2009-05-13 | 2010-11-18 | Seiko Epson Corporation | Image processing method and image processing apparatus |
AU2010257408A1 (en) * | 2010-12-23 | 2012-07-12 | Canon Kabushiki Kaisha | Colour encoding clustering |
US20120249532A1 (en) * | 2011-03-28 | 2012-10-04 | Sony Corporation | Display control device, display control method, detection device, detection method, program, and display system |
CN102148965A (zh) * | 2011-05-09 | 2011-08-10 | 上海芯启电子科技有限公司 | 多目标跟踪特写拍摄视频监控系统 |
CN102708585A (zh) * | 2012-05-09 | 2012-10-03 | 北京像素软件科技股份有限公司 | 一种渲染模型轮廓边缘的方法 |
CN103646412A (zh) * | 2013-12-27 | 2014-03-19 | 广东威创视讯科技股份有限公司 | 宽线描绘方法及装置 |
US20150228094A1 (en) * | 2014-02-13 | 2015-08-13 | Samsung Electronics Co., Ltd. | Curve rendering method and apparatus |
CN105718233A (zh) * | 2016-01-15 | 2016-06-29 | 南京航空航天大学 | 一种平显多线宽三角形无失真的绘制方法 |
CN107333051A (zh) * | 2016-04-28 | 2017-11-07 | 杭州海康威视数字技术股份有限公司 | 一种室内全景视频生成方法及装置 |
CN108205960A (zh) * | 2016-12-19 | 2018-06-26 | 北京四维图新科技股份有限公司 | 一种文字渲染的方法和装置、电子地图制作系统及导航系统 |
CN108021666A (zh) * | 2017-12-04 | 2018-05-11 | 北京百度网讯科技有限公司 | 页面适配方法和装置 |
Non-Patent Citations (7)
Title |
---|
ASHAJAYACHANDRAN: "Application of Exemplar-Based Inpainting in Depth Image Based Rendering", IEEE INTERNATIONAL CONFERENCE ON RECENT TRENDS IN ELECTRONICS INFORMATION COMMUNICATION TECHNOLOGY, 21 May 2016 (2016-05-21) * |
SCHAAFSMA: "Diffraction Enhanced Transparency and Slow THz Light in Periodic Arrays of Detuned and Displaced Dipoles", ACS PHOTONICS, 26 July 2016 (2016-07-26) * |
宋伟;程维明;刘亮;孙桂清;刘恩频;: "一种大长度轨道直线度的测量方法和装置", 机械工程师, no. 02, 10 February 2010 (2010-02-10) * |
崔丽;: "基于非真实感绘制技术的实时阴影渲染", 科技信息, no. 29, 15 October 2009 (2009-10-15) * |
李潞洋;韩燮;: "基于动态纹理切割的几何校正算法研究", 科学技术与工程, no. 05, 18 February 2014 (2014-02-18) * |
谈心: "二维矢量线符号在三维地形表面的贴合渲染方法", 地球信息科学, vol. 17, no. 12, 31 December 2015 (2015-12-31) * |
齐美彬;岳周龙;疏坤;蒋建国;: "基于广义关联聚类图的分层关联多目标跟踪", 自动化学报, no. 01, 31 January 2017 (2017-01-31) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797506A (zh) * | 2022-12-16 | 2023-03-14 | 江苏泽景汽车电子股份有限公司 | 车道线对象的绘制方法、装置、终端设备和存储介质 |
CN115797506B (zh) * | 2022-12-16 | 2023-11-17 | 江苏泽景汽车电子股份有限公司 | 车道线对象的绘制方法、装置、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111105485B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
US11138782B2 (en) | Systems and methods for rendering optical distortion effects | |
US9508185B2 (en) | Texturing in graphics hardware | |
US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
US10553012B2 (en) | Systems and methods for rendering foveated effects | |
US8803902B2 (en) | Computing level of detail for anisotropic filtering | |
US11138800B1 (en) | Optimizations to reduce multi-channel ray casting for color sampling | |
CN112184575A (zh) | 图像渲染的方法和装置 | |
CN112652046B (zh) | 游戏画面的生成方法、装置、设备及存储介质 | |
US7605820B1 (en) | Creating texture data outside of a chart boundary | |
CN113643414A (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN115810101A (zh) | 三维模型风格化方法、装置、电子设备及存储介质 | |
WO2023273114A1 (zh) | 动态分辨率的渲染方法、装置、设备、程序和可读介质 | |
US8004515B1 (en) | Stereoscopic vertex shader override | |
CN111105485B (zh) | 一种线条渲染方法、装置 | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
US8830249B2 (en) | Accelerated texture lookups using texture coordinate derivatives | |
Schmitz et al. | High-Fidelity Point-Based Rendering of Large-Scale 3-D Scan Datasets | |
JP2004199301A (ja) | 画像加工装置 | |
US7525551B1 (en) | Anisotropic texture prefiltering | |
CN113064539B (zh) | 特效控制方法、装置、电子设备及存储介质 | |
KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
JPH09114994A (ja) | 画像作成装置および方法 | |
JP2023538828A (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 |