CN111198680B - 一种基于 Arnold 渲染器的文件生成***及方法 - Google Patents

一种基于 Arnold 渲染器的文件生成***及方法 Download PDF

Info

Publication number
CN111198680B
CN111198680B CN201911328273.8A CN201911328273A CN111198680B CN 111198680 B CN111198680 B CN 111198680B CN 201911328273 A CN201911328273 A CN 201911328273A CN 111198680 B CN111198680 B CN 111198680B
Authority
CN
China
Prior art keywords
file
writing
programming interface
arnold
renderer
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.)
Active
Application number
CN201911328273.8A
Other languages
English (en)
Other versions
CN111198680A (zh
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.)
Jiangsu Yuanli Digital Technology Co ltd
Original Assignee
Jiangsu Yuanli Digital Technology 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 Jiangsu Yuanli Digital Technology Co ltd filed Critical Jiangsu Yuanli Digital Technology Co ltd
Priority to CN201911328273.8A priority Critical patent/CN111198680B/zh
Publication of CN111198680A publication Critical patent/CN111198680A/zh
Application granted granted Critical
Publication of CN111198680B publication Critical patent/CN111198680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于Arnold渲染器的文件生成***,包括Arnold渲染器的编程接口和MaterialX库的程序接口,其特征在于,包括信息获取模块与文件写出模块,信息获取模块与文件写出模块分别依赖于Arnold渲染器的编程接口和MaterialX库的程序接口实现数据的读写;信息获取模块通过Arnold渲染器的编程接口加载动态库,遍历其中所包含的shader节点及其参数,获取相关信息并传递给文件写出模块;文件写出模块将信息获取模块传递的内容按照MaterialX的格式进行整理分类,然后通过对应的写出接口将这些信息写出至Node Definition文件。

Description

