当前位置: 首页 > 专利查询>万玉帝专利>正文

一种基于可视化编程的跨平台渲染效果的编辑系统技术方案

技术编号:19060913 阅读:20 留言:0更新日期:2018-09-29 12:59
本发明专利技术涉及一种渲染效果的编辑系统,尤其涉及一种基于可视化编程的跨平台渲染效果的编辑系统。由GUI模块、ASE模块、渲染实现模块和3D预览模块组成,并共同组成了一个松耦合的系统架构;GUI模块将消息翻译成为ASE模块的有效指令并向ASE模块发送指令;ASE模块响应GUI模块的指令,将产生的着色器代码和着色材质需要的美术集资源描述表传递给3D预览模块;3D预览模块和GUI模块都要通过渲染实现模块,对接图形渲染API,送入渲染管线,在屏幕上渲染出来。本发明专利技术可以适用于多个图形渲染API和多个引擎平台,具有较好的通用性。

【技术实现步骤摘要】
一种基于可视化编程的跨平台渲染效果的编辑系统
本专利技术涉及一种渲染效果的编辑系统,尤其涉及一种基于可视化编程的跨平台渲染效果的编辑系统。
技术介绍
可编程渲染管线的出现给计算机图形技术带来了翻天覆地的变化。可编程渲染管线的核心是着色器技术,这是一段可以在图形处理核心GPU上运行的程序,用来给三维物体上色。程序员可以通过编写高级着色器语言直接控制GPU中的着色单元,灵活的控制渲染管线,制作出形形色色的着色效果。各种游戏引擎都提供了基于着色器技术的材质编辑系统来优化着色器编程流程。比如由UnityTechnologies开发的Unity3D引擎。这是利用交互的图型化开发环境为首要方式的软件。该引擎内置了很多优质的着色器,提供了多种光照模型供选择。使用这些内置的着色器的材质实例只需要修改参数就可以方便使用。不过高度的集成,也使得表现效果不够灵活。为了获得个性化的效果,着色器的现有参数接口不能满足效果需求的时候,美术人员往往就无计可施了,就需要专门的图形程序员重新编辑修改着色器代码来加入新的功能。而独特的美术效果在一个成功的产品设计中有着举足轻重的作用。这使得在渲染效果编辑的过程中,程序员和美术人员在功能和时间上是高度相互依赖的耦合关系。
技术实现思路
本专利技术的目的是提供一种基于图形化编程的跨平台的渲染效果编辑系统。目标是可以通过图形化的连接、组合各个渲染功能来得到丰富的渲染效果,并可以实时预览渲染效果,并且可以再编辑。为解决上述问题,本专利技术是通过以下技术方案实现的:一种基于可视化编程的跨平台渲染效果的编辑系统,所述编辑系统由图形化界面模块GUI(GraphicalUserInterface,简称GUI模块)、自动化着色器代码编辑模块ASE(AutoShaderEditor,简称ASE模块)、渲染实现模块和3D预览模块组成,并共同组成了一个松耦合的系统架构;编辑系统工作的步骤为:第一步,图形化界面模块GUI主要负责响应用户输入消息,并将消息翻译成为自动化着色器代码编辑模块ASE的有效指令,向自动化着色器代码编辑模块ASE发送指令;第二步,自动化着色器代码编辑模块ASE响应图形化界面模块GUI发出的指令,完成生成着色器代码的核心功能;第三步,随后自动化着色器代码编辑模块ASE将产生的着色器代码和着色材质需要的美术集资源描述表传递给3D预览模块;第四步,3D预览模块和图形化界面模块GUI都要通过渲染实现模块,对接图形渲染API,送入渲染管线,在屏幕上渲染出来。所述图形化界面模块GUI,向上,面向各个引擎系统,为用户提供可编辑控件的显示并接收用户输入,向下,面向自动化着色器代码编辑模块ASE,将用户的输入转化为固定的格式信息传递给自动化着色器代码编辑模块ASE封装的对外接口;所述图形化界面模块GUI向上隐藏自动化着色器代码编辑模块ASE中的抽象类型数据,向下隐藏用户复杂的操作。所述图形化界面模块GUI分为GUI控件模块、消息处理模块、控件数据结构和公共资源模块;GUI控件模块向渲染实现模块传递各个控件的显示数据,又要负责相应用户输入;GUI控件模块负责记录逻辑画布上所有GUI控件的实例数据;GUI控件的功能和自动化着色器代码编辑模块ASE的着色树中的节点功能一一对应;GUI控件的主控件对应着色树的根节点,代表一种光照模型着色器代码框架,GUI控件的子控件对应着色树的子树节点,代表一个特定着色器功能;只要GUI控件的接口数据类型相同就可以自由组合,逻辑画布是GUI控件的容器,记录GUI控件的显示信息,当用户输入消息时,分发给对应的GUI控件;所述消息处理模块是GUI控件模块的对外接口,向上接收用户的操作信息并传递给GUI控件模块处理,向下把控制模块计算出的指令传给下一层的自动化着色器代码编辑模块ASE;所述控件数据结构是GUI控件中对用户可见的全部内容的抽象,包括控件的颜色、尺寸、位置等等位置,按照是否需要响应用户输入,分为交互和静态两种数据结构,画布中的GUI控件实例使用该数据结构生成。所述自动化着色器代码编辑模块ASE是整个系统的数据逻辑的核心,使用着色树的数据结构来生成着色器代码;自动化着色器代码编辑模块ASE的工作流程是:响应图形化界面模块GUI发送的指令,创建、删除、编辑着色树子树节点,维护节点之间的连接关系;然后深度遍历着色树,对节点连接的做有效性检查;然后再次深度遍历着色树,生产着色器代码;最后将生产的着色器代码和着色材质需要的美术集资源描述表数据发送给3D预览模块。自动化着色器代码编辑模块ASE的封装只需要索引到着色树的根结点,对外隐藏着色树的树状结构关系,自动化着色器代码编辑模块ASE的封装的对外接口,向上面向图形化界面模块GUI,提供创建、删除、链接节点和反馈的操作指令接口,向下面向3D预览模块,提供生产的着色器代码和选所需美术资源描述。所述渲染实现模块是为了完成GUI控件在屏幕上的渲染实现,需要针对不同的图形渲染API编写不同的实现代码,渲染实现模块监听系统发来的屏幕刷新请求,然后向图形化界面模块GUI和3D预览模块申请需要渲染的几何数据,转换这些数据并发给图形渲染API,由图形渲染API将数据转化为图元送入渲染管线中渲染到屏幕上。所述3D预览模块是用来接受自动化着色器代码编辑模块ASE产生的着色代码和渲染着色材质需要的美术集资源描述表数据,更新渲染状态,最终将渲染数据传给渲染实现模块。本专利技术提供一个图形化界面来编辑着色器渲染效果,隐藏了繁琐的着色器语言技术细节。通过在运行时对着色器代码进行重组,可以根据用户的需求动态的改变着色器算法,是一种所见即所得的渲染效果生成方式。本专利技术很适合美术人员使用,扩大了美术人员对渲染效果设计的掌控力,减弱了在美术工作流程中对专业程序员的依赖,同时减短了软件开发的人力成本和时间成本,优化软件开发流程。本专利技术的方案通过抽象出的两个核心模块:可视化编辑模块和自动化着色器代码编辑模块ASE,可以适用于多个图形渲染API和多个引擎平台,具有较好的通用性。附图说明下面结合附图对本专利技术进一步说明:图1是本专利技术的整体构架示意图图2是本专利技术的图形化界面模块GUI结构示意图图3是本专利技术的自动化着色器编辑模块ASE结构示意图具体实施方式下面结合附图及具体实施方式对本专利技术进行详细描述:如图1所示,一种基于可视化编程的跨平台渲染效果的编辑系统,所述编辑系统由图形化界面模块GUI、自动化着色器代码编辑模块ASE、渲染实现模块和3D预览模块组成,并共同组成了一个松耦合的系统架构;编辑系统工作的步骤为:第一步,图形化界面模块GUI主要负责响应用户输入消息,并将消息翻译成为自动化着色器代码编辑模块ASE的有效指令,向自动化着色器代码编辑模块ASE发送指令;第二步,自动化着色器代码编辑模块ASE响应图形化界面模块GUI发出的指令,完成生成着色器代码的核心功能;第三步,随后自动化着色器代码编辑模块ASE将产生的着色器代码和着色材质需要的美术集资源描述表传递给3D预览模块;第四步,3D预览模块和图形化界面模块GUI都要通过渲染实现模块,对接图形渲染API,送入渲染管线,在屏幕上渲染出来。所述图形化界面模块GUI,向上,面向各个引擎系统,为用户提供可编辑控件的显示并接收用户输入,向下,面向自动化本文档来自技高网...

