[发明专利]一种shader语言多平台编译发布系统及方法在审
申请号: | 201911103266.8 | 申请日: | 2019-11-12 |
公开(公告)号: | CN110865815A | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 刘泳;黄信寿 | 申请(专利权)人: | 广州泳泳信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;A63F13/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510630 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 shader 语言 平台 编译 发布 系统 方法 | ||
1.一种shader语言多平台编译发布系统,其特征在于,包括:
Shader代码预处理模块,用于解析shader代码中的宏,遍历出不同的宏组合的shader变种,把各个变种分发给编译转换模块;
Hlsl编译模块,使用DirectX SDK的D3DCompiler工具把Hlsl源码编译成DirectX平台上可运行的字节码;
Hlsl到Glsl转换模块,使用Hlsl2Glsl把Hlsl源码转换成可以在Opengl平台上运行的Glsl代码;
Glsl编译优化并转换到Metal-Shader模块,其基于GlslOptimizer,优化Glsl代码以优化在Opengl平台上的运行效率,同时输出可以在Metal平台上运行的Metal-Shader代码;
Glsl到Spir-V转换模块,把经过优化的Glsl代码传到Glslang里编译成能够在Vulkan平台上运行的Spir-V代码;
最终结果整合输出模块,把每个平台的shader代码输出结果分别序列化到一个Json文件中。
2.根据权利要求1所述的shader语言多平台编译发布系统,其特征在于,命令行式的处理单元,所述Hlsl编译模块编写的Hlsl源码保存后,通过命令行式的处理单元,程序会为这份Hlsl源文件生成各个平台的可执行shader代码,并保存下来,同时程序也会把在编译转换过程中发现的语法错误输出到控制台。
3.一种shader语言多平台编译发布方法,其特征在于,包括:
S101,用户完成hlsl源码编写后,调用转换程序并把源码路径传给程序;
S102,Shader代码预处理模块首先根据路径读取源码的字符串,然后解析代码中的宏,遍历出不同的宏组合的Shader变种,把各个变种分发给后续的编译模块;
S103,Hlsl编译模块接收到S102传递的信息后,使用D3DCompiler工具把Hlsl源码编译成DirectX平台上可运行的字节码;
S104,检测S103中是否有编译错误,如果有,把错误信息输出到S105;如果没有,就把编译结果传递到S106;
S105,接收错误信息,输出到控制台,停止转换流程;
S106,缓存Hlsl的编译结果;
S107,Hlsl到Glsl转换模块接收到S102传递的信息后,使用Hlsl2Glsl把Hlsl源码转换成Glsl代码;
S108,Glsl编译优化并转换到Metal-Shader模块使用GlslOptimizer处理S107输出的Glsl代码;
S109,检测S108中是否有编译错误,如果有,把错误信息输出到S105;如果没有,就把编译结果传递到S110和S111;
S110,缓存Metal-Shader的编译结果;
S111,缓存Glsl的编译结果;
S112,Glsl到Spir-V转换模块读取S111中缓存的Glsl代码,使用Glslang里编译成Spir-V代码;
S113,检测S108中是否有编译错误,如果有,把错误信息输出到S105;如果没有,就把编译结果传递到S114;
S114,缓存Spir-v的编译结果;
S115,最终结果整合输出模块读取S106 S110 S111 S114中的输出结果,把各平台下的不同变种的编译结果存储到Json文件里。
4.根据权利要求3所述的shader语言多平台编译发布方法,其特征在于,包括:转换工具为运行在智能终端上的应用软件,游戏编辑器、手机网络游戏中的任一种;
所述智能终端为智能手机、平板电脑、台式电脑、笔记本电脑中的任一种。
5.根据权利要求3所述的shader语言多平台编译发布方法,其特征在于,包括:所述步骤s109中在检测编辑错误时,将代码格式化,按照十六进制数进行转化,将Glsl编译优化并转换到Metal-Shader模块使用GlslOptimizer处理S107输出的Glsl代码与预设的代码进行比对,寻找其差异点,并标记定位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州泳泳信息科技有限公司,未经广州泳泳信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911103266.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种企业零售系统数据汇总同步方案
- 下一篇:一种强夯机控制系统