CN103955965A - 基于OpenGL ES非固定管线矢量点显示方法和装置 - Google Patents

基于OpenGL ES非固定管线矢量点显示方法和装置 Download PDF

Info

Publication number
CN103955965A
CN103955965A CN201410182290.6A CN201410182290A CN103955965A CN 103955965 A CN103955965 A CN 103955965A CN 201410182290 A CN201410182290 A CN 201410182290A CN 103955965 A CN103955965 A CN 103955965A
Authority
CN
China
Prior art keywords
point
opengl
pixel
inradius
dimension
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
CN201410182290.6A
Other languages
English (en)
Other versions
CN103955965B (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.)
Vtron Group Co Ltd
Original Assignee
Vtron Technologies 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 Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN201410182290.6A priority Critical patent/CN103955965B/zh
Publication of CN103955965A publication Critical patent/CN103955965A/zh
Application granted granted Critical
Publication of CN103955965B publication Critical patent/CN103955965B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

一种基于OpenGL ES非固定管线的矢量点显示方法和装置,所述方法包括步骤:通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径;从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点;将获取的所述像素点进行颜色输出。本发明无须借助额外的圆点位图,直接对2维方阵进行筛选,将与方阵中心距离不大于所述内接圆半径的像素点进行颜色输出,直接显示圆点,简单快速,并且当需要绘制多个矢量圆点时,只需重复执行本发明所提供的方法即可实现,使圆点显示操作变得简单高效。

Description

