CN113936089A - 界面渲染方法及装置、存储介质及电子设备 - Google Patents
界面渲染方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113936089A CN113936089A CN202111187922.4A CN202111187922A CN113936089A CN 113936089 A CN113936089 A CN 113936089A CN 202111187922 A CN202111187922 A CN 202111187922A CN 113936089 A CN113936089 A CN 113936089A
- Authority
- CN
- China
- Prior art keywords
- interface
- api instruction
- graphic
- graphic api
- instruction corresponding
- 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.)
- Pending
Links
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/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本公开涉及图像处理技术领域,具体涉及一种界面渲染方法及装置、计算机可读存储介质及电子设备,方法包括:获取界面的图形API指令,并根据图形API指令确定界面的类型;响应界面为第一类型,在图形API指令中获取界面中三维区域对应的图形API指令;根据三维区域对应的图形API指令利用可变速率着色技术调整三维区域对应的图形API指令中的着色速率,以对界面进行渲染。本公开实施例的技术方案降低采用可变速率着色对界面进行渲染的功率,提高上述采用可变速率着色对界面进行渲染的使用范围。
Description
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种界面渲染方法及装置、计算机可读存储介质及电子设备。
背景技术
可变速率着色(VRS,Variable Rate Shading)是一种通过改变帧不同区域的着色速率来提高渲染性能和质量的功能,。现有技术是程序开发者通过软件算法和图像后处理技术设定好着色速率以后,应用于整个帧画面。
但是,现有技术中利用可变速率着色对图像进行渲染的方法能耗较高,且无法改变指定区域的着色速率,同时,现有用可变速率着色对图像进行渲染的方法需要图像供应商的参与,推广难度较大。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种界面渲染方法、界面渲染装置、计算机可读介质和电子设备,进而至少在一定程度上降低采用可变速率着色对界面进行渲染的功率,提高上述采用可变速率着色对界面进行渲染的使用范围。
根据本公开的第一方面,提供一种界面渲染方法,包括:获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型;响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令;调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
根据本公开的第二方面,提供一种界面渲染装置,包括:获取模块,用于获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型;响应模块,用于响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令;渲染模块,用于调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种电子设备,包括:
一个或多个处理器;以及存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
本公开的一种实施例所提供的界面渲染方法,获取所述界面的图形API指令,并根据图形API指令确定界面的类型;响应界面为第一类型,在图形API指令中获取界面中的三维区域对应的图形API指令;调整三维区域对应的图形API指令中的着色速率参数,以对界面进行渲染。相较于现有技术,一方面,直接获取待显示界面的图形API指令,可以从驱动层来对着色速率进行控制,解决了功能损耗较高的问题。另一方面,根据界面的图形API指令来对界面进行渲染,在渲染时,只需要截取GPU处理时的界面的图形API指令,无需界面开发者的参与,可以直接在终端角度进行着色速率的调整,增加了上述界面渲染方法的可用范围。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
图2示出了可以应用本公开实施例的一种电子设备的示意图;
图3示意性示出本公开示例性实施例中一种界面渲染方法的流程图;
图4示意性示出本公开示例性实施例中一种界面渲染方法的数据流向图;
图5示意性示出本公开示例性实施例中界面渲染装置的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种界面渲染方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的界面渲染方法一般由终端设备101、102、103中执行,相应地,界面渲染装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的界面渲染方法也可以由服务器105执行,相应的,界面渲染装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103包括的用于获取界面的图形API指令,然后将图形API指令上传至服务器105,服务器通过本公开实施例所提供的界面渲染方法生成调整后的第三维区域对应的图形API指令,将调整后的三维区域对应的图形API指令传输给终端设备101、102、103等以使得,终端设备101、102、103等完成对上述界面的渲染。
本公开的示例性实施方式提供一种用于实现界面渲染方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行界面渲染方法。
在本公开的一种示例实施方式中,上述终端设备101、102、103均可以是移动终端,下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。
移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。
移动终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
移动终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。其中,ISP用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。
外部存储器接口222可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。
移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。
深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。
压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器2802可以设置于显示屏290。压力传感器2802的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。
陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖、导航、体感游戏场景等。
此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。
在相关技术中,可变速率着色(VRS)是一种通过改变帧不同区域的着色速率来提高渲染性能和质量的功能。传统渲染过程中渲染帧缓冲区内的一个像素需要运行一次片段着色器,而VRS可以将若干个像素组合成像素块,运行一次片段着色器即可渲染像素块的内的所有像素。现有技术是通过软件算法和图像后处理技术设定好着色速率以后,应用于整个帧画面。
相关技术是通过在游戏绘制过程中使用软件识别算法和图像后处理技术实现整帧画面的加速着色。上述方式基于软件的方法虽然可以节约GPU的开销,但是增加了CPU负载,未能从根本上节约整机功耗。其次,相关技术中的方法仅适用于整帧画面,无法改变指定区域的着色速率。最后,现有VRS需要游戏厂商的参与,推广难度较大。
下面对本公开示例性实施方式的界面渲染方法和界面渲染装置进行具体说明。
图3示出了本示例性实施方式中一种界面渲染方法的流程,包括以下步骤:
步骤S310,获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型;
步骤S320,响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令;
步骤S330,调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
相较于现有技术,一方面,直接获取待显示界面的图形API指令,可以从驱动层来对着色速率进行控制,解决了功能损耗较高的问题。另一方面,根据界面的图形API指令来对界面进行渲染,在渲染时,只需要截取GPU处理时的界面的图形API指令,无需界面开发者的参与,可以直接在终端角度进行着色速率的调整,增加了上述界面渲染方法的可用范围。
下面对上述各个步骤进行详细说明。
在步骤S310中,获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型。
在本示例实施方式中,可以通过钩子函数截取上述界面对应的图形API(Application Programming Interface,应用程序接口)指令,并根据上述图形API指令确定上述界面的类型,其中上述图形API指令中包括了上述界面对应的纹理。可以根据上述界面的纹理,确定上述界面的类型。
具体而言,上述界面可以为第一类型或者第二类型,可以首先确定与第一类型界面对应的第一纹理查询表。根据上述界面的纹理名称和上述第一纹理查询表确定上述界面是否为第一类型,若上述界面的纹理名称在上述第一纹理查询表内,则判定上述界面为第一类型,若上述界面对应的纹理名称不在上述第一纹理查询表内,则可以判定上述界面为第二类型,其中,上述第一类型可以对应于游戏中的战斗场景、视频中的战斗场景等,也可以根据用户需进行自定义,在本示例实施方式中不做具体限定。
在本公开的另一种示例实施方式中,在确定上述界面的类型时,可以首先确定与第二类型界面对应的第二纹理查询表,若上述界面的纹理名称在上述第二纹理查询表内,则判定上述界面为第二类型,若上述界面的纹理名称不在上述第二纹理查询表内,则判定上述界面为第一类型。其中上述第二类型可以对应于游戏中的非战斗场景,视频中的非战斗场景等,也可以根据用户需进行自定义,在本示例实施方式中不做具体限定。
举例而言,在游戏场景,如在MOBA类游戏中,上述第一类型可以为游戏中的场景,第二类型可以为尚未开始游戏的场景,即上述第一纹理查询表内可以包括各个游戏角色的技能对应的纹理名称。再例如,在竞速游戏中,第一纹理查询表内可以包括加速按钮对应的纹理名称,转弯按钮对应的纹理名称等。
在步骤S320中,响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令。
在本公开的一种示例实施方式中,在确定上述界面为第一类型时,可以在上述图形API指令中获取所述界面中的三维区域对应的三维区域对应的图形API指令。
具体而言,可以首先根据上述图形API指令确定上述界面中的各个元素到虚拟摄像头之间的距离,然后可以根据上述距离确定哪些元素以及哪些区域为三维区域,具体而言,若上述界面的同一个区域与虚拟摄像头之间的距离不同,则上述区域即为三维区域。进而在上述界面的图形API指令中确定出上述三维区域对应的图形API指令。举例而言,若上述界面中的一个元素中的各部位距离上述虚拟摄像头的距离不一样,则可以将该元素所在的区域定义为三维区域,将该元素对应的图形API指令定义为三维区域对应的图形API指令。再例如,若上述界面中的一个区域的各部位距离上述虚拟摄像头的距离不同,则可以将该区域定位为三维区域,将区域对应的图形API指令定义为三维区域对应的图形API指令。
在步骤S330中,调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
在本示例实施方式中,在确定上述三维区域对应的图形API指令之后,可以根据上述距离确定三维区域内的着色速率,其中,上述着色速率与上述距离正相关,其中,上述着色速率与上述距离可以是线性相关关系,也可以是非线性相关关系,还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。举例而言,可以将距离划分为多个梯度,每一个梯度对应一个着色速率,其中距离梯度的覆盖范围可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
举例而言,对于射击游戏,可以针对除了操作界面和虚拟游戏角色之外的背景区域,越远的背景物体着色速率越小,越近的背景物体着色速率越大;对于团队竞技类游戏,可以以屏幕焦点某一半径之外的外围区域,着色速率由中心向边缘逐渐降低。
在本示例实施方式中,在确定上述着色速率之后,可以根据上述着色速率调整上述三维区域对应的图形API指令中的着色速率参数。
在另一种示例实施方式中,还可以首先获取上述界面的画质需求,然后根据上述画质需求计算上述着色速率,进而调整三维区域对应的图形API指令中的着色速率参数,上述三维区域对应的画质需求可以是预配置的,然后根据画质需求确顶出三维区域的着色速率,其中,上述着色速率与上述画质需求负相关,及画质需求越高,着色速率越低,其中,上述着色速率与上述画质需求可以是线性相关关系,也可以是非线性相关关系,还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
在本示例实施方式中,还可以首先获取三维区域对应的图形API指令中的三维区域中的初始元素,然后获取一预配置的调整元素列表;根据调整元素列表和初始元素对三维区域对应的图形API指令进行更新,以使得将在调整元素列表中的初始元素对应的三维区域对应的图形API指令调整为二维区域对应的图形API指令。其中,上述调整元素表中的元素可以包括一些不重要的元素,例如,射击游戏中的虚拟摇杆,技能按键以及自身游戏角色等;上述调整元素表中的元素的种类还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
在本公开的一种示例实施方式中,还可以在图形API指令中获取界面中的二维区域对应的图形API指令,并将二维区域对应的图形API指令中的着色速率参数配置为第一预设值。具体而言,可以首先获取预配置的二维区域对应的图形API指令对应的参数值;根据参数值在图形API指令中获取二维区域对应的图形API指令。即根据上述参数值对比上述界面遍历上述界面对应的图形API指令,并在界面对应的图形API指令中确定出参数值相同的二维区域对应的图形API指令。其中,上述参数值可以包括二维区域对应的图形API指令绑定的图像标签的哈希值或图像纹理,上述参数值还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
在本公开的一种示例实施方式中,若上述界面为第二类型,则将上述界面的图形API指令中的着色速率参数均配置为第一预设值。无需对非战斗场景的着色速率配置不同的值,在不影响用户体验的同时,减小了对界面渲染时的计算量。
在本示例实施方式中,上述第一预设值可以是1*1,也可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
在本公开的一种示例实施方式中,参照图4所示,上述界面渲染方法依赖于处理器来实现,处理器可以包括GPU图形API指令截取单元410、UI识别单元420、ROI场景识别单元430以及VRS启动单元440。
在本示例实施方式中,GPU图形API指令截取单元410可以利用钩子函数截取上述界面对应的图形API指令,其中截取的图形API包括但不限于OpenGL,OpenGL ES,Vulkan,DirectX,Metal等。
在本示例实施方式中,UI识别单元420用于识别场景中的UI物体。因为VRS不用适用于场景中的任何UI控件。Hook与纹理和图像标签相关的图形API,获取图形API指令的参数值。通过这些参数值得到当前绑定的纹理或者图像标签的label(标识)或者hash(哈希)值。将这些label和hash值与画面中UI控件的label和hash值进行对比,判定当前是否开始绘制UI,即上述根据预配置的二维区域对应的图形API指令对应的参数值来在图形API指令中获取二维区域对应的图形API指令。
在本示例实施方式中,ROI场景识别单元430用于识别场景中可使用VRS的三维物体。Hook与纹理及深度相关的图形API指令,获取API指令的输入输出参数。通过这些输入输出参数得到当前正在绘制的物体以及物体到摄像头的距离,从上述图形API指令中确定出三维区域对应的图形API指令。
在本示例实施方式中,在上述图形API指令为三维区域对应的图形API指令时,VRS启动单元440能够在每次执行渲染指令之前使用芯片公司(高通或者MTK)提供的可变着色率扩展指令启动VRS,根据画质需求调整三维区域对应的图形API指令中的着色速率。
综上所述,本示例性实施方式中,一方面,直接获取待显示界面的图形API指令,可以从驱动层来对着色速率进行控制,解决了功能损耗较高的问题。另一方面,根据界面的图形API指令来对界面进行渲染,在渲染时,只需要截取GPU处理时的界面的图形API指令,无需界面开发者的参与,可以直接在终端角度进行着色速率的调整,增加了上述界面渲染方法的可用范围。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图5所示,本示例的实施方式中还提供一种界面渲染装置500,包括获取模块510、响应模块520以及渲染模块530。其中:
获取模块510可以用于获取界面的图形API指令,并根据图形API指令确定界面的类型;具体而言,可以采用钩子函数截取界面对应的图形API指令,然后获取图形API指令绑定的纹理;根据纹理确定图形API指令确定界面的类型。
响应模块520可以用于响应界面为第一类型,在图形API指令中获取界面中的三维区域对应的三维区域对应的图形API指令;具体而言,可以根据图形API指令确定界面各元素到虚拟摄像头之间的距离;根据距离在图形API指令中获取三维区域对应的图形API指令。
渲染模块530可以用于调整三维区域对应的图形API指令中的着色速率参数,以完成对界面的渲染。具体而言,根据距离确定各元素的着色速率,其中,着色速率与距离正相关;根据各元素的着色速率利用可变速率着色技术调整三维区域对应的图形API指令中的着色速率。
其中,上述渲染模块530还可以响应界面为第二类型,将图形API指令中的着色速率均配置为第一预设值,以对界面进行渲染。
在本示例实施方式中,上述渲染模块530还可以在图形API指令中获取界面中的二维区域对应的图形API指令;将二维区域对应的图形API指令中的着色速率配置为第一预设值。具体而言,获取预配置的二维区域对应的图形API指令对应的参数值;根据参数值在图形API指令中获取二维区域对应的图形API指令,其中上述参数值可以包括二维区域对应的图形API指令绑定的图像标签的哈希值或图像纹理。
在本公开的一种示例实施方式中,上述响应模块520还可以用于获取三维区域对应的图形API指令中绑定的三维区域中的初始元素;获取一调整元素列表;根据调整元素列表和初始元素对三维区域对应的图形API指令进行更新,以使得将在调整元素列表中的初始元素对应的图形API指令判定为二维区域对应的图形API指令。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (14)
1.一种界面渲染方法,其特征在于,所述界面渲染方法包括:
获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型;
响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令;
调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述在所述图形API指令中获取所述界面中的三维区域对应的图形API指令,包括:
根据所述图形API指令确定界面各元素到虚拟摄像头之间的距离;
根据所述距离在在所述图形API指令中获取所述界面中的三维区域对应的图形API指令。
3.根据权利要求2所述的方法,其特征在于,所述调整所述三维区域对应的图形API指令中的着色速率参数,包括:
根据所述距离确定各所述元素的着色速率,其中,所述着色速率与所述距离正相关;
根据各所述元素的着色速率调整所述三维区域对应的图形API指令中的着色速率参数。
4.根据权利要求1所述的方法,其特征在于,所述调整所述三维区域对应的图形API指令中的着色速率参数,包括:
获取所述界面的画质要求;
根据所述画质要求调整所述三维区域对应的图形API指令中的着色速率参数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应所述界面为第二类型,将所述图形API指令中的着色速率参数均配置为第一预设值,以对所述界面进行渲染。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述图形API指令中获取所述界面中的二维区域对应的图形API指令;
将所述二维区域对应的图形API指令中的着色速率参数配置为第一预设值。
7.根据权利要求6所述的方法,其特征在于,所述在所述图形API指令中获取所述界面中的二维区域对应的图形API指令,包括:
获取预配置的二维区域对应的图形API指令对应的参数值;
根据所述参数值在所述图形API指令中获取所述二维区域对应的图形API指令。
8.根据权利要求6所述的方法,其特征在于,所述参数值包括所述二维区域对应的图形API指令绑定的图像标签的哈希值或图像纹理。
9.根据权利要求6所述的方法,其特征在于,在调整所述三维区域对应的图形API指令中的着色速率参数之前,所述方法还包括:
获取三维区域对应的图形API指令中绑定的三维区域中的初始元素;
获取一调整元素列表;
根据所述调整元素列表和所述初始元素对所述三维区域对应的图形API指令进行更新,以使得将在调整元素列表中的初始元素对应的图形API指令判定为所述二维区域对应的图形API指令。
10.根据权利要求1所述的方法,其特征在于,获取所述界面的图形API指令包括:
采用钩子函数截取所述界面对应的图形API指令。
11.根据权利要求1所述的方法,其特征在于,所述根据图形API指令确定所述界面的类型,包括:
获取所述图形API指令绑定的纹理;
根据所述纹理确定所述图形API指令确定所述界面的类型。
12.一种界面渲染装置,其特征在于,所述界面渲染装置包括:
获取模块,用于获取所述界面的图形API指令,并根据所述图形API指令确定所述界面的类型;
响应模块,响应所述界面为第一类型,在所述图形API指令中获取所述界面中的三维区域对应的图形API指令;
渲染模块,用于调整所述三维区域对应的图形API指令中的着色速率参数,以对所述界面进行渲染。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至11中任一项所述的界面渲染方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至11中任一项所述的界面渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187922.4A CN113936089A (zh) | 2021-10-12 | 2021-10-12 | 界面渲染方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187922.4A CN113936089A (zh) | 2021-10-12 | 2021-10-12 | 界面渲染方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113936089A true CN113936089A (zh) | 2022-01-14 |
Family
ID=79278450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111187922.4A Pending CN113936089A (zh) | 2021-10-12 | 2021-10-12 | 界面渲染方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113936089A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024037211A1 (zh) * | 2022-08-18 | 2024-02-22 | 华为技术有限公司 | 着色方法、着色装置和电子设备 |
-
2021
- 2021-10-12 CN CN202111187922.4A patent/CN113936089A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024037211A1 (zh) * | 2022-08-18 | 2024-02-22 | 华为技术有限公司 | 着色方法、着色装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210111833A (ko) | 타겟의 위치들을 취득하기 위한 방법 및 장치와, 컴퓨터 디바이스 및 저장 매체 | |
CN108989678B (zh) | 一种图像处理方法、移动终端 | |
CN111866483B (zh) | 颜色还原方法及装置、计算机可读介质和电子设备 | |
CN111932463B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111258467A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
KR20180091381A (ko) | 다면체에 기반한 vr 이미지를 제공하는 전자 장치 및 그 이미지의 제공 방법 | |
US20210375022A1 (en) | Electronic device for providing animated image and method therefor | |
CN113238727A (zh) | 屏幕切换方法及装置、计算机可读介质和电子设备 | |
CN111950570A (zh) | 目标图像提取方法、神经网络训练方法及装置 | |
CN112188461A (zh) | 近场通信装置的控制方法及装置、介质和电子设备 | |
US10032260B2 (en) | Inverse distortion rendering method based on a predicted number of surfaces in image data | |
CN113902636A (zh) | 图像去模糊方法及装置、计算机可读介质和电子设备 | |
CN113936089A (zh) | 界面渲染方法及装置、存储介质及电子设备 | |
CN116095221B (zh) | 一种游戏中的帧率调整方法及相关装置 | |
US20240177409A1 (en) | Image processing method and apparatus, electronic device, and readable storage medium | |
CN111292247A (zh) | 图像处理方法和装置 | |
CN115423680A (zh) | 人脸妆容迁移方法、设备及计算机可读存储介质 | |
CN115576470A (zh) | 图像处理方法和装置、增强现实系统及介质 | |
CN113362260A (zh) | 图像优化方法及装置、存储介质及电子设备 | |
CN114119413A (zh) | 图像处理方法及装置、可读介质和移动终端 | |
CN113240599A (zh) | 图像调色方法及装置、计算机可读存储介质、电子设备 | |
CN113409204A (zh) | 待处理图像的优化方法及装置、存储介质及电子设备 | |
KR20220016695A (ko) | 딥러닝에 기반한 이미지 분할 장치 및 방법 | |
CN112489006A (zh) | 图像处理方法、装置、存储介质及终端 | |
CN113994652A (zh) | 电子设备及其控制方法 |
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 |