CN110554900B - 基于gpu呈现人机界面效果的方法、系统、设备及介质 - Google Patents

基于gpu呈现人机界面效果的方法、系统、设备及介质 Download PDF

Info

Publication number
CN110554900B
CN110554900B CN201910847342.XA CN201910847342A CN110554900B CN 110554900 B CN110554900 B CN 110554900B CN 201910847342 A CN201910847342 A CN 201910847342A CN 110554900 B CN110554900 B CN 110554900B
Authority
CN
China
Prior art keywords
plug
human
gpu program
interaction interface
computer interaction
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
CN201910847342.XA
Other languages
English (en)
Other versions
CN110554900A (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.)
Shanghai Fengyuanxing Technology Co ltd
Original Assignee
Shanghai Fengyuanxing Technology 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 Shanghai Fengyuanxing Technology Co ltd filed Critical Shanghai Fengyuanxing Technology Co ltd
Priority to CN201910847342.XA priority Critical patent/CN110554900B/zh
Publication of CN110554900A publication Critical patent/CN110554900A/zh
Application granted granted Critical
Publication of CN110554900B publication Critical patent/CN110554900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请的基于GPU呈现人机界面效果的方法、系统、设备及介质,通过提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;传递需要由外部设定的配置参数值至所述外挂GPU程序中;实现外挂GPU程序对人机交互界面中动画实现的驱动支持;从以上可知,本申请构建一套系统化完整化的解决方案,将由应用开发人员提供的外挂GPU程序和该实现框架有机紧密的结合起来,方便开发人员快速实现人机交互界面的各种特效需要。

Description