一种基于 Arnold 渲染器的文件生成***及方法
技术领域
本发明具体涉及一种基于Arnold渲染器的文件生成***及方法。
背景技术
MaterialX是一种由工业光魔公司提出的通用材质格式文件,旨在提供一个同一接口,实现材质数据在不同三维软件乃至不同渲染器之间的传输。Node definition文件一种特殊的MaterialX文件,用来提供渲染器相关的节点定义信息,由于一般节点数量巨大,手写该文件显然是不现实的,目前市面上没有类似的可以自动生成该文件的***。
发明内容
本发明的目的是提供一种基于Arnold渲染器的文件生成***及方法,解决了自动生成node definition文件的问题,包括应用于第三方开发的渲染节点,节省了手工书写node definition文件的人力成本。
本发明提供了如下的技术方案:
一种基于Arnold渲染器的文件生成***,包括Arnold渲染器的编程接口和MaterialX库的程序接口;
还包括信息获取模块与文件写出模块,所述信息获取模块与所述文件写出模块分别依赖于所述Arnold渲染器的编程接口和所述MaterialX库的程序接口实现数据的读写;
所述信息获取模块通过所述Arnold渲染器的编程接口加载动态库,遍历其中所包含的shader节点及其参数,获取相关信息并传递给所述文件写出模块;所述文件写出模块将所述信息获取模块传递的内容按照MaterialX的格式进行整理分类,然后通过对应的写出接口将这些信息写出至Node Definition文件。
优选的,所述Arnold渲染器的编程接口包括若干与所述Arnold渲染器进行交互的功能,若干所述功能包括数据查询、数据生成和选项设置。
优选的,所述MaterialX库的程序接口用于提供文件读写的功能。
一种基于Arnold渲染器的文件生成方法,包括以下步骤:
S1.通过基于Arnold渲染器的编程接口实现的信息获取模块获取目前有的材质节点,遍历各个节点,通过所述编程接口获取每个节点上各个属性的类型与默认值,并存入本***的数据结构中,并将相关信息传递至所述文件写出模块;
S2.文件写出模块将从Arnold渲染器获取到的数据针对MaterialX文件定义进行数据适配;
S3. 将本***中与MaterialX文件中适配的各部分数据通过MaterialX库的程序接口写出,并保存至MaterialX的格式,,形成node definition文件。
优选的,步骤S2所述的适配包括类型名称对应适配和数据精度调整。
本发明的有益效果是:本***利用Arnold渲染器提供的编程接口,使用类似DCC软件接口的模式制作;通过加载shader动态库并利用接口遍历其中所包含的材质节点,获取必要信息,同时使用MaterialX提供的编程接口将这些信息输出成MaterialX的格式,形成node definition文件;该***具有较好的通用性,可适用于任何第三方开发的材质节点,生成格式统一的node definition文件格式;另外,通过拓展,还可以用本***来生成其他类型Arnold节点信息以用作参考。
具体实施方式
node definition文件生成***,包括Arnold渲染器的编程接口和MaterialX库的程序接口;
还包括信息获取模块与文件写出模块,信息获取模块与文件写出模块分别依赖于Arnold渲染器的编程接口和MaterialX库的程序接口实现数据的读写;
信息获取模块通过Arnold渲染器的编程接口加载动态库,遍历其中所包含的shader节点及其参数,获取相关信息并传递给文件写出模块;该模块可以适用于所有shader节点,包括一些第三方开发的内容,甚至可以拓展针对其他类型节点信息获取的工程,具有较好的通用性与可拓展性;
文件写出模块将信息获取模块传递的内容按照MaterialX的格式进行整理分类,然后通过对应的写出接口将这些信息写出至Node Definition文件,该模块只对写出文件负责,只要信息获取层提供同一格式的内容就可以输出对应文件,这样的设计可以方便之后加入其他渲染器的支持。
具体的,Arnold渲染器的编程接口包括若干与Arnold渲染器进行交互的功能,若干功能包括数据查询、数据生成和选项设置。
具体的,MaterialX库的程序接口用于提供文件读写的功能。
node definition文件生成方法,包括以下步骤:
S1.通过基于Arnold渲染器的编程接口实现的信息获取模块获取目前有的材质节点,遍历各个节点,通过编程接口获取每个节点上各个属性的类型与默认值,并存入本***的数据结构中,并将相关信息传递至文件写出模块;
S2.文件写出模块将从Arnold渲染器获取到的数据针对MaterialX文件定义进行数据适配;
S3. 将本***中与MaterialX文件中适配的各部分数据通过MaterialX库的程序接口写出,并保存至MaterialX的格式,形成node definition文件。
具体的,步骤S2的适配包括类型名称对应适配和数据精度调整。
本***利用Arnold渲染器提供的编程接口,使用类似DCC软件接口的模式制作;通过加载shader动态库并利用接口遍历其中所包含的材质节点,获取必要信息,同时使用MaterialX提供的编程接口将这些信息输出成MaterialX的格式,形成node definition文件;该***具有较好的通用性,可适用于任何第三方开发的材质节点,生成格式统一的nodedefinition文件格式;另外,通过拓展,还可以用本***来生成其他类型Arnold节点信息以用作参考。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于Arnold渲染器的文件生成***,包括Arnold渲染器的编程接口和MaterialX库的程序接口,其特征在于,包括信息获取模块与文件写出模块,所述信息获取模块与所述文件写出模块分别依赖于所述Arnold渲染器的编程接口和所述MaterialX库的程序接口实现数据的读写;
所述信息获取模块通过所述Arnold渲染器的编程接口加载动态库,遍历其中所包含的shader节点及其参数,获取相关信息并传递给所述文件写出模块;所述文件写出模块将所述信息获取模块传递的内容按照MaterialX的格式进行整理分类,然后通过对应的写出接口将这些信息写出至Node Definition文件。
2.根据权利要求1所述的一种基于Arnold渲染器的文件生成***,其特征在于,所述Arnold渲染器的编程接口包括若干与所述Arnold渲染器进行交互的功能,若干所述功能包括数据查询、数据生成和选项设置。
3.根据权利要求1所述的一种基于Arnold渲染器的文件生成***,其特征在于,所述MaterialX库的程序接口用于提供文件读写的功能。
4.一种基于Arnold渲染器的文件生成方法,其特征在于,包括以下步骤:
S1.通过基于Arnold渲染器的编程接口实现的信息获取模块获取目前有的材质节点,遍历各个节点,通过所述编程接口获取每个节点上各个属性的类型与默认值,并存入本***的数据结构中,并将相关信息传递至文件写出模块;
S2.文件写出模块将从Arnold渲染器获取到的数据针对MaterialX文件定义进行数据适配;
S3.将本***中与MaterialX文件中适配的各部分数据通过MaterialX库的程序接口写出,并保存至MaterialX的格式,形成node definition文件。
5.根据权利要求4所述的一种基于Arnold渲染器的文件生成方法,其特征在于,步骤S2所述的适配包括类型名称对应适配和数据精度调整。
CN201911328273.8A 2019-12-20 2019-12-20 一种基于 Arnold 渲染器的文件生成***及方法 Active CN111198680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911328273.8A CN111198680B (zh) 2019-12-20 2019-12-20 一种基于 Arnold 渲染器的文件生成***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911328273.8A CN111198680B (zh) 2019-12-20 2019-12-20 一种基于 Arnold 渲染器的文件生成***及方法

Publications (2)

Publication Number Publication Date
CN111198680A CN111198680A (zh) 2020-05-26
CN111198680B true CN111198680B (zh) 2020-12-11

Family

ID=70746329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911328273.8A Active CN111198680B (zh) 2019-12-20 2019-12-20 一种基于 Arnold 渲染器的文件生成***及方法

Country Status (1)