基于OpenGL ES非固定管线矢量点显示方法和装置
技术领域
本发明涉及图像显示技术领域,特别是涉及一种基于OpenGL ES非固定管线的矢量点显示方法和装置。
背景技术
OpenGL ES(OpenGL for Embedded Systems)是OpenGL(Open GraphicsLibrary)三维图形API(Application Programming Interface,应用程序编程接口)的子集,针对手机、PDA(Personal Digital Assistant,掌上电脑)和游戏主机等嵌入式设备而设计。管线又称之为渲染管线,OpenGL ES在渲染处理过程中会顺序执行一系列操作,这一系列相关处理阶段被称之为OpenGL ES渲染管线。目前OpenGL ES支持固定管线和非固定管线(即可编程管线)两种。
在使用OpenGL ES渲染引擎的非固定管线进行矢量点绘制时,绘制的点只能是方点,比如绘制的点的宽度为10,那么显示出来的点就是边长为10个像素点的正方形区域。但是在实际应用中往往需要圆点,现有的方法是预先准备圆点位图,通过对圆点位图进行数据读取、解码、纹理贴图等操作显示该圆点位图从而间接得到圆点。但是当显示的圆点比较多时,例如10000个,采用现有的圆点位图方法需要对位图进行解析并进行10000次贴图,操作比较繁琐。
发明内容
基于此,有必要针对上述问题,提供一种基于OpenGL ES非固定管线的矢量点显示方法和装置,使其可以真实高效的显示矢量圆点。
一种基于OpenGL ES非固定管线的矢量点显示方法,包括步骤:
通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;
根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径;
从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点;
将获取的所述像素点进行颜色输出。
一种基于OpenGL ES非固定管线的矢量点显示装置,包括:
点着色器,用于通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;
片元着色器,用于根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径,然后从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点,并将获取的所述像素点进行颜色输出。
本发明基于OpenGL ES非固定管线的矢量点显示方法和装置,与现有技术相互比较时,具有以下优点:
1、无须借助额外的圆点位图,直接对2维方阵进行筛选,将与方阵中心距离不大于所述内接圆半径的像素点进行颜色输出,直接显示圆点,简单快速,并且当需要绘制多个矢量圆点时,只需重复执行本发明所提供的方法即可实现,使圆点显示操作变得简单高效;
2、在用OpenGL ES绘制粗线时,通过本发明程序可以直接在粗线的拐点处补圆点,使绘制的粗线变得圆滑,改善粗线的显示效果。
附图说明
图1为本发明方法实施例的流程示意图;
图2为本发明装置实施例的结构示意图。
具体实施方式
下面结合附图对本发明基于OpenGL ES非固定管线矢量点显示方法的具体实施方式做详细描述。
如图1所示,一种基于OpenGL ES非固定管线的矢量点显示方法,包括步骤:
S100、通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵,其中点的宽度需要进行设置,否则输入的点默认为一个像素点大小;
S200、根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径,内接圆半径可以根据现有技术的已知方法获得,方阵的内接圆半径一般为方阵边长的一半;逻辑坐标是独立于设备的,既可以与设备单位相同,也可以是自定义的一种单位;
S300、从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点;
S400、将获取的所述像素点进行颜色输出,即将获取的所述像素点转化成可被渲染到屏幕上的像素点,并设置该像素点的颜色值,由于只对与方阵中心距离不大于内接圆半径的像素点进行颜色输出,所以最后显示的是圆点。
本发明方法可以通过代码或程序实现,是OpenGL ES应用程序的一部分,可以运行在显卡上。步骤S100中的2维方阵的获取可以通过调用OpenGL ES的绘制点的函数实现,例如调用glDrawArrays(GL_POINTS,0,pointcount)命令显卡绘制点,通过对OpenGL ES输入点的坐标、宽度、颜色值进行光栅化获取所述点的2维方阵,其中通过对输入的点光栅化获取2维方阵的过程可以通过现有技术实现。获取的2维方阵大小为点宽度*点宽度,例如点的宽度为10个像素点,那么获取的2维方阵即为10*10。
为了方便的绘制多个圆点以及调用OpenGL ES内建变量函数,可以将一个点看作一个完整的单元,那么所述2维方阵左下角逻辑坐标为(0.0,0.0),方阵中心逻辑坐标为(0.5,0.5),右上角逻辑坐标为(1.0,1.0),求出的所述2维方阵的内接圆半径即为0.5。
以步骤S200中求解出的内接圆半径为筛选条件,计算所述2维方阵中每个像素点到方阵中心的距离,其中各像素点到方阵中心的距离可以借助OpenGLES提供的内建变量函数计算,例如可以根据公式length(gl_PointCoord-vec(x,y))≤R获取与方阵中心距离不大于所述内接圆半径的像素点,其中gl_PointCoord的值是当前像素点的逻辑坐标,vec(x,y)是方阵中心的逻辑坐标,length是长度计算函数,R是所述内接圆半径。若2维方阵的内接圆半径为0.5,方阵中心逻辑坐标为(0.5,0.5),那么获取与方阵中心距离不大于所述内接圆半径的像素点的公式就可以变为length(gl_PointCoord-vec(0.5,0.5))≤0.5。
按照步骤S300中方法对2维方阵进行筛选之后,即获取到圆形点阵的像素点,对获取的所述像素点进行颜色输出,使其变为可以显示到计算机屏幕上的像素点,那么显示出来的图形即为圆点,其中对像素点进行颜色输出以及将所述像素点显示到计算机屏幕上可以通过现有技术中已知的方法实现。
当需要绘制其它圆点时,只需要重复执行本发明提供的方法,即所有的圆点绘制都可以使用该方法,大大提高了圆点显示的高效性及易用性。同时在用OpenGL ES绘制粗线时,由于点均为方形,在粗线的拐角处会有小突起,影响粗线的显示效果,而通过本发明方法可以直接在粗线的拐点处补圆点,使绘制的粗线变得圆滑,大大改善了粗线的显示效果。
基于同一发明构思,本发明还提供一种基于OpenGL ES非固定管线的矢量点显示装置,下面结合附图对本发明装置的具体实施方式做详细描述。
如图2所示,一种基于OpenGL ES非固定管线的矢量点显示装置,包括:
顶点着色器100,用于通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;其中点的宽度需要进行设置,否则输入的点默认为一个像素点大小;
片元着色器200,用于根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径,然后从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点,并将获取的所述像素点进行颜色输出;
顶点着色器100和片元着色器200是OpenGL ES应用程序的一部分,即为代码模块,运行在显卡上,绘制速度快;内接圆半径可以根据现有技术的已知方法获得,方阵的内接圆半径一般为方阵边长的一半;逻辑坐标是独立于设备的,既可以与设备单位相同,也可以是自定义的一种单位;将获取的所述像素点进行颜色输出,即将获取的所述像素点转化成可被渲染到屏幕上的像素点,由于只对与方阵中心距离不大于内接圆半径的像素点进行颜色输出,所以最后显示的是圆点。
2维方阵的获取可以通过调用OpenGL ES提供的绘制点的函数实现,例如,在一个实施例中,本发明装置还可以包括与顶点着色器100相连的数据输入模块,用于调用glDrawArrays(GL_POINTS,0,pointcount)命令显卡绘制点,将点的坐标、宽度、颜色值输入到所述顶点着色器100,然后所述顶点着色器100对所述点进行光栅化获取所述点的2维方阵,其中通过对输入的点光栅化获取2维方阵的过程可以通过现有技术实现。获取的2维方阵大小为点宽度*点宽度,例如点的宽度为10个像素点,那么获取的2维方阵即为10*10。
为了方便的绘制多个圆点以及调用OpenGL ES内建变量函数,在一个实施例中,可以将一个点看作一个完整的单元,所述2维方阵左下角逻辑坐标为(0.0,0.0),方阵中心逻辑坐标为(0.5,0.5),右上角逻辑坐标为(1.0,1.0),求出的所述2维方阵的内接圆半径即为0.5。
所述片元着色器200以求解出的内接圆半径为筛选条件,计算所述2维方阵中每个像素点到方阵中心的距离,其中各像素点到方阵中心的距离可以借助OpenGL ES提供的内建变量函数计算,例如所述片元着色器200可以根据公式length(gl_PointCoord-vec(x,y))≤R获取与方阵中心距离不大于所述内接圆半径的像素点,其中gl_PointCoord的值是当前像素点的逻辑坐标,vec(x,y)是方阵中心的逻辑坐标,length是长度计算函数,R是所述内接圆半径。若2维方阵的内接圆半径为0.5,方阵中心逻辑坐标为(0.5,0.5),那么获取与方阵中心距离不大于所述内接圆半径的像素点的公式就可以变为length(gl_PointCoord-vec(0.5,0.5))≤0.5。
所述片元着色器200对2维方阵进行筛选之后,即获取到圆形点阵的像素点,对获取的所述像素点进行颜色输出,使其变为可以显示到计算机屏幕上的像素点,那么显示出来的图形即为圆点,其中对像素点进行颜色输出以及将所述像素点显示到计算机屏幕上可以通过现有技术中已知的方法实现。
当需要绘制其它圆点时,只需要调用本发明提供的装置,即所有的圆点绘制都可以使用该装置,大大提高了圆点显示的高效性及易用性,当不需要显示圆点时,可以直接删除本发明装置,不影响现有方形点的正常显示。同时在用OpenGL ES绘制粗线时,由于点均为方形,在粗线的拐角处会有小突起,影响粗线的显示效果,而通过本发明装置可以直接在粗线的拐点处补圆点,使绘制的粗线变得圆滑,大大改善了粗线的显示效果。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种基于OpenGL ES非固定管线的矢量点显示方法,其特征在于,包括步骤:
通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;
根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径;
从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点;
将获取的所述像素点进行颜色输出。
2.根据权利要求1所述的基于OpenGL ES非固定管线的矢量点显示方法,其特征在于,根据公式length(gl_PointCoord-vec(x,y))≤R获取与方阵中心距离不大于所述内接圆半径的像素点,其中gl_PointCoord的值是当前像素点的逻辑坐标,vec(x,y)是方阵中心的逻辑坐标,length是长度计算函数,R是所述内接圆半径。
3.根据权利要求1所述的基于OpenGL ES非固定管线的矢量点显示方法,其特征在于,所述2维方阵左下角逻辑坐标为(0.0,0.0),方阵中心逻辑坐标为(0.5,0.5),右上角逻辑坐标为(1.0,1.0)。
4.根据权利要求1至3任意一项所述的基于OpenGL ES非固定管线的矢量点显示方法,其特征在于,调用glDrawArrays(GL_POINTS,0,pointcount)命令显卡绘制点,通过对OpenGL ES输入点的坐标、宽度、颜色值进行光栅化获取所述点的2维方阵。
5.一种基于OpenGL ES非固定管线的矢量点显示装置,其特征在于,包括:
顶点着色器,用于通过输入的点的坐标、宽度、颜色值获取所述点的2维方阵;
片元着色器,用于根据所述2维方阵的逻辑坐标确定所述2维方阵的内接圆半径,然后从所述2维方阵中获取与方阵中心距离不大于所述内接圆半径的像素点,并将获取的所述像素点进行颜色输出。
6.根据权利要求5所述的基于OpenGL ES非固定管线的矢量点显示装置,其特征在于,所述片元着色器根据公式length(gl_PointCoord-vec(x,y))≤R获取与方阵中心距离不大于所述内接圆半径的像素点,其中gl_PointCoord的值是当前像素点的逻辑坐标,vec(x,y)是方阵中心的逻辑坐标,length是长度计算函数,R是所述内接圆半径。
7.根据权利要求5所述的基于OpenGL ES非固定管线的矢量点显示装置,其特征在于,所述2维方阵左下角逻辑坐标为(0.0,0.0),方阵中心逻辑坐标为(0.5,0.5),右上角逻辑坐标为(1.0,1.0)。
8.根据权利要求5至7任意一项所述的基于OpenGL ES非固定管线的矢量点显示装置,其特征在于,还包括与顶点着色器相连的数据输入模块,用于调用glDrawArrays(GL_POINTS,0,pointcount)命令显卡绘制点,将点的坐标、宽度、颜色值输入到所述顶点着色器,然后所述顶点着色器对所述点进行光栅化获取所述点的2维方阵。
CN201410182290.6A 2014-04-30 2014-04-30 基于OpenGL ES非固定管线矢量点显示方法和装置 Expired - Fee Related CN103955965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410182290.6A CN103955965B (zh) 2014-04-30 2014-04-30 基于OpenGL ES非固定管线矢量点显示方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410182290.6A CN103955965B (zh) 2014-04-30 2014-04-30 基于OpenGL ES非固定管线矢量点显示方法和装置

