掌桥专利:专业的专利平台
掌桥专利
首页

针对Maya模型文件的渲染方法及系统

文献发布时间:2024-01-17 01:21:27


针对Maya模型文件的渲染方法及系统

技术领域

本发明涉及国产超算领域、计算机图形处理技术领域,具体地说,尤其涉及一种使用国产超算平台对Maya模型文件进行渲染的方法及系统。

背景技术

超级计算机是衡量一个国家科技发展水平和综合国力的重要标志,其具有功能强,运算速度快,存储容量大的特点,支持大型复杂应用课题的计算,多用于国家高科技领域和尖端技术研究。本发明基于新一代神威超算平台,搭载神威26010P处理器,该处理器使用64位自主申威指令集,采用主-从核架构,如图1所示,图1为SW26010异构众核处理器架构图,SW26010P处理器具有6CG与390个核心,每个CG包含一个MPE,一个8x8的CPE集群,和一个内存控制器(MC)。CG通过片上网络与其他设备通信,并可通过系统接口与外部设备连接。

三维动态渲染过程中涉及到光路径追踪算法,其中又包含一系列子算法,如bvh碰撞检测算法、光源相交算法、体积积分算法、着色器算法、光线传播算法等,各算法复杂,计算时间长,适合使用国产超算平台的从核计算资源进行算法加速,缩短整个模型的渲染时长。

随着三维图形渲染技术在建筑虚拟、城市规划、场景漫游、效果场景制作、房地产开发、虚拟教育、展馆展示、古迹复原、交通线路设计、3D游戏等下游实际应用的发展,渲染与仿真也已经成为了一个巨大的产业,并逐渐形成了以软硬件制造为上游,研发设计类软件为中游,各种具体应用为下游的完整产业链,其中,三维模型动态渲染软件在产业链中游占据了重要的位置,为降低使用者的学习和操作成本发挥了重要的作用。

在3D建模软件中,Maya使用率相对较高,但是在使用超级计算机进行渲染时,由于超级计算机无法直接读取maya模型文件,需要将maya模型数据转换为超级计算机的cycles渲染器可读的格式,再提交渲染,从而造成渲染效率低。

因此,经过发明人潜心研究,开发了一种克服上述缺陷的针对Maya模型文件的渲染方法及系统。

发明内容

针对上述问题,本发明提供一种针对Maya模型文件的渲染方法,其中,包括:

模型构建步骤:将国产超算平台的cycles渲染器与PC端预存的Maya软件进行关联后,通过所述Maya软件构建模型获得Maya模型数据;

XML文件获取步骤:采集所述Maya模型数据的多个信息并对应地写入已构建的初始XML文件的多个节点中获得最终XML文件;

渲染步骤:将所述最终XML文件导入到国产超算平台下的cycles渲染器进行加速渲染。

上述的渲染方法,其中,所述模型构建步骤包括:将所述cycles渲染器在所述Maya软件中进行注册后,通过所述Maya软件构建所述模型获得所述Maya模型数据。

上述的渲染方法,其中,所述XML文件获取步骤包括:

设置项写入步骤:读取所述Maya软件中所述cycles渲染器下的全局设置项信息,将所述全局设置项信息中有更改的设置项写入所述初始XML文件的节点中;

场景信息写入步骤:获取所述Maya模型数据的场景信息并将其写入所述初始XML文件的节点中;

连接关系写入步骤:将所述场景信息的节点连接关系写入所述初始XML文件的节点中获得所述最终XML文件。

上述的渲染方法,其中,所述设置项写入步骤包括:

读取所述Maya软件中所述cycles渲染器下的全局设置项信息,判断全局设置项信息是否有更改,将有更改的设置项写入所述初始XML文件的节点中,其中,设置项包含积分器设置项、背景设置项、曝光设置项及其他渲染项设置项,读取积分器设置项、背景设置项、曝光设置项及其他渲染项设置项并将其依次写入所述初始XML文件中的integrator节点、background节点、film节点及render节点中。

上述的渲染方法,其中,所述场景信息写入步骤包括:

获取场景中可渲染的照相机信息,将所述照相机信息写入所述初始XML文件的transform节点中,将所述照相机信息的变换矩阵写入所述transform节点的matrix属性下,将所述照相机信息的其他属性值写到所述transform节点的camera子节点中;

获取场景中使用的灯光信息,将所述灯光信息的变换矩阵写入所述transform节点的matrix属性下,将所述灯光信息的其他属性值写到所述transform节点的light子节点中;