Country Link
CN (1) CN111198680B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287707A (zh) * 2017-09-13 2018-07-17 深圳壹账通智能科技有限公司 Jsx文件生成方法、装置、存储介质和计算机设备
CN108876764A (zh) * 2018-05-21 2018-11-23 北京旷视科技有限公司 渲染图像获取方法、装置、***和存储介质
CN108874373A (zh) * 2017-05-12 2018-11-23 腾讯科技(深圳)有限公司 向网页内***信息的方法及装置、显示终端及存储介质
CN109343774A (zh) * 2018-10-29 2019-02-15 广东明星创意动画有限公司 一种快速文件预处理渲染***
CN109377543A (zh) * 2018-10-29 2019-02-22 广东明星创意动画有限公司 一种快速创建材质连接的方法
CN109710227A (zh) * 2018-11-07 2019-05-03 苏州蜗牛数字科技股份有限公司 一种纹理图集调度的方法
CN109725893A (zh) * 2018-05-17 2019-05-07 平安普惠企业管理有限公司 代码生成方法、设备、装置及计算机可读存储介质
CN109885291A (zh) * 2019-01-25 2019-06-14 深圳市元征科技股份有限公司 一种代码自动生成方法及代码自动生成器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549943B1 (en) * 1999-06-16 2003-04-15 Cisco Technology, Inc. Network management using abstract device descriptions
CN108133445A (zh) * 2016-12-01 2018-06-08 钦州市晶通科技有限公司 一种扩散映射置乱与混沌***组合的图像加密方法
US20180315101A1 (en) * 2017-04-29 2018-11-01 Yogesh Ramdas KADAM System and method for optimizing revenue generation process
CN108840886A (zh) * 2018-06-22 2018-11-20 南京工业大学 一种铂配合物蓝光材料以及有机发光器件

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874373A (zh) * 2017-05-12 2018-11-23 腾讯科技(深圳)有限公司 向网页内***信息的方法及装置、显示终端及存储介质
CN108287707A (zh) * 2017-09-13 2018-07-17 深圳壹账通智能科技有限公司 Jsx文件生成方法、装置、存储介质和计算机设备
CN109725893A (zh) * 2018-05-17 2019-05-07 平安普惠企业管理有限公司 代码生成方法、设备、装置及计算机可读存储介质
CN108876764A (zh) * 2018-05-21 2018-11-23 北京旷视科技有限公司 渲染图像获取方法、装置、***和存储介质
CN109343774A (zh) * 2018-10-29 2019-02-15 广东明星创意动画有限公司 一种快速文件预处理渲染***
CN109377543A (zh) * 2018-10-29 2019-02-22 广东明星创意动画有限公司 一种快速创建材质连接的方法
CN109710227A (zh) * 2018-11-07 2019-05-03 苏州蜗牛数字科技股份有限公司 一种纹理图集调度的方法
CN109885291A (zh) * 2019-01-25 2019-06-14 深圳市元征科技股份有限公司 一种代码自动生成方法及代码自动生成器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAYA渲染mantel ray材质球 mia_material_x;霍鹏旭;《https://blog.csdn.net/chongshangdiao/article/details/6263793/》;20110321;第1-3页 *

Also Published As

Publication number Publication date
CN111198680A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
US5745897A (en) Method and system for compiling management information base specifications
CN105242882B (zh) 时序数据的帧存储方法及装置、时序数据查询方法及装置
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
CN103714129A (zh) 基于条件规则的动态数据结构和关系的构建装置和构建方法
CN105824849A (zh) 一种数据导入方法及适配器
US20020091705A1 (en) Object integrated management system
CN109634682A (zh) 应用程序的配置文件更新方法及装置
CN111984796B (zh) 一种基于规范知识图谱ifc模型的自动合规性检查方法
CN105303465B (zh) 基于cim模型的树形视图定义及展示方法
CN111198680B (zh) 一种基于 Arnold 渲染器的文件生成***及方法
CN111078213B (zh) 一种代码生成方法及代码生成装置
CN104281604B (zh) 生成Targetlink数据字典分层树的方法和***
CN110069812B (zh) 用于机器人路径轨迹点属性的配置方法、***及存储介质
CN106330519B (zh) 一种网管***间报文的通信方法及***
CN114048352B (zh) Xml文件转换不定长结构体的方法
CN111752941A (zh) 一种数据存储、访问方法、装置、服务器及存储介质
CN114968196A (zh) 基于codesys软件的开发平台架构
CN114895875A (zh) 一种零代码可视化信息***元数据的生产应用方法及***
CA2607495A1 (en) System and method for efficient hosting of wireless applications by encoding application component definitions
CN111144084B (zh) 文章模板的配置方法与配置***及生成文章的方法与***
CN116661768B (zh) 基于知识图谱的页面代码生成方法、***、装置和介质
CN111930718B (zh) 配置管理数据库的节点调整方法及装置
US11496549B2 (en) Heterogeneous execution engines in a network centric process control system
CN115861483A (zh) 一种设计图标转化为字体图标的方法、装置、设备及介质
CN110597928A (zh) 一种动态字段实现级联和引用关系的方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 3-7 / F, building 3, science and technology innovation complex a, Xincheng science and Technology Park, 8 Bailongjiang East Street, Jianye District, Nanjing City, Jiangsu Province 210000

Applicant after: Jiangsu Yuanli Digital Technology Co.,Ltd.

Address before: 210000 No.8, Bailongjiang East Street, Jianye District, Nanjing City, Jiangsu Province

Applicant before: Jiangsu force animation production Limited by Share Ltd.

GR01 Patent grant
GR01 Patent grant