Publications (2)

Publication Number Publication Date
CN103955965A true CN103955965A (zh) 2014-07-30
CN103955965B CN103955965B (zh) 2017-02-15

Family

ID=51333234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410182290.6A Expired - Fee Related CN103955965B (zh) 2014-04-30 2014-04-30 基于OpenGL ES非固定管线矢量点显示方法和装置

Country Status (1)

Country Link
CN (1) CN103955965B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108765534A (zh) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 一种图像渲染方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719057A (zh) * 2009-11-27 2010-06-02 广东威创视讯科技股份有限公司 绘制几何图形的方法及装置
CN103295252A (zh) * 2013-05-15 2013-09-11 广东威创视讯科技股份有限公司 基于OpenGL的线段绘制交点的平滑处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108765534A (zh) * 2018-05-24 2018-11-06 武汉斗鱼网络科技有限公司 一种图像渲染方法、装置、设备及存储介质
CN108765534B (zh) * 2018-05-24 2022-06-21 武汉斗鱼网络科技有限公司 一种图像渲染方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103955965B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
JP6504212B2 (ja) 装置、方法およびシステム
JP6676703B2 (ja) 選択的ラスタライゼーション
KR101952983B1 (ko) 콘텐트의 타일-기반 렌더링을 위한 방법 및 콘텐트를 렌더링하기 위한 시스템
US10410398B2 (en) Systems and methods for reducing memory bandwidth using low quality tiles
KR102454893B1 (ko) 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법
US20140096087A1 (en) Method and device for software interface display on terminal, and computer storage medium
CN105426191A (zh) 用户界面显示处理方法及装置
US9928621B2 (en) Line stylization through graphics processor unit (GPU) textures
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
US8525843B2 (en) Graphic system comprising a fragment graphic module and relative rendering method
CN107301045B (zh) 窗口显示方法及装置
CN105719335A (zh) 一种地图图像渲染方法、装置以及车载终端
CN103955965A (zh) 基于OpenGL ES非固定管线矢量点显示方法和装置
CN116597044A (zh) 一种军标绘制方法、装置、设备及可读储存介质
CN103034975A (zh) 图像处理方法及装置
CN103593822B (zh) 对数据图像进行磨砂特效处理的方法和装置
US10089708B2 (en) Constant multiplication with texture unit of graphics processing unit
CN110489083B (zh) 一种纹理共享的方法、计算机设备和存储介质
CN103049267A (zh) 一种图像数据处理方法及装置
CN112822418B (zh) 视频处理方法和装置、存储介质和电子设备
Duan et al. Image interpolation by pixel-level data-dependent triangulation on android platform
CN104571799B (zh) 信息处理方法及电子设备
CN116912093A (zh) 画面的渲染方法、装置、电子设备和存储介质
CN104461480A (zh) 一种信息处理方法及电子设备
CN113487708A (zh) 基于图形学的流动动画实现方法、存储介质及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: Kezhu road high tech Industrial Development Zone, Guangzhou city of Guangdong Province, No. 233 510670

Patentee after: Wei Chong group Limited by Share Ltd

Address before: 510670 Guangdong city of Guangzhou province Kezhu Guangzhou high tech Industrial Development Zone, Road No. 233

Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170215

Termination date: 20210430

CF01 Termination of patent right due to non-payment of annual fee