【技术保护点】
1.一种基于可视化编程的跨平台渲染效果的编辑系统,其特征在于:所述编辑系统由图形化界面模块GUI、自动化着色器代码编辑模块ASE、渲染实现模块和3D预览模块组成,并共同组成了一个松耦合的系统架构;编辑系统工作的步骤为:第一步,图形化界面模块GUI主要负责响应用户输入消息,并将消息翻译成为自动化着色器代码编辑模块ASE的有效指令,向自动化着色器代码编辑模块ASE发送指令;第二步,自动化着色器代码编辑模块ASE响应图形化界面模块GUI发出的指令,完成生成着色器代码的核心功能;第三步,随后自动化着色器代码编辑模块ASE将产生的着色器代码和着色材质需要的美术集资源描述表传递给3D预览模块;第四步,3D预览模块和图形化界面模块GUI都要通过渲染实现模块,对接图形渲染API,送入渲染管线,在屏幕上渲染出来。

【技术特征摘要】
1.一种基于可视化编程的跨平台渲染效果的编辑系统,其特征在于:所述编辑系统由图形化界面模块GUI、自动化着色器代码编辑模块ASE、渲染实现模块和3D预览模块组成,并共同组成了一个松耦合的系统架构;编辑系统工作的步骤为:第一步,图形化界面模块GUI主要负责响应用户输入消息,并将消息翻译成为自动化着色器代码编辑模块ASE的有效指令,向自动化着色器代码编辑模块ASE发送指令;第二步,自动化着色器代码编辑模块ASE响应图形化界面模块GUI发出的指令,完成生成着色器代码的核心功能;第三步,随后自动化着色器代码编辑模块ASE将产生的着色器代码和着色材质需要的美术集资源描述表传递给3D预览模块;第四步,3D预览模块和图形化界面模块GUI都要通过渲染实现模块,对接图形渲染API,送入渲染管线,在屏幕上渲染出来。2.根据权利要求1所述的一种基于可视化编程的跨平台渲染效果的编辑系统,其特征在于:所述图形化界面模块GUI,向上,面向各个引擎系统,为用户提供可编辑控件的显示并接收用户输入,向下,面向自动化着色器代码编辑模块ASE,将用户的输入转化为固定的格式信息传递给自动化着色器代码编辑模块ASE封装的对外接口;所述图形化界面模块GUI向上隐藏自动化着色器代码编辑模块ASE中的抽象类型数据,向下隐藏用户复杂的操作。3.根据权利要求1所述的一种基于可视化编程的跨平台渲染效果的编辑系统,其特征在于:所述图形化界面模块GUI分为GUI控件模块、消息处理模块、控件数据结构和公共资源模块;GUI控件模块向渲染实现模块传递各个控件的显示数据,又要负责相应用户输入;GUI控件模块负责记录逻辑画布上所有GUI控件的实例数据;GUI控件的功能和自动化着色器代码编辑模块ASE的着色树中的节点功能一一对应;GUI控件的主控件对应着色树的根节点,代表一种光照模型着色器代码框架,GUI控件的子控件对应着色树的子树节点,代表一个特定着色器功能;只要GUI控件的接口数据类型相同就可以自由组合,逻辑画布是GUI控件的容器,记录GUI控件的显示信息,当用户输入消息时,分发给对...

【专利技术属性】
技术研发人员:万玉帝丁煜
申请(专利权)人:万玉帝
类型:发明
国别省市:江苏,32

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

1