获取场景中使用的几何体信息,将所述几何体信息的变换矩阵转换成所述cycles渲染器的坐标系统下的变换矩阵写入所述transform节点的matrix属性下,将所述几何体信息的着色器名称写入到所述transform节点的state子节点中;

获取场景中使用的着色器信息,将所述着色器信息中的每个着色器写入到所述初始XML文件的shader节点中。

上述的渲染方法,其中,所述连接关系写入步骤包括:

将所述着色器信息的着色器类型作为子节点,获取所述子节点的属性值写入所述子节点中,同时将所述子节点的连接关系写入所述shader节点的connect子节点中。

上述的渲染方法,其中,还包括:

预渲染步骤:通过所述cycles渲染器在所述PC端上对所述最终XML文件进行预渲染,获得初始渲染结果。

上述的渲染方法,其中,所述渲染步骤还包括:对所述初始渲染结果进行判断,若所述初始渲染结果满足要求时将所述最终XML文件导入到所述国产超算平台下的cycles渲染器进行加速渲染。

本发明还提供一种针对Maya模型文件的渲染系统,其中,包括:

国产超算平台,包括:cycles渲染器;

PC端,包括:Maya单元及及XML文件转换单元,所述XML文件转换单元包括:Renderer模块及RenderIO模块,通过所述Renderer模块将所述Maya单元的Maya软件与所述cycles渲染器进行关联,通过所述Maya单元构建模型获得Maya模型数据,通过所述RenderIO模块采集所述Maya模型数据的多个信息并对应地写入已构建的初始XML文件的多个节点中获得最终XML文件,通过所述国产超算平台的所述cycles渲染器对所述最终XML文进行加速渲染。

上述的渲染系统,其中,所述XML文件转换单元还包括:

RenderSetting模块,通过所述RenderSetting模块进行渲染时的全局设置、照相机设置及灯光设置;

RenderUI模块,通过所述RenderUI模块在所述PC端上显示对所述最终XML文件进行预渲染获得的初始渲染结果;

Material模块,通过所述Material模块在进行渲染时生成不同的材质。

本发明相对于现有技术其功效在于:通过本发明将Maya模型数据转换为国产超算平台上cycles渲染器可读的XML格式,解决了国产神威平台无法直接渲染Maya模型文件的问题,同时,还提供了多种设置及材质选项,使用户可以根据自己的需求进行灵活的调整和渲染,提高了渲染效率和质量。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1SW26010异构众核处理器架构图;

图2为本发明的渲染方法的流程图;

图3为图2中步骤S2的分步骤流程图;

图4为本发明的渲染系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、“S1”、“S2”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。

请参照图2,图2为本发明的渲染方法的流程图。如图2所示,本发明的一种针对Maya模型文件的渲染方法,包括:

模型构建步骤S1:将国产超算平台的cycles渲染器与PC端预存的Maya软件进行关联后,通过所述Maya软件构建模型获得Maya模型数据;其中,在模型构建步骤S1中,将所述cycles渲染器在所述Maya软件中进行注册后,通过所述Maya软件构建所述模型获得所述Maya模型数据。

XML文件获取步骤S2:采集所述Maya模型数据的多个信息并对应地写入已构建的初始XML文件的多个节点中获得最终XML文件;

渲染步骤S4:将所述最终XML文件导入到国产超算平台下的cycles渲染器进行加速渲染。

请参照图3,图3为图2中步骤S2的分步骤流程图。如图3所示,所述XML文件获取步骤S2包括:

设置项写入步骤S21:读取所述Maya软件中所述cycles渲染器下的全局设置项信息,将所述全局设置项信息中有更改的设置项写入所述初始XML文件的节点中;

具体地说,在设置项写入步骤S21中,读取所述Maya软件中所述cycles渲染器下的全局设置项信息,判断全局设置项信息是否有更改,将有更改的设置项写入所述初始XML文件的节点中,其中,设置项包含积分器设置项、背景设置项、曝光设置项及其他渲染项设置项,读取积分器设置项、背景设置项、曝光设置项及其他渲染项设置项并将其依次写入所述初始XML文件中的integrator节点、background节点、film节点及render节点中。

场景信息写入步骤S22:获取所述Maya模型数据的场景信息并将其写入所述初始XML文件的节点中;

具体地说,在场景信息写入步骤S22中包括:

获取场景中可渲染的照相机信息,将所述照相机信息写入所述初始XML文件的transform节点中,将所述照相机信息的变换矩阵写入所述transform节点的matrix属性下,将所述照相机信息的其他属性值写到所述transform节点的camera子节点中;

