本申请涉及计算机,特别涉及一种基于实例化技术的对象渲染方法及装置、计算设备和计算机可读存储介质。
背景技术:
1、现有的三维渲染技术中,和批处理(batching)是一种常见的渲染优化技术,其中batching又包括了static batching(静态合批)、dynamic batching(动态合批)。现有技术中通常使用动态合批技术,但是它的缺点是会带来而额外的cpu消耗、且同一批次处理的顶点属性需要小于900个(如果使用了顶点坐标、法线,uv、切线等,这个数量会更小)、在每一帧进行网格合并还导致了额外的内存开销等等,针对较复杂的模型和表现细节较多的三维场景中,动态合批技术并不适用,因此亟需一种方法来解决较复杂模型和场景下的渲染优化问题。
技术实现思路
1、有鉴于此,本申请实施例提供了一种基于实例化技术的对象渲染方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
2、根据本申请实施例的第一方面,提供了一种基于实例化技术的对象渲染方法,包括:
3、构建渲染模型以及该渲染模型的多个纹理贴图和uv贴图;
4、为所述模型的渲染组件添加脚本,在所述脚本中对模型实例的材质属性进行动态设置;
5、根据所述模型生成多个模型实例,在着色器中根据每个模型实例的材质属性进行模型实例的渲染。
6、根据本申请实施例的第二方面,提供了一种基于实例化技术的对象渲染装置,包括:
7、构建单元,用于构建渲染模型以及该渲染模型的多个纹理贴图和uv贴图;
8、脚本单元,用于为所述模型的渲染组件添加脚本,在所述脚本中对模型实例的材质属性进行动态设置;
9、渲染单元,用于根据所述模型生成多个模型实例,在着色器中根据每个模型实例的材质属性进行模型实例的渲染。
10、根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述基于实例化技术的对象渲染方法的步骤。
11、根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述基于实例化技术的对象渲染方法的步骤。
12、本申请实施例中,为了实现基于同一卡牌模型的多个卡牌实例的合批渲染,在制作模型时为模型制作多套贴图和对应的uv贴图,进一步的在同一个材质球中将具有类似属性的纹理贴图或其他类型的贴图进行合并;在对模型的实例进行渲染时,通过建立模型的脚本对不同模型实例的材质属性进行动态设置,通过uv的偏移值在合并贴图中进行定位,从而符合了gpu实例化渲染的要求,进而实现了通过同一个模型完成多个不同实例的合批渲染。
1.一种基于实例化技术的对象渲染方法,其特征在于,包括:
2.根据权利要求1所述的方法,其中,所述构建渲染模型以及该渲染模型的多个纹理贴图和uv贴图包括:
3.根据权利要求1所述的方法,其中,该方法还包括:
4.根据权利要求1所述的方法,其中,在所述脚本中对模型实例的材质属性进行动态设置包括:
5.根据权利要求4所述的方法,其中,在所述脚本中对模型实例的材质属性进行动态设置包括还包括:
6.根据权利要求1所述的方法,其中,在着色器中根据每个模型实例的材质属性进行模型实例的渲染包括:
7.根据权利要求2所述的方法,其中,所述模型为卡牌模型,所述合并后纹理贴图包括但不限于牌面-牌背贴图、牌号-牌花贴图以及其他特效贴图。
8.一种基于实例化技术的对象渲染装置,其特征在于,包括:
9.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-7任意一项所述方法的步骤。