基于GPU呈现人机界面效果的方法、系统、设备及介质
技术领域
本申请涉及软件开发技术领域,尤其涉及基于GPU呈现人机界面效果的方法、系统、设备及介质。
背景技术
人机交互界面,本质上是文字、图形、图像在显示器上的呈现,接收用户的输入并及时给出反馈。人机交互界面的各种框架,如MFC、.NET FORM、QT等,一般都会提供一套完整的组件库,以方便用户用来组装界面。组件库的底层渲染工作,有的框架是利用CPU渲染,有的框架是利用GPU渲染。在嵌入式设备上,基于GPU渲染技术,OpenGL ES 2.0/3.0是主流方案。
OpenGL ES 2.0/3.0,采用的是可编程渲染管线技术,也即是说在程序执行渲染的过程中,可以导入由用户提供的外挂渲染程序。
目前的人机交互界面的各种主流框架,要么不采用OpenGL ES 2.0/3.0作为底层渲染基础;要么仅仅暴露OpenGL ES 2.0/3.0的原始API;要么外置的GPU程序也没有和实现人机交互界面GUI的框架(Framework)中的组件库系统紧密融合起来。这都使得在开发人机交互界面的特效时困难重重。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供基于GPU呈现人机界面效果的方法、系统、设备及介质,解决现有技术中外挂GPU程序和实现人机交互界面的实现框架间交互不佳而造成特效制作困难等问题。
为实现上述目标及其他相关目标,本申请提供一种基于GPU呈现人机交互界面效果的方法,包括:提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;传递需要由外部设定的配置参数值至所述外挂GPU程序中;实现外挂GPU程序对人机交互界面中动画实现的驱动支持。
于本申请的一或多个实施例中,所述方法包括:在所述外挂GPU程序的开发语言不能解释其中由外部提供参数值的运行参数的现实意义时,实现用于理解所述外挂GPU程序的运行参数的解释的注释解析器。
于本申请的一或多个实施例中,所述运行参数中的部分或全部是用于可视化制作工具的,所述可视化制作工具用于制作所述人机交互界面。
于本申请的一或多个实施例中,所述可视化制作工具是基于所述实现框架构建的。
于本申请的一或多个实施例中,所述使用场景包括以下中的一种或多种:
1)2D人机交互界面中的组件元素的背景效果;
2)2D人机交互界面中由外挂GPU程序定义其内容的特定组件元素的内容呈现;
3)对实现框架中已有的内置组件或者用户自定义组件的外观属性的调整;
4)3D人机交互界面中物体表面的特效设置;
5)3D人机交互界面中粒子系统特效的实现。
于本申请的一或多个实施例中,所述配置参数值存放于资源文件系统中;所述资源文件系统,用于存储与各所述使用场景相关的资源文件。
于本申请的一或多个实施例中,所述实现外挂GPU程序对人机交互界面中动画实现的驱动支持,包括:将需要由外挂GPU程序实现的人机交互界面中动画所对应的时间变量参数值,通过该人机交互界面的实现框架更新传递到所述GPU程序。
于本申请的一或多个实施例中,所述实现框架中内置有动画系统,其配置有所述时间变量参数值,以用于传递到外挂GPU程序以催动其动画需求。
为实现上述目标及其他相关目标,本申请提供一种基于GPU呈现人机交互界面效果的系统,包括:设定模块,用于提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;第一接口模块,用于通过人机交互界面的实现框架将使用场景的信息及其已有参数值传递到所述外挂GPU程序中;第二接口模块,用于将接收自用户设定的配置参数值配置至所述外挂GPU程序;动画驱动模块,用于将需要由外挂GPU程序实现在人机交互界面的动画的时间变量参数值,通过该人机交互界面的实现框架更新传递到所述GPU程序。
为实现上述目标及其他相关目标,本申请提供一种计算机设备,包括:一或多个存储器、及一或多个处理器;所述一或多个存储器,用于存储计算机程序;所述一或多个处理器,用于运行所述计算机程序,以执行所述的基于GPU呈现人机交互界面效果的方法。
为实现上述目标及其他相关目标,本申请提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被运行时执行所述的基于GPU呈现人机交互界面效果的方法。
如上所述,本申请的基于GPU呈现人机界面效果的方法、系统、设备及介质,通过提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;传递需要由外部设定的配置参数值至所述外挂GPU程序中;实现外挂GPU程序对人机交互界面中动画实现的驱动支持;从以上可知,本申请构建一套系统化完整化的解决方案,将由应用开发人员提供的外挂GPU程序和该实现框架有机紧密的结合起来,方便开发人员快速实现人机交互界面的各种特效需要。
附图说明
图1显示为本申请实施例中基于GPU呈现人机交互界面效果的方法的流程示意图。
图2显示为本申请实施例中基于GPU呈现人机交互界面效果的系统的模块示意图。
图3显示为本申请实施例中计算机设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用系统,本说明书中的各项细节也可以基于不同观点与应用系统,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面以附图为参考,针对本申请的实施例进行详细说明,以便本申请所属技术领域的技术人员能够容易地实施。本申请可以以多种不同形态体现,并不限定于此处说明的实施例。
为了明确说明本申请,省略与说明无关的电路部件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
在通篇说明书中,当说某电路部件与另一电路部件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种电路部件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
当说某电路部件在另一电路部件“之上”时,这可以是直接在另一电路部件之上,但也可以在其之间伴随着其它电路部件。当对照地说某电路部件“直接”在另一电路部件“之上”时,其之间不伴随其它电路部件。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等描述。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
此处使用的专业术语只用于言及特定实施例,并非意在限定本申请。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、作业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、作业、要素及/或成份的存在或附加。
表示“下”、“上”等相对空间的术语可以为了更容易地说明在附图中图示的一电路部件相对于另一电路部件的关系而使用。这种术语是指,不仅是在附图中所指的意义,还包括使用中的装置的其它意义或作业。例如,如果翻转附图中的装置,曾说明为在其它电路部件“下”的某电路部件则说明为在其它电路部件“上”。因此,所谓“下”的示例性术语,全部包括上与下方。装置可以旋转90°或其它角度,代表相对空间的术语也据此来解释。
虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本申请所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的内容相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。
根据现有技术可知,待解决的技术问题在于如何有效加强可能由应用程序人员提供的所开发的外挂GPU程序,同已有的人机交互交互界面的实现框架之间的交互效率,从而能有效方便地利用外挂GPU程序进行人机交互界面的GUI的特效制作。
其中,外挂GPU程序属于2D/3D人机交互界面实现的实现框架的增强功能,或者说是基于该实现框架的二次开发,由应用开发人员来编写。要实现外挂GPU程序和该固化的实现实现框架的有机融合,需要从下面几个方面着手:
1)设计外挂GPU程序在固化的实现实现框架中的使用场景。
2)如何理解外挂GPU程序中的参数的意义。
3)如何将实现实现框架中的内置2D/3D视觉表现信息传递到GPU中程序中。
4)如何将GPU程序中需要的参数值,在设计阶段由用户提供,在运行时自动传递到GPU程序中?
5)如何支持GPU程序的动画需要。
鉴于此需求,如图1所示,展示本申请实施例中提供的基于GPU呈现人机交互界面效果的方法的流程示意图。
所述方法包括:
步骤S101:提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景。
在一或多个实施例中,2D/3D人机交互界面,包括传统的2D界面和/或更先进的3D界面。
2D界面一般来说,是通过各种内置的组件和用户自定义的组件组装而成。3D界面是一种模拟现实的渲染技术,在一个假定的3D场景中摆设各种物体模型,物体的表面配置材质信息,在场景中架设光源用来照亮场景,最后通过摄像机拍照后,再将结果投影到一个2D的输出窗口内。
在这样的实现框架的体系中,为了系统化地融合外挂GPU程序,可定义下列场景,这些场景可完全覆盖2D/3D人机交互界面的特效需要。
1)2D人机交互界面中的组件元素的背景效果;
具体举例来说,2D界面中的组件元素,他们的背景一般使用颜色或者图片来填充。在新的设计中,可以为组件配置一个属性,它指向外挂GPU程序,由GPU程序实现组件的特殊背景效果。
2)2D人机交互界面中由外挂GPU程序定义其内容的特定组件元素的内容呈现;
具体举例来说,设计一个特殊的2D组件,它的使用方式跟其他组件一样,唯一的区别是它的内容完全由外挂GPU程序来定义。也就是说该组件作为外挂GPU程序的一个载体,为外挂GPU程序提供一个画布。该特效组件有一个属性,用来设置外挂GPU程序文件的路径。
3)对实现框架中已有的内置组件或者用户自定义组件的外观属性的调整;
具体举例来说,实现框架的内置组件或者用户自定义组件一旦编写实现好后,它的外观就固化下来,不能支持用户对它的后续特效处理的需要。在新的设计中,给所有的内置组件都配置一个滤镜属性,它的值指向一个外挂GPU程序。这样,通过用户任意设计的外挂GPU程序,可以改变组件的整体外观效果,例如:模糊、倒影、碎化、不规则裁切等等。
4)3D人机交互界面中物体表面的特效设置;
具体举例来说,在3D界面中,物体表面的颜色,可以通过实现框架内置的光照模型来计算给出,也可以为物体表面设计一个属性,它指向外挂GPU程序,由外挂GPU程序实现物体表面的特殊效果。
5)3D人机交互界面中粒子系统特效的实现;
具体举例来说,在3D界面中,一种很常见的特效是粒子系统。在一定的时间段内,粒子发射器连续的发射出众多的粒子,这些粒子按照设计的方向游动。对于这些粒子,同样可以给它们配置外挂GPU程序,由外挂GPU程序来实现粒子的外观。
可选的,在一或多个实施例中,所述方法还包括:
在所述外挂GPU程序的开发语言不能解释其中由外部提供参数值的运行参数的现实意义时,实现用于理解所述外挂GPU程序的运行参数的解释的注释解析器。
具体来讲,外挂GPU程序由用户开发,可以基于例如GLSL语言编写,有固定的语法规则。
单在该GLSL语言的语法中,“uniform”类型的变量(参数),表示它的值是在运行时由外部提供。但是“uniform”变量表示的现实意义,在GLSL语法中并不能给出。因此,本文设计的实现方式,是在“uniform”类型的变量后面添加注释,通过解析注释,理解该变量(参数)的意义。需要实现一个注释解析器。
语法规则如下:
uniform param_type param;//{caption:?,tooltip:?,values:?|?|?,default:?,use:?}
uniform param_type param;//{caption:?,tooltip:?,min:?,max:?,default:?,use:?}
其中:
caption:变量的显示名称(用在可视化制作工具中)
tooltip:变量的说明信息(用在可视化制作工具中)
values:变量可以选择的枚举值(用在可视化制作工具中)
min:变量的最小值(用在可视化制作工具中)
max:变量的最大值(用在可视化制作工具中)
default:变量的默认值(用在可视化制作工具中或用在运行时)
use:变量的使用类型信息,见下文描述(用在运行时)
在一或多个实施例中,所述可视化制作工具用于制作所述人机交互界面;当然,也可以采用其它形式的制作工具,并非以可视化为限。
进一步可选的,所述可视化制作工具,可以是基于所述实现框架制作的,当然也可以是不基于所述实现框架制作的,并非以此为限;可选的,使用该实现框架制作可视化制作工具,可视化制作工具用于制作人机交互界面,该实现框架又是人机交互界面的运行实现框架,构成一个良性循环,使得可视化制作工具实现所见即所得的开发模式,实现框架和工具也在不断的相互迭代中演进,这样会快速的提高人机交互界面开发的效率、质量和能力。
步骤S102:传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中。
根据上一举例的代码中的“use”的各种参数值和意义。
下面这些特定的使用场景和参数值,可以是由2D/3D人机交互界面的实现实现框架在运行时,通过内部机制自动将内部相应的数据赋值到GPU程序中。
举例来说,相应代码可以是:
[color type]:color:普通的颜色属性。
[control]:ctrl_alpha/ctrl_texture/ctrl_width/ctrl_height/ctrl_model:2D控件的信息。
[light]:lt_switch/lt_type/lt_dir_pos/lt_diffuse_color/lt_specular_color/lt_attenuation/lt_space_mtx0/lt_space_mtx1/lt_space_mtx2/lt_space_mtx3:3D光源的信息。
[material]:mtl_ambient/mtl_diffuse/mtl_specular/mtl_emissive/mtl_shininess:3D材质的信息。
[3D entity or sub-entity]:
item_alpha/item_color/item_selected_color/item_model/item_is_reflection/item_accept_shado w/item_texture/item_normal_texture/item_depth_texture0/item_depth_texture1/item_depth_tex ture2/item_depth_texture3:3D物体模型的信息。
[3D particle]:particle_sprite_size/particle_follow_emitter:3D粒子系统的信息。
[camera]:camera_pos/camera_view/camera_projection:3D摄像机的信息。
[scene]:scn_ambient/scn_reflection_att_dis/scn_reflection_model/scn_mirror_normal/scn_mirr or_dis:3D场景的信息。
步骤S103:传递需要由外部设定的配置参数值至所述外挂GPU程序中。
外挂GPU程序中的参数值来源可以有至少两种,即步骤S102中的来自实现框架的固有参数值(即相当于内部数据),以及外部(例如用户)设定的配置参数值。
优选的,在人机交互界面的可视化制作工具中,排除上述步骤介绍的那些特定意义的固有参数值以外,另外可以提供给用户一个配置界面,以供输入该外挂GPU程序配置需要的一般意义上的配置参数值。
可选的,通过上述实施例中的注释解析器对参数的“理解”,可以在提供该配置界面中给予用户提示及限制,以告知用户需要配置哪些配置参数值,以及如何配置。
可选的,配置参数值可以预先保存在一资源文件系统中;所述资源文件系统,用于存储与各所述使用场景相关的资源文件;当然,配置参数值也可以存放在其他存储位置,并非以此为限。
举例来说,在运行制作工具的程序时,当程序执行到相关的使用场景时,从资源文件系统中加载用户预先配置好的配置参数值(为了提高效率,也可以提前加载),通过内部机制传递到GPU程序中。
可选的,所述资源文件系统,用于存储与各所述使用场景相关的资源文件。所述资源文件系统中的资源文件可以包括例如静态画面、动态画面、画面间跳转等中的一或多种的资源文件。
步骤S104:实现外挂GPU程序对人机交互界面中动画实现的驱动支持。
此步骤是为了令实现框架能支持使用外挂GPU程序制作动画。
具体的,可以将需要由外挂GPU程序实现的人机交互界面中动画所对应的时间变量参数值,通过该人机交互界面的实现框架更新传递到所述GPU程序。
举例来说,在外挂GPU程序中,可以设计一个特殊意义的“uniform”类型的变量,例如“uniform float GlobalTime”,这个变量表示外挂GPU程序制作动画需要的时间参数。其参数值可例如从0开始,它可以由人机交互界面的实现框架自动传入外挂GPU程序。外挂GPU程序内部通过该变量的不同时间值来做对应的动画需求。
另外可选的,在2D/3D人机交互界面的实现框架中,可以内置动画系统。对于外挂GPU程序中的一般意义上的参数,可以将它们的参数值配置到该动画系统中。这样就可以通过GPU程序之外的动画系统来催动外挂GPU程序内的动画需求。
如图2所示,展示本申请实施例中的基于GPU呈现人机交互界面效果的系统的模块示意图。
在一或多个实施例中,所述系统可以实现于该实现框架及外挂GPU程序中,也可以与该实现框架及外挂GPU程序间接口通信。图2中的箭头只是表示系统中各模块和实现框架及外挂GPU程序间可能的相关关系。
所述系统包括:
设定模块201,用于提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;
第一接口模块202,用于传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;
第二接口模块203,用于传递需要由外部设定的配置参数值至所述外挂GPU程序中;
动画驱动模块204,用于实现外挂GPU程序对人机交互界面中动画实现的驱动支持。
于本申请的一或多个实施例中,所述系统还包括:注释解析器,用于在所述外挂GPU程序的开发语言不能解释其中由外部提供参数值的运行参数的现实意义时实现,用于理解所述外挂GPU程序的运行参数的解释。
于本申请的一或多个实施例中,所述运行参数中的部分或全部是用于可视化制作工具的,所述可视化制作工具用于制作所述人机交互界面。
于本申请的一或多个实施例中,所述可视化制作工具是基于所述实现框架构建的。
于本申请的一或多个实施例中,所述使用场景包括以下中的一种或多种:
1)2D人机交互界面中的组件元素的背景效果;
2)2D人机交互界面中由外挂GPU程序定义其内容的特定组件元素的内容呈现;
3)对实现框架中已有的内置组件或者用户自定义组件的外观属性的调整;
4)3D人机交互界面中物体表面的特效设置;
5)3D人机交互界面中粒子系统特效的实现。
于本申请的一或多个实施例中,所述配置参数值存放于资源文件系统中;所述资源文件系统,用于存储与各所述使用场景相关的资源文件。
于本申请的一或多个实施例中,所述配置参数值来自用户输入
于本申请的一或多个实施例中,所述实现框架中内置有动画系统,其配置有所述时间变量参数值,以用于传递到外挂GPU程序以催动其动画需求。
需特别说明的是,由于前述方法实施例中已将具体实现的技术原理解释清楚,而本系统实施例的原理与其相似,因此,方法实施例中的各种技术特征可以应用在本实施例中,故不在此重复赘述。
另外,需要说明的是,应理解以上图2系统实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,设定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上设定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field P rogrammable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Uni t,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
当然,所述系统也可以通过软件结合硬件电路实现,例如通过装载在计算机设备中的计算机程序实现,如服务器、台式机、笔记本电脑、智能手机、平板电脑等,通过硬件电路运行软件程序实现。
如图3所示,展示本申请实施例中的计算机设备的结构示意图。
在本实施例中,所述计算机设备300包括:一或多个存储器301、及一或多个处理器302。
所述一或多个存储器301,存储有计算机程序;
所述一或多个处理器302,用于运行所述计算机程序,以实现例如图1所示的基于GPU呈现人机交互界面效果的方法。
在可能的实现方式中,所述一或多个存储器301可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器,还可以包括一个或多个非暂时的计算机可读存储介质诸如ROM、EEPROM、EPROM、闪存设备、磁盘等,和/或其组合。
在可能的实现方式中,所述一个或多个处理器302能够是任何合适的处理元件(例如处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或操作地连接的多个处理器。
另外需说明的是,上述实施例中基于GPU呈现人机交互界面效果的方法、系统、计算机设备等的实现,所涉及的计算机程序皆可以装载在计算机可读存储介质,所计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是、但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
综上所述,本申请的基于GPU呈现人机界面效果的方法、系统、设备及介质,通过提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;传递需要由外部设定的配置参数值至所述外挂GPU程序中;实现外挂GPU程序对人机交互界面中动画实现的驱动支持;从以上可知,本申请构建一套系统化完整化的解决方案,将由应用开发人员提供的外挂GPU程序和该实现框架有机紧密的结合起来,方便开发人员快速实现人机交互界面的各种特效需要。
按照本申请的所构建的系统化的设计思想和实施步骤,外挂GPU程序可以和2D/3D人机交互界面的实现实现框架紧密融合起来,从而更有利于人机交互界面的开发效率。
举例来说,现有车载智能驾驶舱系统对人机交互界面的UI视觉表现力要求越来越高,通过本申请阐述的系统化理念,可以有力提升汽车电子产品的市场竞争力,为各车厂创造价值,同时满足消费者的审美需要。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (13)

1.一种基于GPU呈现人机界面效果的方法,其特征在于,包括:
提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;
人机交互界面的2D和/或3D的实现框架中各使用场景是由多种内置的组件元素和用户自定义的组件元素组装而成;
所述组件元素配置有指向外挂GPU程序的属性;
所述组件元素配置的属性传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;
所述组件元素配置的属性传递需要由外部设定的配置参数值至所述外挂GPU程序中;
实现外挂GPU程序对人机交互界面中动画实现的驱动支持;
所述外挂GPU程序由用户开发,在所述外挂GPU程序的开发语言不能解释其中由外部提供参数值的运行参数的现实意义时,实现用于理解所述外挂GPU程序的运行参数的解释的注释解析器。
2.根据权利要求1所述的方法,其特征在于,所述使用场景包括:
2D人机交互界面中的组件元素的背景效果;
所述组件元素配置有一个属性指向外挂GPU程序,由所述外挂GPU程序实现组件的特殊背景效果。
3.根据权利要求1所述的方法,其特征在于,所述使用场景包括:
2D人机交互界面中有一个由外挂GPU程序呈现其内容的组件元素;
所述组件元素配置有一个属性指向设置外挂GPU程序文件的路径;
所述组件元素作为外挂GPU程序的一个载体,为外挂GPU程序提供一个画布。
4.根据权利要求1所述的方法,其特征在于,所述使用场景包括:
对人机交互界面的2D和/或3D的实现框架中已有的内置组件或者用户自定义组件的外观进行调整;
所有的内置组件元素都配置有一个滤镜属性指向一个外挂GPU程序,通过用户任意设计的外挂GPU程序,可以改变组件的整体外观效果。
5.根据权利要求1所述的方法,其特征在于,所述使用场景包括:
3D人机交互界面中物体表面的特效设置;或3D人机交互界面中粒子系统特效的实现;
所述3D人机交互界面是一种模拟现实的渲染技术,在一个假定的3D场景中摆设各种物体模型,物体的表面配置材质信息,在场景中架设光源用来照亮场景,最后通过摄像机拍照后,再将结果投影到一个如权利要求2至4中任一项所述2D人机交互界面。
6.根据权利要求1所述的方法,其特征在于,所述运行参数中的部分或全部是用于可视化制作工具的,所述可视化制作工具用于制作所述人机交互界面。
7.根据权利要求6所述的方法,其特征在于,所述可视化制作工具是基于所述实现框架构建的。
8.根据权利要求1所述的方法,其特征在于,所述配置参数值存放于资源文件系统中;所述资源文件系统,用于存储与各所述使用场景相关的资源文件。
9.根据权利要求8所述的方法,其特征在于,所述实现外挂GPU程序对人机交互界面中动画实现的驱动支持,包括:
将需要由外挂GPU程序实现的人机交互界面中动画所对应的时间变量参数值,通过该人机交互界面的实现框架更新传递到所述GPU程序。
10.根据权利要求1所述的方法,其特征在于,所述实现框架中内置有动画系统,其配置有时间变量参数值,以用于传递到外挂GPU程序以催动其动画需求。
11.一种基于GPU呈现人机界面效果的系统,其特征在于,包括:
设定模块,用于提供预先设定的外挂GPU程序在人机交互界面实现中的各使用场景;
第一接口模块,用如权利要求1至4中任一项所述的方法,传递人机交互界面的2D和/或3D的实现框架中各使用场景相关的固有参数值至所述外挂GPU程序中;
第二接口模块,用如权利要求1至4中任一项所述的方法,传递需要由外部设定的配置参数值至所述外挂GPU程序中;
动画驱动模块,用于实现外挂GPU程序对人机交互界面中动画实现的驱动支持。
12.一种计算机设备,其特征在于,包括:一或多个存储器、及一或多个处理器;
所述一或多个存储器,用于存储计算机程序;
所述一或多个处理器,用于运行所述计算机程序,以执行如权利要求1至4中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被运行时执行如权利要求1至4中任一项所述的方法。
CN201910847342.XA 2019-09-02 2019-09-02 基于gpu呈现人机界面效果的方法、系统、设备及介质 Active CN110554900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910847342.XA CN110554900B (zh) 2019-09-02 2019-09-02 基于gpu呈现人机界面效果的方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910847342.XA CN110554900B (zh) 2019-09-02 2019-09-02 基于gpu呈现人机界面效果的方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN110554900A CN110554900A (zh) 2019-12-10
CN110554900B true CN110554900B (zh) 2022-06-03

Family

ID=68739504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910847342.XA Active CN110554900B (zh) 2019-09-02 2019-09-02 基于gpu呈现人机界面效果的方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN110554900B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190856B (zh) * 2019-12-31 2023-05-16 西安翔腾微电子科技有限公司 一种配置gpu的方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814024A (zh) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 一种跨平台3d界面设计架构和工具
CN106997610A (zh) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 一种图像渲染方法、装置及电子设备
CN108305307A (zh) * 2017-01-13 2018-07-20 北大方正集团有限公司 三维几何体动画的实现方法、实现系统及终端
CN109358852A (zh) * 2018-08-31 2019-02-19 惠州市德赛西威汽车电子股份有限公司 一种使用shader实现车载GUI换肤的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130127858A1 (en) * 2009-05-29 2013-05-23 Luc Leroy Interception of Graphics API Calls for Optimization of Rendering
US20160379400A1 (en) * 2015-06-23 2016-12-29 Intel Corporation Three-Dimensional Renderer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814024A (zh) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 一种跨平台3d界面设计架构和工具
CN106997610A (zh) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 一种图像渲染方法、装置及电子设备
CN108305307A (zh) * 2017-01-13 2018-07-20 北大方正集团有限公司 三维几何体动画的实现方法、实现系统及终端
CN109358852A (zh) * 2018-08-31 2019-02-19 惠州市德赛西威汽车电子股份有限公司 一种使用shader实现车载GUI换肤的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GLSL基础;luweimy;《https://www.cnblogs.com/luweimy/p/4208570.html》;20150107;全文 *
OpenGLES与EGL基础概念;杨殿铭;《https://zhuanlan.zhihu.com/p/74006499》;20190717;全文 *
OpenGL着色器(Shader)和GLSL语言的简单介绍;烧风;《https://blog.csdn.net/hk_shao/article/details/82084583》;20180826;1-3页 *
对OpenGL2.0渲染管线的理解;String_Kun;《https://blog.csdn.net/srk19960903/article/details/74942401?utm_source=blogxgwzl》;20170711;全文 *
程序丨OpenGLES入门(五):如何在游戏中使用着色器;Harold;《https://www.sohu.com/a/134095097_466876》;20170414;全文 *

Also Published As

Publication number Publication date
CN110554900A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
US10599405B2 (en) Application system having an LLVM compiler
US11087430B2 (en) Customizable render pipelines using render graphs
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
US10628013B2 (en) Closed-loop display control for multi-dimensional user interface generation
KR20070004878A (ko) 3차원 장면 계층구조를 2차원 합성 시스템으로 통합하기위한 데이터 구조, 방법 및 컴퓨터 판독가능 매체
US11094036B2 (en) Task execution on a graphics processor using indirect argument buffers
CN116302366B (zh) 面向终端开发的xr应用开发系统与方法、设备及介质
KR20220024681A (ko) 광 프로브 생성 방법 및 장치, 저장 매체 및 컴퓨터 디바이스
CN112685025A (zh) 快速搭建前端页面的方法及系统
CN110554900B (zh) 基于gpu呈现人机界面效果的方法、系统、设备及介质
US20210286661A1 (en) Extensible command pattern
CN110554873B (zh) 用于实现人机交互界面的系统、计算机设备及存储介质
WO2021154101A1 (en) Software broker for assets managed with nested instancing
CN117009029A (zh) Xr应用与内容运行方法、设备及存储介质
CN116339737A (zh) Xr应用编辑方法、设备及存储介质
CN110569098B (zh) 2d及3d混合的人机界面生成方法、系统、设备及介质
CN114237593A (zh) 一种前端页面生成方法、计算机装置和存储介质
CN115120966A (zh) 流体效果的渲染方法和装置
Sutter et al. A CSS integration model for declarative 3D
CN112685494A (zh) 一种数据可视化方法、装置、设备及介质
CN117392301B (zh) 图形渲染方法、系统、装置、电子设备及计算机存储介质
Álvarez et al. EZ3. js: A robust and flexible WebGL-based 3D engine
Brendel et al. Exploring the immediate mode GUI concept for graphical user interfaces in mixed reality applications
Karydakis Simplification & Visualization of BIM models through Hololens
Revie Designing a Data-Driven Renderer

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