[发明专利]一种shader参数可视化方法在审
申请号: | 201810476525.0 | 申请日: | 2018-05-17 |
公开(公告)号: | CN108765533A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 程正 | 申请(专利权)人: | 成都明镜视觉科技有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自定义 标准材质 渲染引擎 可视化 读取 参数映射 封装类型 函数调用 接口设置 关系表 创建 调用 渲染 保存 | ||
一种shader参数可视化方法,设置shader参数映射关系表,包括Properties、Vertex、Fragment三个属性;通过3D引擎中的ResShader读取程序员创建的shader,将shader的Properties以及Vertexshader和fragmentshader保存到相应的变量;通过渲染引擎中提供的CustomMaterial类型创建自定义材质对象;自定义材质提供了setFloat、setTexture、setMat4、setColor接口,通过ResMat对象的rawToValue函数调用处理用户的输入数据并根据shader参数的类型调用不同的接口设置材质的数值;根据渲染引擎提供的标准材质进行渲染,采用3D引擎提供的封装类型ResMat在标准材质与不同的自定义材质之间切换,在切换到新的材质时设置材质的参数的默认数值。
技术领域
本发明涉及计算机图形领域,具体涉及一种shader参数可视化方法。
背景技术
shader是一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序,在OpenGL中,一般是由程序员写好一段shader程序,通过OpenGL提供的函数调用加载shader,并且设置shader运行所需要的数据,这些都是通过OpenGL提供的函数调用来完成的,也就是说,这样一整个过程都需要程序来实施,但是在实际的工程中,我们往往需要在写好一段shader以后让美术人员来调整其效果,如果还是由程序来实施,我们就会反复的调整参数编译,运行,来达到最终想要的效果,同时需要美术人员和程序人员在场,这样不仅浪费了大量的时间(主要是编译,运行)同时也占用了大量的人力资源,所以需要一种能够实时调整shader参数并且能够实时反映参数变化后的效果的这样一个功能来节约美术与程序的时间减少人力资源的浪费。
由于shader与材质系统是密不可分的,shader是实现一种效果的程序,材质则封装了shader并且提供了到GPU的渲染方法,现有材质系统在不能做到灵活的更改shader达到不同的渲染效果,需要设计一种方法来灵活的切换shader实现渲染。
发明内容
为了达到上述目的,本发明提供一种shader参数可视化方法,包括如下步骤:
s1、设置shader参数映射关系表,包括Properties、Vertex、Fragment三个属性,Properties属性是一个对象,属性是真实shader代码参数;Vertex属性保存的是Vertexshader;Fragment属性保存的是fragmentshader;
s2、通过3D引擎中的ResShader读取程序员创建的shader,将shader的Properties以及Vertexshader和fragmentshader保存到相应的变量,通过Properties即可知道shader当中所需要的参数以及参数类型;
s3、通过渲染引擎中提供的CustomMaterial类型创建自定义材质对象,将这个对象赋值给网格节点即可渲染出该shader效果;自定义材质提供了setFloat、setFloat、setTexture、setMat4、setColor、接口,、通过ResMat对象的rawToValue函数调用处理用户的输入数据并根据shader参数的类型调用不同的接口设置材质的数值;
s4、根据渲染引擎提供的标准材质进行渲染,采用3D引擎提供的封装类型ResMat在标准材质与不同的自定义材质之间切换,在切换到新的材质时设置材质的参数的默认数值。
通过采用本发明,3D编辑器即可通过读取ResShader中Properties对象的属性来可视化调整shader的参数值。
具体实施方式
为了更好的理解本发明,下面详细说明本发明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都明镜视觉科技有限公司,未经成都明镜视觉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810476525.0/2.html,转载请声明来源钻瓜专利网。