材质渲染方法、装置、电子设备和计算机可读存储介质制造方法及图纸

技术编号:37532104 阅读:36 留言:0更新日期:2023-05-12 15:59
本发明专利技术提供了一种材质渲染方法、装置、电子设备和计算机可读存储介质;其中,该方法包括:对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,并对第一着色器文件进行编译,得到第二着色器文件;基于目标操作系统的着色器语法标准,对第二着色器文件进行的反编译,得到目标操作系统对应的第三着色器文件;对目标操作系统对应的第三着色器文件进行目标变量的宏信息还原,得到目标操作系统对应的目标着色器文件,并基于目标着色器文件进行目标操作系统的材质渲染。器文件进行目标操作系统的材质渲染。器文件进行目标操作系统的材质渲染。

【技术实现步骤摘要】
材质渲染方法、装置、电子设备和计算机可读存储介质


[0001]本专利技术涉及文件渲染
,尤其是涉及一种材质渲染方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]在材质渲染过程中,着色器(shader)是用于图像渲染的重要程序,不同的终端操作系统(如iOS、Android、Windows)通常对着色器的编写有不同的规范要求,而为了使材质渲染在不同操作系统中正常运行,需要使着色器符合不同终端操作系统的规范。
[0003]现有技术对着色器进行不同操作系统的适配,通常针对不同操作系统的编写规范编写不同的着色器,或者自定义一个统一的语法标准约束着色器的编写,再通过自定义语法标准的翻译工具,将编写好的着色器翻译成不同操作系统的适配文件。这些方式不仅增加了着色器的开发难度,还难以渲染复杂的材质,可见,现有的材质渲染技术难以适配不同的操作系统。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种材质渲染方法、装置、电子设备和计算机可读存储介质,以降低不同操作系统的材质渲染难度。
[0005]第一方面,本专利技术实施例提供了一种材质渲染方法,方法包括:对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,并对所述第一着色器文件进行编译,得到第二着色器文件;基于目标操作系统的着色器语法标准,对所述第二着色器文件进行的反编译,得到目标操作系统对应的第三着色器文件;对所述目标操作系统对应的第三着色器文件进行所述目标变量的宏信息还原,得到所述目标操作系统对应的目标着色器文件,并基于所述目标着色器文件进行所述目标操作系统的材质渲染。
[0006]第二方面,本专利技术实施例提供了一种材质渲染装置,装置包括:转换模块,用于对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,并对所述第一着色器文件进行编译,得到第二着色器文件;反编译模块,用于基于目标操作系统的着色器语法标准,对所述第二着色器文件进行的反编译,得到目标操作系统对应的第三着色器文件;还原模块,用于对所述目标操作系统对应的第三着色器文件进行所述目标变量的宏信息还原,得到所述目标操作系统对应的目标着色器文件,并基于所述目标着色器文件进行所述目标操作系统的材质渲染。
[0007]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述材质渲染方法。
[0008]第四方面,本专利技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述材质渲染方法。
[0009]本专利技术实施例带来了以下有益效果:
[0010]上述材质渲染方法、装置、电子设备和计算机可读存储介质,为了降低不同操作系统适配着色器的难度,在材质渲染过程中,将原始着色器文件中的宏转换为目标变量,并对转换后的着色器文件进行编译,再基于编译后的着色器文件进行适配目标操作系统语法的反编译,从而得到语法适配的着色器文件,最后将该文件中的宏还原,得到用于材质渲染的目标着色器文件,即可进行材质渲染,使得原始着色器文件的编写无需考虑不同操作系统的标准,降低不同操作系统的着色器开发难度和材质渲染难度。
[0011]本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0012]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0013]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本专利技术实施例中材质渲染方法的一个实施例流程图;
[0015]图2为本专利技术实施例中材质渲染方法的另一个实施例流程图;
[0016]图3为本专利技术实施例提供的一种材质渲染装置的示意图;
[0017]图4为本专利技术实施例提供的一种电子设备的示意图。
具体实施方式
[0018]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0020]需要说明的是,着色器文件是用于图像渲染的文件,是在图形渲染管线中,将输入转化为输出的可运行文件。根据着色器的功能,可以将着色器文件分为顶点着色器(vertex shader)文件和片段着色器(pixel shader)文件,在一种实施方式中,顶点着色器文件用于将输入的顶点属性转化为图形渲染管线中下一部分所需的数据,片段着色器文件用于将输
入的数据转换为显示器上的像素,具体此处不做限定。在一种实施方式中,本专利技术实施例中的着色器文件包括但不限于顶点着色器文件和片段着色器文件。
[0021]可以理解的是,着色器文件中至少包括版本声明、输入变量、输出变量、uniform和main函数,其中,main函数是着色器文件的入口,在main函数中对输入变量进行处理,并将处理结果输出到输出变量中。uniform是一种从CPU(central processing unit,中央处理器)中的应用向GPU(graphics processing unit,图形处理器)中的着色器发送数据的方式,通过uniform变量声明实现CPU向GPU的数据发送。
[0022]需要说明的是,宏信息是指定义宏的命令文本,其中,定义宏又称宏定义、宏代换、宏替换等,简称“宏”。定义宏的命令用于将宏名称指定为任意文本,例如一个常量值、一条语句或一系列语句等,具体此处不做限定。在着色器文件中,通过引用定义宏,可以将引用处的宏名称替换为该定义宏中的指定文本。例如,一条定义宏的命令文本为“#define A 100”,着色器文件中该定义宏的一处引用为“print本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种材质渲染方法,其特征在于,所述方法包括:对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,并对所述第一着色器文件进行编译,得到第二着色器文件;基于目标操作系统的着色器语法标准,对所述第二着色器文件进行的反编译,得到目标操作系统对应的第三着色器文件;对所述目标操作系统对应的第三着色器文件进行所述目标变量的宏信息还原,得到所述目标操作系统对应的目标着色器文件,并基于所述目标着色器文件进行所述目标操作系统的材质渲染。2.根据权利要求1所述的方法,其特征在于,所述对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,包括:获取原始着色器文件和渲染引擎文件,并通过预设的语法生成器对所述原始着色器文件和所述渲染引擎文件进行语法树生成,得到目标语法树;根据所述目标语法树,确定目标材质配置信息和所述原始着色器文件中的目标宏信息,所述目标材质配置信息包括所述原始着色器文件的材质配置信息;剔除所述原始着色器文件中的材质配置信息,得到无材质配置着色器文件;对所述无材质配置着色器文件中的目标宏信息进行目标变量转换,得到第一着色器文件。3.根据权利要求2所述的方法,其特征在于,在所述对所述无材质配置着色器文件中的目标宏信息进行目标变量转换,得到第一着色器文件之后,还包括:根据所述目标材质配置信息,生成目标材质文件;所述基于所述目标着色器文件进行所述目标操作系统的材质渲染,包括:基于所述目标着色器文件和所述目标材质文件,进行所述目标操作系统的材质渲染。4.根据权利要求3所述的方法,其特征在于,所述目标材质配置信息包括至少一个材质配置子信息,所述根据所述目标材质配置信息,生成目标材质文件,包括:判断所述原始着色器文件中的目标宏信息是否包含至少一个材质配置子信息的条件分支信息;若所述原始着色器文件中的目标宏信息包含至少一个材质配置子信息的条件分支信息,则确定所述目标材质配置信息中包含所述条件分支信息的至少一个目标材质配置子信息,并对每个所述材质配置子信息进行对应条件分支信息的添加,得到至少一个有条件材质配置信息;结合所有所述有条件材质配置信息和无条件材质配置信息,得到目标材质文件,所述无条件材质配置信息用于指示所述目标材质配置信息中除所述目标材质配置子信息之外的其它材质配置子信息。5.根据权利要求1所述的方法,其特征在于,在所述对原始着色器文件中的目标宏信息进行目标变量的转换,得到第一着色器文件,并对所述第一着色器文件进行编译,得到第二着色器文件之前,所述方法还包括:确定原始着色器文件中的宏定义信息,并在所述原始着色器文件中搜索所述宏定义信息的引用,得到搜索结果,所述搜索结果用于指示所述原始着色...

【专利技术属性】
技术研发人员:顾亦维
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1