图像渲染方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27418510 阅读:10 留言:0更新日期:2021-02-21 14:35
本申请涉及一种图像渲染方法、装置、计算机设备和存储介质。所述方法包括:在获取到应用程序触发的渲染指令后,则从渲染引擎中的针对不同类型的图形接口预先编译的着色器中,调用与应用程序的图形接口对应的目标着色器;预先编译的着色器,是对渲染引擎的原始着色器进行编译生成的;根据渲染指令获取与渲染目标对应的场景数据,将场景数据写入缓存块;基于目标着色器,在缓存块中将与渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道;在同一渲染通道中对缓存块中的所述场景数据进行图像渲染处理,以在缓存块中得到图像渲染结果。采用本方法能够有效减少图像渲染处理过程中的带宽消耗,同时有效提高了图像渲染处理的效率。效率。效率。

【技术实现步骤摘要】
图像渲染方法、装置、计算机设备和存储介质


[0001]本申请涉及图像处理
,特别是涉及一种图像渲染方法、装置、计算机设备和存储介质。

技术介绍

[0002]渲染是三维计算机图形学中的重要研究课题之一,在图形处理流水线中,渲染是最后一项重要步骤,通过它得到模型与动画最终显示效果。随着计算机图形的不断复杂化,渲染也越来越成为一项重要的技术,被广泛应用于计算机与视频游戏、模拟、影视特效以及可视化设计等场景中。目前出现了各种不同的渲染工具,可以用于集成到更大的建模或者动画包中。
[0003]目前的渲染方式通常是通过指定的图形接口和着色器,采用固定的渲染管线进行渲染处理。通常在调用图形接口进行渲染处理的过程中,需要消耗大量资源以及消耗较多时间,对于在较低配置的终端设备上的运行效率较低。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够有效减少资源消耗并有效提高渲染效率的图像渲染方法、装置、计算机设备和存储介质。
[0005]一种图像渲染方法,所述方法包括:
[0006]在获取到应用程序触发的渲染指令后,则
[0007]从渲染引擎中的针对不同类型的图形接口预先编译的着色器中,调用与所述应用程序的图形接口对应的目标着色器;所述预先编译的着色器,是对所述渲染引擎的原始着色器进行编译生成的;
[0008]根据所述渲染指令获取与渲染目标对应的场景数据,将所述场景数据写入缓存块;
[0009]基于所述目标着色器,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道;
[0010]在所述同一渲染通道中对所述缓存块中的所述场景数据进行图像渲染处理,以在所述缓存块中得到图像渲染结果。
[0011]一种图像渲染装置,所述装置包括:
[0012]目标着色器调用模块,用于在获取到应用程序触发的渲染指令后,则从渲染引擎中的针对不同类型的图形接口预先编译的着色器中,调用与所述应用程序的图形接口对应的目标着色器;所述预先编译的着色器,是对所述渲染引擎的原始着色器进行编译生成的;
[0013]数据获取模块,用于根据所述渲染指令获取与渲染目标对应的场景数据,将所述场景数据写入缓存块;
[0014]渲染处理模块,用于基于所述目标着色器,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道;在所述同一渲染通道中对所述缓存块中的
所述场景数据进行图像渲染处理,以在所述缓存块中得到图像渲染结果。
[0015]在一个实施例中,上述图像渲染装装置还包括着色器编译模块,用于在所述渲染引擎的原始着色器中,分别配置与各类型的图形接口对应的显式描述函数和标记函数,以编译得到与各所述图形接口对应的着色器;其中,所述显式描述函数用于添加各所述渲染通道的描述信息;所述标记函数,用于标记合并后的渲染通道的起始渲染标识和结尾渲染标识。
[0016]在一个实施例中,着色器编译模块还用于在所述渲染引擎的原始着色器中,针对每个类型的图形接口,分别配置与不同类型的图形处理器对应的显式描述函数和标记函数,以编译得到与各类型的所述图形接口对应的着色器。
[0017]在一个实施例中,所述目标着色器调用模块还用于当所述应用程序启动运行时,运行所述应用程序中的渲染引擎;所述渲染引擎的渲染硬件接口层中包括不同类型的图形接口;根据所述应用程序的运行平台类型,从所述不同类型的图形接口中,确定所述应用程序中与所述运行平台类型相对应的类型的图形接口。
[0018]在一个实施例中,目标着色器中包括与不同类型的图形处理器对应的显式描述函数和标记函数;所述目标着色器调用模块还用于通过图形处理器,从所述目标着色器中调用与所述图形处理器的类型对应的显式描述函数和标记函数;通过所述目标着色器,根据所述显式描述函数和标记函数,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道,以进行图像渲染处理。
[0019]在一个实施例中,所述渲染处理模块还用于通过所述目标着色器,根据所述显式描述函数获取各所述渲染通道对应的描述信息;根据各所述渲染通道对应的描述信息,确定各所述渲染通道对应的渲染目标,以及各所述渲染通道之间的依赖关系;根据所述标记函数,在缓存块中将与同一渲染目标对应的具有依赖关系的各所述渲染通道,合并为与所述渲染目标对应的同一渲染通道。
[0020]在一个实施例中,每个像素对应的场景数据存储于一个缓存块中;所述渲染处理模块还用于分别调用与每个像素对应的线程,且并行地执行调用的各所述线程,以通过所述目标着色器和所述场景数据对合并后的渲染通道进行图像渲染处理。
[0021]在一个实施例中,所述渲染处理模块还用于对与所述渲染目标对应的具有依赖关系的各所述渲染通道,标记各所述渲染通道对应的起始渲染标识和结尾渲染标识;
[0022]通过所述目标着色器根据所述缓存块中的所述场景数据,对合并后的渲染通道进行图像渲染处理,并将所述起始渲染标识和所述结尾渲染标识之间的各所述渲染通道得到的中间结果,分别写入所述缓存块中,以在所述缓存块中得到最终的图像渲染结果。
[0023]在一个实施例中,所述渲染处理模块还用于通过所述目标着色器根据当前一个缓存块中的所述场景数据,对合并后的渲染通道进行图像渲染处理,并将得到的中间结果存储至缓存块中的相应位置;当根据当前一个缓存块中的场景数据,对合并后的渲染通道进行图像渲染处理完成后,将下一个缓存块作为当前一个缓存块,并重复通过所述目标着色器根据当前一个缓存块中的场景数据,对合并后的渲染通道进行图像渲染处理的步骤。
[0024]在一个实施例中,所述渲染处理模块还用于获取各所述渲染通道得到的中间结果;将每一个像素对应的中间结果,分别写入对应的一个缓存块中;各所述像素对应的中间结果的字节占用量,不超过各所述缓存块的内存容量。
[0025]在一个实施例中,所述渲染通道包括纹理采样通道和光照着色通道;所述渲染处理模块还用于通过所述目标着色器,根据所述缓存块中的所述场景数据,对所述纹理渲染通道进行图像渲染处理,并将所述纹理渲染通道的纹理结果数据写入所述缓存块中;通过所述目标着色器,根据所述缓存块中的所述纹理结果数据,对所述光照着色通道进行图像渲染处理,并将所述光照着色通道的着色结果数据写入所述缓存块中。
[0026]在一个实施例中,所述渲染处理模块还用于从所述缓存块中各像素对应的像素位置,读取各像素对应的纹理结果数据;所述纹理结果数据包括各像素对应的材质属性;根据各像素对应的材质属性,获取与所述材质属性匹配的光照模型;通过所述目标着色器在屏幕空间内,根据各像素对应的光照模型和各所述纹理结果数据,对各像素对应的光照着色通道进行图像渲染处理。
[0027]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0028]在获取到应用程序触发的渲染指令后,则
[0029]从渲染引擎中的针对不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像渲染方法,其特征在于,所述方法包括:在获取到应用程序触发的渲染指令后,则从渲染引擎中的针对不同类型的图形接口预先编译的着色器中,调用与所述应用程序的图形接口对应的目标着色器;所述预先编译的着色器,是对所述渲染引擎的原始着色器进行编译生成的;根据所述渲染指令获取与渲染目标对应的场景数据,将所述场景数据写入缓存块;基于所述目标着色器,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道;在所述同一渲染通道中对所述缓存块中的所述场景数据进行图像渲染处理,以在所述缓存块中得到图像渲染结果。2.根据权利要求1所述的方法,其特征在于,在所述从渲染引擎中的针对不同类型的图形接口预先编译的着色器中,调用与所述应用程序的图形接口对应的目标着色器之前,还包括:在所述渲染引擎的原始着色器中,分别配置与各类型的图形接口对应的显式描述函数和标记函数,以编译得到与各所述图形接口对应的着色器;其中,所述显式描述函数用于添加各所述渲染通道的描述信息;所述标记函数,用于标记合并后的渲染通道的起始渲染标识和结尾渲染标识。3.根据权利要求2所述的方法,其特征在于,所述在所述渲染引擎的原始着色器中,分别配置与各类型的图形接口对应的显式描述函数和标记函数,以编译得到与各所述图形接口对应的着色器,包括:在所述渲染引擎的原始着色器中,针对每个类型的图形接口,分别配置与不同类型的图形处理器对应的显式描述函数和标记函数,以编译得到与各类型的所述图形接口对应的着色器。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述应用程序启动运行时,运行所述应用程序中的渲染引擎;所述渲染引擎的渲染硬件接口层中包括不同类型的图形接口;根据所述应用程序的运行平台类型,从所述不同类型的图形接口中,确定所述应用程序中与所述运行平台类型相对应的类型的图形接口。5.根据权利要求1所述的方法,其特征在于,所述目标着色器中包括与不同类型的图形处理器对应的显式描述函数和标记函数;所述基于所述目标着色器,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道,包括:通过图形处理器,从所述目标着色器中调用与所述图形处理器的类型对应的显式描述函数和标记函数;通过所述目标着色器,根据所述显式描述函数和所述标记函数,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道。6.根据权利要求5所述的方法,其特征在于,所述通过所述目标着色器,根据所述显式描述函数和所述标记函数,在缓存块中将与所述渲染目标对应的具有依赖关系的渲染通道合并为同一渲染通道,包括:通过所述目标着色器,根据所述显式描述函数获取各所述渲染通道对应的描述信息;
根据各所述渲染通道对应的描述信息,确定各所述渲染通道对应的渲染目标,以及各所述渲染通道之间的依赖关系;根据所述标记函数,在缓存块中将与同一渲染目标对应的具有依赖关系的各所述渲染通道,合并为与所述渲染目标对应的同一渲染通道。7.根据权利要求1所述的方法,其特征在于,每个像素对应的场景数据存储于一个缓存块中;所述在所述同一渲染通道中对所述缓存块中的所述场景数据进行图像渲染处理,以在所述缓存块中得到图像渲染结果,包括:分别调用与每个像素对应的线程,且并行地执行调用的各所述线程,以通过所述目标着色器和所述场景数据对合并后的渲染通道进行图像渲染处理。8.根据权利要求1所述的方法,其特征在于,所述在所述同一渲染通道中对所述缓存块中的所述场景...

【专利技术属性】
技术研发人员:徐礼铭
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利