CN116071217A - 渲染管线的配置方法、装置、设备及存储介质 - Google Patents

渲染管线的配置方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116071217A
CN116071217A CN202310096959.9A CN202310096959A CN116071217A CN 116071217 A CN116071217 A CN 116071217A CN 202310096959 A CN202310096959 A CN 202310096959A CN 116071217 A CN116071217 A CN 116071217A
Authority
CN
China
Prior art keywords
rendering
node
nodes
configuration
pipeline
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
Application number
CN202310096959.9A
Other languages
English (en)
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.)
Wuming Technology Hangzhou Co ltd
Original Assignee
Wuming Technology Hangzhou 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 Wuming Technology Hangzhou Co ltd filed Critical Wuming Technology Hangzhou Co ltd
Priority to CN202310096959.9A priority Critical patent/CN116071217A/zh
Publication of CN116071217A publication Critical patent/CN116071217A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请公开了一种渲染管线的配置方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:显示渲染管线配置界面,渲染管线配置界面中显示有多个待配置节点,多个待配置节点包括渲染功能节点和渲染资源节点;响应于配置操作,根据配置操作在多个待配置节点中选择的多个已选择节点,以及对多个已选择节点配置的节点顺序,确定渲染管线的配置,多个已选择节点包括渲染功能节点和/或渲染资源节点;其中,渲染功能节点用于对渲染资源数据按照渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,渲染资源节点用于存储渲染资源数据。由于配置渲染管线的过程为在用户界面中的直观操作,无需修改代码,可简化配置渲染管线的过程。

Description