获取场景中使用的灯光信息,将所述灯光信息的变换矩阵写入所述transform节点的matrix属性下,将所述灯光信息的其他属性值写到所述transform节点的light子节点中;

获取场景中使用的几何体信息,将所述几何体信息的变换矩阵转换成所述cycles渲染器的坐标系统下的变换矩阵写入所述transform节点的matrix属性下,将所述几何体信息的着色器名称写入到所述transform节点的state子节点中;

获取场景中使用的着色器信息,将所述着色器信息中的每个着色器写入到所述初始XML文件的shader节点中。

连接关系写入步骤S23:将所述场景信息的节点连接关系写入所述初始XML文件的节点中获得所述最终XML文件;

具体地说,在所述连接关系写入步骤中,将所述着色器信息的着色器类型作为子节点,获取所述子节点的属性值对应地写入所述子节点中,同时将所述子节点的连接关系写入所述shader节点的connect子节点中,其中,在本实施例中,将所述子节点的连接关系写入connect子节点的from和to中。

再请参照图2,在本实施例中,本发明的渲染方法,还包括:

预渲染步骤S3:通过所述cycles渲染器在所述PC端上对所述最终XML文件进行预渲染,获得初始渲染结果;其中在获得所述初始渲染结果后,所述渲染步骤S4还包括:对所述初始渲染结果进行判断,若所述初始渲染结果满足要求时将所述最终XML文件导入到所述国产超算平台下的cycles渲染器进行加速渲染。

请参照图4,图4为本发明的渲染系统的结构示意图。如图4所示,本发明的一种针对Maya模型文件的渲染系统,包括:国产超算平台1及PC端2,其中国产超算平台1包括:cycles渲染器11;PC端2包括Maya单元21及XML文件转换单元22,XML文件转换单元22包括:Renderer模块221及RenderIO模块222,通过所述Renderer模块221将所述Maya单元21的Maya软件与所述cycles渲染器11进行关联,通过所述Maya单元21预存的Maya软件构建模型获得Maya模型数据,通过所述RenderIO模块222采集所述Maya模型数据的多个信息并对应地写入已构建的初始XML文件的多个节点中获得最终XML文件,通过所述国产超算平台的所述cycles渲染器11对所述最终XML文进行加速渲染。

进一步地,所述XML文件转换单元22还包括:RenderSetting模块223、RenderUI模块224及Material模块225,通过所述RenderSetting模块223进行渲染时的全局设置、照相机设置及灯光设置通过所述RenderUI模块224在所述PC端上显示对所述最终XML文件进行预渲染获得的初始渲染结果;通过所述Material模块225在进行渲染时生成不同的材质。

以下结合具体实施例,说明本发明的渲染系统工作过程如下:

step1:通过所述Renderer模块221将所述Maya单元21的Maya软件与所述cycles渲染器11进行关联后,进行初始化包括:

通过RenderSetting模块223加载cycles渲染器中特有的属性配置,包括灯光及照相机以及加载cycles着色器中特有的属性配置,主要为principled bsdf;

通过RenderSetting模块223在Maya菜单栏创建cycles菜单,菜单下主要包含生成当前帧的XML文件及生成所有帧的XML文件;

通过所述Renderer模块221加载cycles节点及render节点,通过通过RenderSetting模块223加载setting节点,触发cyclesRenderSettingcreator及nodeInitializer处理,声明及定义插件中所使用的属性配置项;

通过所述Material模块225加载预先定义好的cycles材质系统,主要分为surface表面材质及volume体积材质;

通过所述Renderer模块221加载及注册渲染相关的渲染器及渲染命令,包括单帧渲染及全帧渲染命令;

step2:通过所述Maya单元21预存的Maya软件构建模型,可以使用cycles特有的属性配置及材质系统;

step3:在Maya渲染时,选择cycles渲染器,渲染后通过所述RenderUI模块224将渲染结果回显到渲染窗口,同时通过所述RenderIO模块222将模型数据生成为XML文件;

step5:将Maya模型数据的xml文件导入到国产超算平台下的cycles渲染器进行加速渲染。

综上所述,通过本发明将Maya模型数据转换为国产超算平台上cycles渲染器可读的XML格式,解决了国产神威平台无法直接渲染Maya模型文件的问题,同时,还提供了多种设置及材质选项,使用户可以根据自己的需求进行灵活的调整和渲染,提高了渲染效率和质量。

尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于Maya的前台渲染插件及其渲染方法
  • 一种用于Maya的渲染层物体分配方法及系统
技术分类

06120116154214