渲染管线的配置方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种渲染管线的配置方法、装置、设备及存储介质。
背景技术
在图形渲染领域,通常采用渲染管线执行具体的图形渲染任务。
渲染管线用于定义具有不同渲染特性的渲染功能,执行图形渲染任务的过程中生成和使用的渲染资源数据,以及不同渲染功能和渲染资源数据的调用时序。其中,渲染功能用于对渲染资源数据进行处理,以得到渲染图形所需的数据。通过对渲染管线进行配置,能够使渲染管线适用不同类型的图形渲染任务,从而可提升图形渲染的效率。例如针对工业领域的图形渲染任务和游戏领域的图形渲染任务可配置不同的渲染管线。
在渲染管线的配置过程中,通常需要修改用于定义渲染管线的代码,配置渲染管线的过程较为复杂。
发明内容
本申请提供了一种渲染管线的配置方法、装置、设备及存储介质,可以简化配置渲染管线的过程。所述技术方案如下:
根据本申请的一方面,提供了一种渲染管线的配置方法,所述方法包括:
显示渲染管线配置界面,所述渲染管线配置界面中显示有多个待配置节点,所述多个待配置节点包括渲染功能节点和渲染资源节点;
响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,所述多个已选择节点包括所述渲染功能节点和/或所述渲染资源节点;
其中,所述渲染功能节点用于对渲染资源数据按照所述渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,所述渲染资源节点用于存储所述渲染资源数据。
根据本申请的另一方面,提供了一种渲染管线的配置装置,所述装置包括:
显示模块,用于显示渲染管线配置界面,所述渲染管线配置界面中显示有多个待配置节点,所述多个待配置节点包括渲染功能节点和渲染资源节点;
确定模块,用于响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,所述多个已选择节点包括所述渲染功能节点和/或所述渲染资源节点;
其中,所述渲染功能节点用于对渲染资源数据按照所述渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,所述渲染资源节点用于存储所述渲染资源数据。
在一个可选的设计中,所述确定模块,用于:
响应于连线操作,根据所述连线操作在所述多个待配置节点中连接的所述多个已选择节点,以及所述连线操作在连接所述多个已选择节点的顺序,确定所述渲染管线的配置;
其中,所述连接操作连接所述多个已选择节点的顺序用于指示所述多个已选择节点的所述节点顺序。
在一个可选的设计中,所述显示模块,用于:
根据所述连线操作连接的所述多个已选择节点,以及连接所述多个已选择节点的顺序,显示所述多个已选择节点的有向无环图。
在一个可选的设计中,所述渲染管线配置界面中显示有配置控件,每个所述配置控件用于显示一个所述渲染功能节点,所述配置控件中显示有所述渲染功能节点的标识、所述渲染功能节点的至少一个输入参数、和所述渲染功能节点的至少一个输出参数;所述确定模块,用于:
响应于针对所述至少一个输入参数的第一连线操作,在所述至少一个输入参数中,确定所述第一连线操作的第一连线的一端连接的目标输入参数;
响应于针对所述至少一个输出参数的第二连线操作,在所述至少一个输出参数中,确定所述第二连线操作的第二连线的一端连接的目标输出参数;
其中,所述目标输入参数和所述目标输出参数的组合用于指示所述渲染功能节点在根据所述目标输入参数的数据确定所述目标输出参数的数据时使用的渲染特性。
在一个可选的设计中,所述显示模块,用于:
根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染资源节点的生命周期图,和/或,根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染功能节点的运行时序图;
其中,所述生命周期图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染资源节点被调用的时段;所述运行时序图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染功能节点运行的时段。
在一个可选的设计中,所述装置还包括:
获取模块,用于响应于节点新增操作,获取所述节点新增操作新增的新增节点,所述新增节点包括所述渲染功能节点和/或所述渲染资源节点;
所述显示模块,用于在所述渲染管线配置界面中显示所述新增节点。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的渲染管线的配置方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的渲染管线的配置方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的渲染管线的配置方法。
本申请提供的技术方案带来的有益效果至少包括:
通过采用可视化的方式将渲染功能节点和渲染资源节点显示在渲染管线配置界面中,用户仅需通过对显示的渲染功能节点和渲染资源节点进行配置操作,即可实现对渲染管线的配置。由于配置渲染管线的过程为在用户界面中的直观操作,无需修改代码,因此可简化配置渲染管线的过程。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的渲染管线配置界面的示意图;
图2是本申请一个示例性实施例提供的渲染管线的配置方法的流程示意图;
图3是本申请一个示例性实施例提供的渲染管线的配置方法的流程示意图;
图4是本申请一个示例性实施例提供的渲染管线配置界面的示意图;
图5是本申请一个示例性实施例提供的渲染资源节点的生命周期图的示意图;
图6是本申请一个示例性实施例提供的渲染功能节点的运行时序图的示意图;
图7是本申请一个示例性实施例提供的渲染管线的配置装置的结构示意图;
图8是本申请一个示例性实施例提供的渲染管线的配置装置的结构示意图;
图9是本申请一个示例性实施例提供的计算机设备的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请涉及的相关名词以及技术背景进行介绍:
渲染依赖关系图(Rendering Dependency Graph,RDG):也可称为渲染图(RenderGraph),Render Graph描述了在进行图形渲染时,渲染当前一帧的渲染管线的构成以及渲染资源的状态。
渲染功能(也称Pass)节点:一个Pass可用于指示图形处理器(GraphicsProcessing Unit,GPU)执行一次完整流程。渲染功能节点是一种对于渲染功能模块的抽象描述,在指示GPU执行一次完整流程的过程中,渲染功能节点会一次或多次针对GPU进行渲染指令的提交,以指示GPU执行。
渲染功能节点中定义了一个或多个输入参数、一个或多个渲染指令和一个或多个输出参数。渲染功能节点可为某个输入参数的数据(渲染资源数据)和输出参数的数据(渲染资源数据)的组合,提供相对应的渲染指令,以指示GPU按照渲染指令提供的渲染特性执行由输入参数的数据处理得到输出参数的数据的过程。渲染功能节点在运行时,即向GPU指示以执行渲染指令的过程中,会消耗GPU的计算资源。
渲染资源(Resource)节点:在GPU执行一次完整流程之后,由于得到的渲染资源数据无法将所需渲染的图形(例如整个游戏场景)整个渲染出来,因此需要存储图形渲染过程中中间处理得到的渲染资源数据。对于存储GPU的输出信息的缓存(Buffer),即可称作Resource,即渲染资源节点用于存储渲染资源数据。在Render Graph中,大部分Resource为上述定义,但也存在一些默认的预定义的渲染资源数据。渲染资源节点的存在,会占用GPU的存储资源。对于每个渲染资源节点,均具有其自身的状态,例如清除(clear)、丢弃(discard)、未定义(undefined)。
渲染管线:渲染功能节点和渲染资源节点可构成渲染管线,两者之间通过协作,从而执行图形渲染任务。为便于理解,对于渲染功能节点,可以将其视为一个或多个函数(为渲染功能提供渲染特性),渲染功能节点在接收到渲染资源节点中的渲染资源数据后,会调用内部的执行函数,从而调用一次或若干次GPU,并产生一个或多个输出的渲染资源数据,输出后可存储至渲染资源节点。在得到渲染图形所需的全部渲染资源数据后,即可完成对整个图形的渲染。
对于目前成熟的渲染引擎来说,需要面对的项目种类非常多,有常见的游戏行业项目,也有工业需求的项目,而在不同行业中还会存在不同的项目品类。例如游戏行业中,又有着大量的游戏品类,比如第一人称射击(First-Person Shooting,FPS)游戏、大型多人在线角色扮演游戏(Massive Multiplayer Online Role-Playing Game,MMORPG)、策略类游戏(Simulation Game,SLG)等等。而对于不同品类的游戏来说,需要的渲染特性都不相同,有的是3D开放世界,而有的是2D或者2.5D的小关卡。所以对于不同的渲染特性(Pass提供),需要一种既能使用轻便,又能方便拓展的自定义渲染管线。而对于底层技术层面来说,则需要对整个渲染管线有更细粒度的认知,从而能够做到更好的运行资源调度和存储资源使用。
渲染管线用于定义具有不同渲染特性的渲染功能,执行图形渲染任务的过程中生成和使用的渲染资源数据,以及不同渲染功能和渲染资源数据的调用时序。通过对渲染管线进行配置,能够使渲染管线适用不同类型的图形渲染任务,从而可提升图形渲染的效率。例如针对上述工业领域的图形渲染任务和上述游戏领域的图形渲染任务可配置不同的渲染管线。相关技术在渲染管线的配置过程中,通常需要修改用于定义渲染管线的代码,配置渲染管线的过程较为复杂。
本申请实施例提供的方法,通过将渲染管线中不同渲染特性的渲染功能定义在渲染功能节点中,将渲染资源数据定义在渲染资源节点中,并采用可视化的方式将渲染功能节点和渲染资源节点显示在渲染管线配置界面中。用户仅需通过对显示的渲染功能节点和渲染资源节点进行配置操作,即可实现对渲染管线的配置。由于配置渲染管线的过程为在用户界面中的直观操作,无需修改代码,因此可简化配置渲染管线的过程。
图1是本申请一个示例性实施例提供的渲染管线配置界面的示意图。如图1所示,计算机设备显示渲染管线配置界面101,该渲染管线配置界面101中显示有多个待配置节点,具体包括渲染功能节点102(例如图2中的渲染功能节点1021和渲染功能节点1022,统称为渲染功能节点102)和渲染资源节点103(例如图2中的渲染资源节点1031(输入)和渲染资源节点1032(输出),统称为渲染资源节点103)。其中,渲染功能节点102用于对图形渲染过程中使用的渲染资源数据按照渲染功能节点102提供的渲染特性进行处理,以得到输出的渲染资源数据。渲染资源节点103用于存储渲染资源数据。通过渲染管线内的渲染功能节点102和渲染资源节点103的协作,即可实现执行图形渲染任务。
响应于连线操作,计算机设备会根据连线操作在多个待配置节点中连接的多个已选择节点,以及连线操作在连接多个已选择节点的顺序,确定渲染管线的配置。该连接操作连接多个已选择节点的顺序,用于指示该多个已选择节点的节点顺序,即渲染管线在执行图形渲染任务时,渲染管线中的不同节点的运行时序以及渲染功能节点102和渲染资源节点103之间的依赖关系。计算机设备根据连线操作连接的多个已选择节点,以及连接多个已选择节点的顺序,能够显示该多个已选择节点的有向无环图,从而反映渲染管线的数据结构,即渲染管线内渲染功能节点102和渲染资源节点103的构成。
需要说明的是,上述渲染管线配置界面101中还能够显示其它信息,例如对于输入的待渲染数据,计算机设备能够根据连线操作得到的渲染管线的配置,显示对待渲染数据按照配置的渲染管线进行渲染得到的画面。并且在连线改变即渲染管线的配置改变时(例如配置由图1的(a)改变为图1的(b)),计算机设备也能够实时显示对待渲染数据按照当前配置的渲染管线进行渲染得到的画面。图1中的渲染管线配置界面101仅用作示例,不作为对本申请实施例提供的渲染管线配置界面101的限制。
通过采用可视化的方式将渲染功能节点和渲染资源节点显示在渲染管线配置界面中,用户仅需通过对显示的渲染功能节点和渲染资源节点进行连线操作,即可实现对渲染管线的配置。由于配置渲染管线的过程无需修改代码,因此可简化配置渲染管线的过程。
图2是本申请一个示例性实施例提供的渲染管线的配置方法的流程示意图。该方法可以用于计算机设备。如图2所示,该方法包括:
步骤202:显示渲染管线配置界面。
渲染管线配置界面中显示有多个待配置节点,待配置节点是在配置渲染管线的过程中,可用于被配置的节点。多个待配置节点包括渲染功能节点和渲染资源节点。其中,渲染功能节点用于对执行图形渲染任务过程中产生的渲染资源数据按照渲染功能节点提供的渲染特性进行处理(即将渲染指令提交至GPU执行的过程),以得到输出的渲染资源数据,渲染资源节点用于存储渲染资源数据。
计算机设备通过获取已定义渲染功能节点和渲染资源节点,从而实现在渲染管线配置界面中显示渲染功能节点和渲染资源节点。计算机设备获取并显示渲染功能节点是指获取实现渲染功能节点的相关代码,并在渲染管线配置界面中显示渲染功能节点的标识(例如渲染功能节点的名称),即使用渲染功能节点的标识代表渲染功能节点(渲染功能节点的相关代码)。计算机设备获取并显示渲染资源节点是指获取实现渲染资源节点的相关代码,并在渲染管线配置界面中显示渲染资源节点的标识(例如渲染资源节点的名称),即使用渲染资源节点的标识代表渲染资源节点(渲染资源节点的相关代码)。
该渲染管线配置界面还能够提供节点的配置功能,例如计算机设备根据节点新增操作,会获取节点新增操作所新增的新增节点(新增节点的相关代码),该新增节点包括上述渲染功能节点和/或渲染资源节点。示例地,实现添加新增节点的具体过程为,计算机设备根据用户针对渲染管线配置界面中的节点新增控件的触控操作(例如单击、双击、长按),显示节点配置控件。并根据用户在节点配置控件中输入或选择(例如通过计算机设备的触控屏或外接的鼠标键盘实现)的节点的配置信息,确定节点的配置。之后根据用户针对节点配置控件中的确认控件的触控操作,确定完成节点的新增。
在获取到新增节点后,计算机设备会在渲染管线配置界面中显示新增节点,从而在配置渲染管线时,可使用新增的新增节点。渲染管线配置功能的提供者(例如渲染引擎的开发人员)可通过上述方式向用户(使用渲染引擎的用户)提供更多的渲染功能节点,从而让用户在配置渲染管线时能够有更多的选择。
示例地,计算机设备当前在渲染管线配置界面中显示的节点包括节点1、节点2和节点3,之后计算机设备根据用户的节点新增操作获取到节点4和节点5,在获取到节点4和节点5后,计算机设备能够刷新渲染管线配置界面从而在渲染管线配置界面中显示节点1、节点2、节点3、节点4和节点5。
计算机设备通过集成在计算机设备中的显示屏或外接的显示设备,实现显示渲染管线配置界面。
步骤204:响应于配置操作,根据配置操作在多个待配置节点中选择的多个已选择节点,以及对多个已选择节点配置的节点顺序,确定渲染管线的配置。
计算机设备根据配置操作,能够在多个待配置节点中确定多个已选择节点,以及确定多个已选择节点的节点顺序。该多个已选择节点包括渲染功能节点和/或渲染资源节点,多个已选择节点是构成渲染管线的节点,多个已选择节点的节点顺序用于反映配置的上述渲染管线在执行图形渲染任务时,渲染管线中的不同节点的运行时序以及渲染功能节点和渲染资源节点之间的依赖关系。
可选地,上述配置操作包括选择操作以及顺序设置操作。计算机设备根据选择操作在多个待配置节点中选择的节点,从而确定出多个已选择节点。该选择操作可通过针对渲染管线配置界面中显示的节点的点击触发,例如单击、双击、长按等,选择操作是通过具有触控功能的显示屏或计算机设备的外接设备检测的,例如鼠标、键盘。并且,计算机设备会根据顺序设置操作对多个已选择节点中每个节点设置的顺序,来确定多个已选择节点的节点顺序。
可选地,实现设置节点顺序的具体过程为,当用户在通过选择操作选择渲染管线配置界面中显示的某个节点时,计算机设备会显示该被选择的节点的顺序设置控件,根据用户在顺序设置控件中输入的顺序,计算机设备能够确定该被选择的节点的节点顺序。计算机设备根据各个被选择的节点的节点顺序可确定多个已选择节点的节点顺序。
示例地,渲染管线配置界面中显示有节点1、节点2、节点3、节点4和节点5,当计算机设备接收到用户针对节点1的选择操作时,会将其确定为一个已选择节点,同时会显示节点1的顺序设置控件,计算机设备根据用户在节点1的顺序设置控件中输入的顺序1,可确定节点1的节点顺序为1。之后,当计算机设备接收到用户针对节点3的选择操作时,会将其确定为一个已选择节点,同时会显示节点3的顺序设置控件,计算机设备根据用户在节点3的顺序设置控件中输入的顺序2,可确定节点3的节点顺序为2。通过上述过程,可实现配置包括节点1和节点3的渲染管线,且节点1的顺序为1,节点3的顺序为2,即节点3涉及的渲染任务处理过程在节点1之后。
可选地,在用户选择了渲染管线包括的全部已选择节点后,计算机设备根据用户针对渲染管线配置界面中的节点顺序设置控件的触控操作,显示全部已选择节点的顺序配置控件,之后根据用户在该顺序配置控件中针对各已选择节点输入的节点顺序,从而确定多个已选择节点的节点顺序。该输入操作是通过触控屏或者计算机设备的外接设备,例如鼠标键盘等实现的。
示例地,渲染管线配置界面中显示有节点1、节点2、节点3、节点4和节点5,当计算机设备接收到用户针对节点1、节点3和节点5的选择操作时,会将选择的上述节点确定为渲染管线中的多个已选择节点。之后根据用户针对节点顺序设置控件的触控操作,计算机设备显示用于设置节点1、节点3和节点5的顺序的顺序配置控件。计算机设备根据用户在该顺序配置控件中针对节点1、节点3和节点5分别输入的顺序1、顺序2和顺序3,可确定各节点的节点顺序。通过上述过程,可实现配置包括节点1、节点3和节点5的渲染管线,且节点1的顺序为1,节点3的顺序为2,节点5的顺序为3,即节点3涉及的渲染任务处理过程在节点1之后,节点5涉及的渲染任务处理过程在节点3之后。
可选地,上述配置操作包括连线操作,计算机设备根据连线操作在多个待配置节点中连接的节点,能够确定多个已选择节点。计算机设备根据连线操作在连接多个节点时的连接顺序,能够确定连接的多个节点(即多个已选择节点)的节点顺序。可选地,根据连线操作配置渲染管线的具体过程为,计算机设备接收用户针对渲染管线配置界面中显示的一个节点的触控操作(例如单击),从而确定连线的一端的节点,之后用户保持长按直至移动至另一个节点并取消长按,此时计算机设备会确定连线的另一端的节点,计算机设备会将被连接的这两个节点确定为已选择节点。在用户保持长按的过程中,计算机设备会根据长按的轨迹显示连线。并且,计算机设备会确定连线中在先选择的节点的节点顺序位于在后选择的节点的节点顺序之前。通过多次执行上述过程,计算机设备可确定多个已选择节点以及多个已选择节点的节点顺序。可选地,用户还能够通过对显示的连线的双击、长按等操作,删除已存在的连线。
示例地,渲染管线配置界面中显示有节点1、节点2、节点3、节点4和节点5,当计算机设备接收到用户针对节点1的单击操作,并在单击后保持长按移动至节点3时,会确定节点1和节点3为已选择节点,且节点1的节点顺序在节点3之前。之后当计算机设备接收到用户针对节点3的单击操作,并在单击后保持长按移动至节点5时,会确定节点5也为已选择节点(节点3已被确定为已选择节点),且节点3的节点顺序在节点5之前。通过上述过程,可实现配置包括节点1、节点3和节点5的渲染管线,且节点1的顺序在节点3之前,节点3的顺序在节点5之前,例如节点1、节点3、节点5的顺序分别为1、2、3。即节点3涉及的渲染任务处理过程在节点1之后,节点5涉及的渲染任务处理过程在节点3之后。
在得到渲染管线的配置后,可使用配置的该渲染管线执行图形渲染任务。可选地,计算机设备还能够在渲染管线配置界面中显示待渲染数据的渲染结果。计算机设备根据配置操作得到的渲染管线,能够在渲染管线配置界面中显示对待渲染数据按照配置的渲染管线进行渲染得到的画面。并且在配置操作改变渲染管线的配置时,计算机设备也能够实时显示对待渲染数据按照当前配置的渲染管线进行渲染得到的画面。
需要说明是的,本申请实施例提供的方法可应用于计算机设备,计算机设备通过运行用于实现上述方法的指令(代码),从而实现上述方法。本申请实施例提供的方法还可用于计算机设备中的客户端,在该情况下,客户端中集成有上述指令。计算机设备通过运行该客户端,从而执行上述指令,以实现上述方法。另外,计算机设备在运行上述指令或客户端时,会显示相应的用户界面。计算机设备中集成有显示屏,或计算机设备外接有显示设备,该外接的显示设备包括显示屏,计算机设备通过上述显示屏实现显示相关的功能。在需要显示屏提供人机交互功能,例如为用户提供针对在渲染管线配置界面中对显示的节点进行触控连线的功能时,上述显示屏为触控屏。或者,计算机设备也能够通过外接设备提供上述人机交互的功能,例如外接键盘、鼠标、摇杆等。另外,计算机设备在实现本申请实施例提供的方法时,可处于联网状态或非联网状态。
综上所述,本实施例提供的方法,通过采用可视化的方式将渲染功能节点和渲染资源节点显示在渲染管线配置界面中,用户仅需通过对显示的渲染功能节点和渲染资源节点进行配置操作,即可实现对渲染管线的配置。由于配置渲染管线的过程为在用户界面中的直观操作,无需修改代码,因此可简化配置渲染管线的过程。
图3是本申请一个示例性实施例提供的渲染管线的配置方法的流程示意图。该方法可以用于计算机设备。如图3所示,该方法包括:
步骤302:显示渲染管线配置界面。
渲染管线配置界面中显示有多个待配置节点,待配置节点是在配置渲染管线的过程中,可用于被配置的节点。多个待配置节点包括渲染功能节点和渲染资源节点。其中,渲染功能节点用于对渲染资源数据按照渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,渲染资源节点用于存储渲染资源数据。
计算机设备通过获取已定义渲染功能节点和渲染资源节点,从而实现在渲染管线配置界面中显示渲染功能节点和渲染资源节点。计算机设备获取并显示渲染功能节点是指获取实现渲染功能节点和渲染资源节点的相关代码,并在渲染管线配置界面中显示渲染功能节点的标识和渲染资源节点的标识,即通过显示的标识代表渲染功能节点和渲染资源节点。
该渲染管线配置界面还能够提供渲染管线中的节点的配置功能。可选地,响应于节点新增操作,计算机设备获取节点新增操作新增的新增节点(获取新增节点的相关代码),该新增节点包括渲染功能节点和/或渲染资源节点,在获取到新增节点后,计算机设备可在渲染管线配置界面中显示新增节点,在配置渲染管线时,可使用新增的新增节点。示例地,实现添加新增节点的具体过程为,计算机设备根据用户针对渲染管线配置界面中的节点新增控件的触控操作(例如单击、双击、长按),显示节点配置控件。并根据用户在节点配置控件中输入或选择(例如通过计算机设备的触控屏或外接的鼠标键盘实现)的节点的配置信息,确定节点的配置。之后根据用户针对节点配置控件中的确认控件的触控操作,确定完成节点的新增。
渲染管线配置功能的提供者(例如渲染引擎的开发人员)可通过上述方式来新增用于配置渲染管线的节点,例如向用户(使用渲染引擎的用户)提供更多的渲染功能节点,让用户在配置渲染管线时能够有更多的选择。
步骤304:响应于连线操作,根据连线操作在多个待配置节点中连接的多个已选择节点,以及连线操作在连接多个已选择节点的顺序,确定渲染管线的配置。
该连线操作是在渲染管线配置界面中针对显示的待配置节点执行的操作。多个已选择节点包括渲染功能节点和/或渲染资源节点,连接操作连接多个已选择节点的顺序用于指示多个已选择节点的节点顺序。多个已选择节点的节点顺序用于反映配置的上述渲染管线在执行图形渲染任务时,渲染管线中的不同节点的运行时序以及渲染功能节点和渲染资源节点之间的依赖关系。例如,渲染功能节点的输入需要依赖对渲染资源节点的读取,渲染资源节点的写入需要依赖渲染功能节点的输出。
可选地,计算机设备根据连线操作配置渲染管线的具体过程为,计算机设备接收用户针对渲染管线配置界面中显示的一个节点的触控操作(例如单击),从而确定连线的一端的节点,之后用户保持长按直至移动至另一个节点并取消长按,此时计算机设备会确定连线的另一端的节点,计算机设备会将被连接的这两个节点确定为已选择节点。在用户保持长按的过程中,计算机设备会根据长按的轨迹显示连线。并且,计算机设备会确定连线中在先选择的节点的节点顺序位于在后选择的节点的节点顺序之前。通过多次执行上述过程,计算机设备可确定多个已选择节点以及多个已选择节点的节点顺序。可选地,用户还能够通过对显示的连线的双击、长按等操作,删除已存在的连线。
渲染管线配置界面中显示的渲染功能节点包括输入端和输出端,当连线操作的连线的一端连接了渲染功能节点的输入端后,该连线操作的连线的另一端则用于向渲染功能节点输入渲染资源数据;当连线操作的连线的一端连接了渲染功能节点的输出端后,该连线操作的连线的另一端则用于渲染功能节点向其输出渲染资源数据。
渲染管线配置界面中显示的渲染资源节点包括写入端和读取端,当连线操作的连线的一端连接了渲染资源节点的写入端后,该连线操作的连线的另一端则用于向渲染资源节点写入渲染资源数据;当连线操作的连线的一端连接了渲染资源节点的读取端后,该连线操作的连线的另一端则用于读取渲染资源节点中的渲染资源数据。
可选地,计算机设备在接收到连线操作时,会在渲染管线配置界面中显示连线操作产生的连线。计算机设备根据连线操作连接的多个已选择节点,以及连接多个已选择节点的顺序,能够显示多个已选择节点的有向无环图,例如图1中通过连接不同待配置节点得到的图像。有向无环图是指一个无回路的有向图,若一个有向图无法从某个顶点出发经过若干条边回到该点,则这个有向图是一个有向无环图。该有向无环图中的顶点即为多个已选择节点,顶点之间的连线是根据已选择节点的节点顺序确定的。
在通过上述配置的渲染管线执行图形渲染任务时,会向渲染管线输入待渲染数据,渲染管线会对待渲染数据按照渲染管线中的节点和节点的节点顺序进行处理,从而得到渲染结果。
可选地,渲染管线配置界面中显示有配置控件,每个配置控件用于显示一个渲染功能节点或一个渲染资源节点。即每个配置控件用来代表一个渲染功能节点或一个渲染资源节点。继续参照图1,渲染管线配置界面中显示有4个矩形的配置控件,其中2个代表渲染功能节点,2个代表渲染资源节点。可选地,计算机设备还能够通过其它样式的控件显示渲染功能节点和渲染资源节点,例如通过圆形、正方形、三角形等封闭形状的控件显示。并且,针对渲染功能节点使用的控件和针对渲染资源节点使用的控件也能够不同,例如使用矩形的控件代表渲染功能节点,使用三角形的控件代表渲染资源节点。
用于显示渲染功能节点的配置控件中显示有渲染功能节点的标识、渲染功能节点的至少一个输入参数、和渲染功能节点的至少一个输出参数。响应于针对渲染功能节点的至少一个输入参数的第一连线操作,计算机设备会在至少一个输入参数中,确定第一连线操作的第一连线的一端连接的目标输入参数。响应于针对该渲染功能节点的至少一个输出参数的第二连线操作,计算机设备会在至少一个输出参数中,确定第二连线操作的第二连线的一端连接的目标输出参数。其中,目标输入参数和目标输出参数的组合用于指示渲染功能节点在根据目标输入参数的数据确定目标输出参数的数据时使用的渲染特性,该渲染特性即为该渲染功能节点根据目标输入参数的数据确定目标输出参数的数据的过程中,向GPU提交的渲染指令。GPU根据该渲染指令处理目标输入参数的数据,即可得到目标输出参数的数据。
用于显示渲染资源节点的配置控件中显示有渲染资源节点的标识、渲染资源节点的至少一个渲染资源的写入端、和渲染资源节点的至少一个渲染资源的读取端。当第三连线操作的第三连线的一端连接至渲染资源节点的目标渲染资源的写入端时,则表示第三连线的另一端会向渲染资源节点写入目标渲染资源。当第四连线操作的第四连线的一端连接至渲染资源节点的目标渲染资源的读取端时,则表示第四连线的另一端会读取渲染资源节点中的该目标渲染资源。
示例地,继续参照图1的(b),第一连线操作将渲染资源节点1031中的“资源1”的读取端连接至渲染功能节点1021的输入参数中的“输入3”。第二连线操作将渲染功能节点1021的输出参数中的“输出1”连接至渲染功能节点1022的输入参数中的“输入1”。按照上述连接关系配置的渲染管线在执行图形渲染任务时,渲染功能节点1021会读取渲染资源节点1031中的“资源1”的数据作为其“输入3”的输入数据,并按照“输入3”和“输出1”对应的渲染特性指示GPU处理输入的数据,之后将得到的输出数据输出至渲染功能节点1022,作为渲染功能节点1022的“输入1”的输入数据。
示例性的,渲染功能节点的输入参数包括网格顶点坐标、顶点索引信息、渲染深度状态信息、渲染混合状态信息、着色器信息、输入的渲染资源等。其中,网格顶点坐标是指渲染过程中模型或物体由三角形拼接而成,三角形的顶点对应的所在位置的坐标。顶点索引信息是指渲染过程中模型或物体由三角形拼接而成,三角形的顶点对应的编号。渲染深度状态信息是指渲染过程中色彩的深度信息。渲染混合状态信息是指渲染过程中色彩的混合信息。着色器信息是指本次渲染所使用的着色器的信息。输入的渲染资源包括输入的贴图资源信息、资源缓存信息,但不限于此。渲染功能节点的渲染指令包括:渲染索引(DrawIndex)、渲染实例(Draw Instance)、非直接渲染指令(Multi Draw Indirect)、渲染触发指令(Dispatch)等。渲染功能节点的输出参数包括渲染目标、输出资源等。
示例地,通过上述方式配置的渲染管线将一个三维物体转化为二维图像的渲染流程为:根据渲染管线的配置在渲染管线中筛选执行本次渲染任务的渲染功能节点,将渲染任务对应的待渲染数据依次输入至所选择的渲染功能节点中进行处理,处理产生的中间渲染资源数据会通过渲染资源节点存储。例如,执行渲染任务所选择的渲染功能节点为:顶点着色器、曲面细分器、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器,在选择好渲染功能节点后,将待渲染的顶点数据依次输入顶点着色器、曲面细分器、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器进行处理,处理过程中渲染功能节点(即上述顶点着色器、曲面细分器等)会与渲染资源节点协作,从而最终完成渲染任务。
在得到渲染管线的配置后,计算机设备可使用配置的该渲染管线执行图形渲染任务。可选地,计算机设备还能够在渲染管线配置界面中显示待渲染数据的渲染结果。计算机设备根据配置操作得到的渲染管线,能够在渲染管线配置界面中显示对待渲染数据按照配置的渲染管线进行渲染得到的画面。并且在配置操作改变渲染管线的配置时,计算机设备也能够实时显示对待渲染数据按照当前配置的渲染管线进行渲染得到的画面。
示例地,图4是本申请一个示例性实施例提供的渲染管线配置界面的示意图。如图4所示,渲染管线配置界面包括显示区域401、显示区域402和显示区域403,显示区域401用于配置渲染管线,显示区域402用于根据配置的渲染管线执行渲染任务,显示区域403用于显示待配置节点相关的信息。如图4的(a)所示,通过渲染管线配置界面配置的渲染管线中连接了一个渲染功能节点(顶部黑色填充的矩形框)和两个渲染资源节点(顶部白色填充的矩形框),计算机设备根据该渲染管线对待渲染数据进行渲染,能够显示场景内的一个小球。如图4的(b)所示,通过渲染管线配置界面配置的渲染管线中连接了两个渲染功能节点和两个渲染资源节点,计算机设备根据该渲染管线对待渲染数据进行渲染,能够显示虚拟环境以及光照效果,以及显示位于虚拟环境中的一个小球。上述对渲染管线的配置和修改,只需要通过连线即可完成操作。
可选地,在显示渲染管线配置界面的过程中,响应于针对渲染功能节点的选择操作,计算机设备还能够在该渲染功能节点的周侧(例如右侧),显示渲染功能节点的详情控件。示例地,该选择操作为单击、双击、长按等触控操作。该详情控件以矩阵、三角形、梯形等封闭多边形的形式显示。该详情控件中显示有渲染功能节点的设置参数,该详情控件用于提供对渲染功能节点的设置参数进行配置的功能。渲染功能节点的设置参数是渲染功能节点在执行图形渲染任务过程中使用的参数。示例地,在用于渲染天空的渲染功能节点中,可配置天空相关的参数,例如云的颜色,云的疏密度等。
步骤306:根据渲染管线的配置,显示多个已选择节点中的渲染资源节点的生命周期图。
渲染管线中的渲染资源节点的生命周期图用于反映在通过渲染管线执行渲染任务的过程中,渲染管线中的各个渲染资源节点被调用的时段。在执行渲染任务的过程中,渲染资源节点会被写入渲染资源数据或者被读取其存储的渲染资源数据(即渲染资源节点被调用),在需要被调用的过程中渲染资源节点需要占用GPU的存储资源。而在此以外的时段,即渲染资源节点不会再被调用的时段,渲染资源节点可能也会占用GPU的存储资源,这会导致存储资源利用率较低。通过根据渲染管线的配置中渲染功能节点和渲染资源节点之间的依赖关系,来显示渲染资源节点的生命周期图,能够使用户参考该生命周期图,在渲染一帧的过程中,控制将存储资源(显存)提供给不同时间段被调用的渲染资源节点使用。而在渲染资源节点未被调用时,用户可参考该生命周期图,控制释放渲染资源节点占用的存储资源,从而提升显存利用率。
示例地,图5是本申请一个示例性实施例提供的渲染资源节点的生命周期图的示意图。如图5所示,渲染功能节点501-506会按照图示的流程与渲染资源节点507-509进行交互,从而读取或写入渲染资源数据。图中虚线表示写入,实线表示读取。图中渲染资源节点507-509的矩形框的长度表示渲染资源节点507-509的生命周期的长度,即占用存储资源的时段。如图5的(a)所示,用户优化前,在渲染资源节点507-509的生命周期内,其会始终占用GPU的存储资源,导致存储资源浪费。如图5的(b)所示,用户优化后,渲染资源节点507-509的生命周期仅覆盖了渲染资源节点507-509被读取或向其写入的时段,从而提升显存利用率。图5的(b)即为本申请实施例提供的渲染资源节点的生命周期图,用户可参照此图控制优化渲染资源节点的生命周期。
可选地,响应于第一显示操作,计算机设备能够在渲染管线配置界面中显示上述生命周期图,第一显示操作是渲染管线配置界面中触发的操作,例如通过渲染管线配置界面中的第一按钮触发。
步骤308:根据渲染管线的配置,显示多个已选择节点中的渲染功能节点的运行时序图。
渲染管线中的渲染功能节点的运行时序图用于反映在通过渲染管线执行渲染任务的过程中,渲染管线中的各个渲染功能节点运行的时段。在执行渲染任务的过程中,渲染功能节点会读取渲染资源节点的渲染资源数据,之后对读取的数据进行处理,并在处理后将处理得到的数据其写入其它渲染资源节点。不同渲染功能节点在运行的过程中,可能存在运行时段重叠的情况,该情况下可通过多线程机制并发运行渲染功能节点,从而提升渲染效率。计算机设备根据渲染管线的配置中渲染功能节点和渲染资源节点之间的依赖关系,能够实现显示渲染功能节点的运行时序图。可选地,计算机设备通过机器学习模型确定渲染功能节点在运行时所需的时长,计算机设备将渲染功能节点在运行时使用的渲染指令、输入的渲染资源数据、和处理器的性能数据输入机器学习模型,即可预测渲染功能节点在运行时所需的时长。该机器学习模型是通过样本渲染指令、样本渲染资源数据、样本处理器的性能数据和样本时长训练得到的,样本时长是样本处理器对样本渲染资源数据执行样本渲染指令从而得到渲染结果的时长。
示例地,图6是本申请一个示例性实施例提供的渲染功能节点的运行时序图的示意图。如图6所示,时段601为渲染功能节点1运行的时段,时段602为渲染功能节点2运行的时段,时段603为渲染功能节点3运行的时段,时段604为渲染功能节点4运行的时段,时段605为渲染功能节点5运行的时段。其中,时段602和时段603存在重叠,时段604和时段605存在重叠。用户参照该行时序图,可设置存在运行时段重叠的渲染功能节点在其运行时段内并发运行,从而实现了对GPU多线程的安全合理调度,提升执行渲染任务的效率。
可选地,响应于第二显示操作,计算机设备能够在渲染管线配置界面中显示上述生命周期图,第二显示操作是渲染管线配置界面中触发的操作,例如通过渲染管线配置界面中的第二按钮触发。
综上所述,本实施例提供的方法,通过采用可视化的方式将渲染功能节点和渲染资源节点显示在渲染管线配置界面中,用户仅需通过对显示的渲染功能节点和渲染资源节点进行配置操作,即可实现对渲染管线的配置。由于配置渲染管线的过程为在用户界面中的直观操作,无需修改代码,因此可简化配置渲染管线的过程。
另外,通过在渲染管线配置界面中对待配置节点进行连线,即可实现自定义有向无环图中的节点,实现对渲染管线的配置。用户无需关注原始代码实现,仅需连线即可改变渲染管线,极大地降低开发学习的成本,提高开发效率。通过显示渲染资源节点的生命周期图,有助于用户高效管理渲染过程中输入输出数据的生命周期,从而实现显存利用效率最大化。通过显示渲染功能节点的运行时序图,有助于用户精确的使用现代硬件的多线程机制,来提升渲染管线在运行时的效率。
需要说明的是,本申请实施例提供的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图7是本申请一个示例性实施例提供的渲染管线的配置装置的结构示意图。如图7所示,该装置包括:
显示模块701,用于显示渲染管线配置界面,所述渲染管线配置界面中显示有多个待配置节点,所述多个待配置节点包括渲染功能节点和渲染资源节点;
确定模块702,用于响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,所述多个已选择节点包括所述渲染功能节点和/或所述渲染资源节点;
其中,所述渲染功能节点用于对渲染资源数据按照所述渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,所述渲染资源节点用于存储所述渲染资源数据。
在一个可选的设计中,所述确定模块702,用于:
响应于连线操作,根据所述连线操作在所述多个待配置节点中连接的所述多个已选择节点,以及所述连线操作在连接所述多个已选择节点的顺序,确定所述渲染管线的配置;
其中,所述连接操作连接所述多个已选择节点的顺序用于指示所述多个已选择节点的所述节点顺序。
在一个可选的设计中,所述显示模块701,用于:
根据所述连线操作连接的所述多个已选择节点,以及连接所述多个已选择节点的顺序,显示所述多个已选择节点的有向无环图。
在一个可选的设计中,所述渲染管线配置界面中显示有配置控件,每个所述配置控件用于显示一个所述渲染功能节点,所述配置控件中显示有所述渲染功能节点的标识、所述渲染功能节点的至少一个输入参数、和所述渲染功能节点的至少一个输出参数;所述确定模块702,用于:
响应于针对所述至少一个输入参数的第一连线操作,在所述至少一个输入参数中,确定所述第一连线操作的第一连线的一端连接的目标输入参数;
响应于针对所述至少一个输出参数的第二连线操作,在所述至少一个输出参数中,确定所述第二连线操作的第二连线的一端连接的目标输出参数;
其中,所述目标输入参数和所述目标输出参数的组合用于指示所述渲染功能节点在根据所述目标输入参数的数据确定所述目标输出参数的数据时使用的渲染特性。
在一个可选的设计中,所述显示模块701,用于:
根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染资源节点的生命周期图,和/或,根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染功能节点的运行时序图;
其中,所述生命周期图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染资源节点被调用的时段;所述运行时序图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染功能节点运行的时段。
在一个可选的设计中,如图8所示,所述装置还包括:
获取模块703,用于响应于节点新增操作,获取所述节点新增操作新增的新增节点,所述新增节点包括所述渲染功能节点和/或所述渲染资源节点;
所述显示模块701,用于在所述渲染管线配置界面中显示所述新增节点。
需要说明的是:上述实施例提供的渲染管线的配置装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的渲染管线的配置装置与渲染管线的配置方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请的实施例还提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的渲染管线的配置方法。
示例地,图9是本申请一个示例性实施例提供的计算机设备的结构示意图。
所述计算机设备900包括中央处理单元(Central Processing Unit,CPU)901、包括随机存取存储器(Random Access Memory,RAM)902和只读存储器(Read-Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读存储介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read OnlyMemory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable ProgrammableRead-Only Memory,EEPROM)、闪存或其他固态存储设备、CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元901执行,一个或多个程序包含用于实现上述方法实施例的指令,中央处理单元901执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备900还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中还提供了一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,当该至少一条指令、至少一段程序、代码集或指令集由计算机设备的处理器加载并执行时,实现上述各方法实施例提供的渲染管线的配置方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的渲染管线的配置方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的可读存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种渲染管线的配置方法,其特征在于,所述方法包括:
显示渲染管线配置界面,所述渲染管线配置界面中显示有多个待配置节点,所述多个待配置节点包括渲染功能节点和渲染资源节点;
响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,所述多个已选择节点包括所述渲染功能节点和/或所述渲染资源节点;
其中,所述渲染功能节点用于对渲染资源数据按照所述渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,所述渲染资源节点用于存储所述渲染资源数据。
2.根据权利要求1所述的方法,其特征在于,所述响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,包括:
响应于连线操作,根据所述连线操作在所述多个待配置节点中连接的所述多个已选择节点,以及所述连线操作在连接所述多个已选择节点的顺序,确定所述渲染管线的配置;
其中,所述连接操作连接所述多个已选择节点的顺序用于指示所述多个已选择节点的所述节点顺序。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述连线操作连接的所述多个已选择节点,以及连接所述多个已选择节点的顺序,显示所述多个已选择节点的有向无环图。
4.根据权利要求2所述的方法,其特征在于,所述渲染管线配置界面中显示有配置控件,每个所述配置控件用于显示一个所述渲染功能节点,所述配置控件中显示有所述渲染功能节点的标识、所述渲染功能节点的至少一个输入参数、和所述渲染功能节点的至少一个输出参数;所述方法还包括:
响应于针对所述至少一个输入参数的第一连线操作,在所述至少一个输入参数中,确定所述第一连线操作的第一连线的一端连接的目标输入参数;
响应于针对所述至少一个输出参数的第二连线操作,在所述至少一个输出参数中,确定所述第二连线操作的第二连线的一端连接的目标输出参数;
其中,所述目标输入参数和所述目标输出参数的组合用于指示所述渲染功能节点在根据所述目标输入参数的数据确定所述目标输出参数的数据时使用的渲染特性。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染资源节点的生命周期图,和/或,根据所述渲染管线的配置,显示所述多个已选择节点中的所述渲染功能节点的运行时序图;
其中,所述生命周期图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染资源节点被调用的时段;所述运行时序图用于反映在通过所述渲染管线执行渲染任务的过程中,所述多个已选择节点中各个所述渲染功能节点运行的时段。
6.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
响应于节点新增操作,获取所述节点新增操作新增的新增节点,所述新增节点包括所述渲染功能节点和/或所述渲染资源节点;
在所述渲染管线配置界面中显示所述新增节点。
7.一种渲染管线的配置装置,其特征在于,所述装置包括:
显示模块,用于显示渲染管线配置界面,所述渲染管线配置界面中显示有多个待配置节点,所述多个待配置节点包括渲染功能节点和渲染资源节点;
确定模块,用于响应于配置操作,根据所述配置操作在所述多个待配置节点中选择的多个已选择节点,以及对所述多个已选择节点配置的节点顺序,确定所述渲染管线的配置,所述多个已选择节点包括所述渲染功能节点和/或所述渲染资源节点;
其中,所述渲染功能节点用于对渲染资源数据按照所述渲染功能节点提供的渲染特性进行处理,以得到输出的渲染资源数据,所述渲染资源节点用于存储所述渲染资源数据。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6任一所述的渲染管线的配置方法。
9.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至6任一所述的渲染管线的配置方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至6任一所述的渲染管线的配置方法。
CN202310096959.9A 2023-01-18 2023-01-18 渲染管线的配置方法、装置、设备及存储介质 Pending CN116071217A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310096959.9A CN116071217A (zh) 2023-01-18 2023-01-18 渲染管线的配置方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310096959.9A CN116071217A (zh) 2023-01-18 2023-01-18 渲染管线的配置方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116071217A true CN116071217A (zh) 2023-05-05

Family

ID=86179864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310096959.9A Pending CN116071217A (zh) 2023-01-18 2023-01-18 渲染管线的配置方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116071217A (zh)

Similar Documents

Publication Publication Date Title
CN106575228B (zh) 图形处理中的渲染目标命令重新排序
EP2939208B1 (en) Sprite graphics rendering system
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
KR101231291B1 (ko) 자원 결합 방법 및 그를 위한 컴퓨터 판독가능 매체 및 애플리케이션 프로그래밍 인터페이스와, 종속성 트리 재구성 방법
KR101286318B1 (ko) 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
US9305403B2 (en) Creation of a playable scene with an authoring system
CN105912234B (zh) 虚拟场景的交互方法和装置
CN110969685A (zh) 使用渲染图的可定制渲染管线
KR101609079B1 (ko) 그래픽 프로세싱 유닛에서의 명령 선별
JP2005322224A (ja) 拡張グラフィックスパイプラインを提供するシステムおよび方法
CN103247064B (zh) 一种三维动态图形的生成方法、装置和移动终端
CN105183566B (zh) 3d游戏渲染引擎的资源管理方法
US20150235339A1 (en) Hybrid engine for central processing unit and graphics processor
CN114494024B (zh) 图像渲染方法、装置、设备及存储介质
CN110047120A (zh) 一种动画展示方法及装置
Davison Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs
CN111402369A (zh) 互动广告的处理方法、装置、终端设备及存储介质
CN116071217A (zh) 渲染管线的配置方法、装置、设备及存储介质
CN115167940A (zh) 3d文件加载方法及装置
CN114943795A (zh) 模型的渲染方法、装置、电子设备及存储介质
CN116777731A (zh) 软光栅化的方法、装置、设备、介质及程序产品
CN113192173A (zh) 三维场景的图像处理方法、装置及电子设备
JP6196265B2 (ja) プログラム、情報処理装置及び制御方法
Álvarez et al. EZ3. js: A robust and flexible WebGL-based 3D engine
CN115170707B (zh) 基于应用程序框架的3d图像实现系统及方法

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