[发明专利]基于HLSL的多平台多目标语言的交叉编译器及编译方法在审

专利信息
申请号: 201810547153.6 申请日: 2018-05-31
公开(公告)号: CN108874396A 公开(公告)日: 2018-11-23
发明(设计)人: 翟佳龙 申请(专利权)人: 苏州蜗牛数字科技股份有限公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 北京德崇智捷知识产权代理有限公司 11467 代理人: 王金双
地址: 215000 江苏省*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多目标 多平台 交叉编译器 编译 预处理 抽象语法树 词法分析器 代码处理器 代码生成器 语法分析器 中间代码 语言 目标语言代码 词法分析 交叉编译 平台无关 语法分析 编译器 构建
【说明书】:

一种基于HLSL的多平台多目标语言的交叉编译器及编译方法,所述编译器包括:代码处理器、词法分析器、语法分析器和代码生成器,其中,所述代码处理器,用于对HLSL代码进行预处理;所述词法分析器,用于对预处理后的HLSL代码进行词法分析,生成记号;所述语法分析器,用于对生成的记号进行语法分析,构建出抽象语法树;所述代码生成器,用于根据抽象语法树生成与平台无关的中间代码;以及用于将中间代码生成目标语言代码。本发明的基于HLSL的多平台多目标语言的交叉编译器及编译方法,可以实现多平台多目标语言的交叉编译。

技术领域

本发明涉及着色器语言技术领域,特别是涉及一种基于HLSL的多平台多目标语言的交叉编译器及编译方法。

背景技术

着色器语言是一种用于可编程GPU管线的开发语言,着色器语言编写的代码会被着色器编译器编译成为GPU可执行的指令。目前常见的着色器语言有用于Direct3D的HLSL、用于OpenGL的GLSL,以及用于Metal的MSL,这些着色器语言互相之间语法不兼容,并且具有各自平台独自的编译器。

随着技术的发展,尤其是移动平台的兴起,大型的游戏引擎都需要支持多平台、多图形接口,为了节省开发和维护成本,多平台通用的着色器语言成为了一个常见需求。

目前常见的技术解决方案有以下三种:

1.使用宏定义封装不同着色器语言之间的差异,这套宏编写的代码最终在各平台展开为目标语言。此种方案的缺点是需要使用者对被封装的语言差异非常了解,才能编写出正确的代码。

2.开发一种新语言,交叉编译至各种目标平台的语言,通常还支持基于节点的图形化编辑器。此种方案的缺点是工作量大,并且需要使用者学习一种新语言或者新编辑工具。

3.开发者直接使用HLSL编写代码,使用Direct3D的编译器把HLSL代码编译至DXBC字节码,再从DXBC字节码转换至其他语言。此种方案的缺点是D3DCompiler只在Windows平台可用,其他平台需要使用Wine调用D3DCompiler,非常不方便。

发明内容

为了解决现有技术存在的不足,本发明的目的在于提供一种基于HLSL的多平台多目标语言的交叉编译器及编译方法,可以实现多平台多目标语言的交叉编译。

为实现上述目的,本发明提供的基于HLSL的多平台多目标语言的交叉编译器,包括:代码处理器、词法分析器、语法分析器和代码生成器,其中,

所述代码处理器,用于对HLSL代码进行预处理;

所述词法分析器,用于对预处理后的HLSL代码进行词法分析,生成记号;

所述语法分析器,用于对生成的记号进行语法分析,构建出抽象语法树;

所述代码生成器,用于根据抽象语法树生成与平台无关的中间代码;以及用于将中间代码生成目标语言代码。

进一步地,所述预处理的内容包括:对引用文件的展开,对预定义宏的展开,移除代码中的注释,以及移除掉使用宏控制的无用代码。

进一步地,所述代码生成器还包括:代码优化器,其用于对中间代码进行优化。

进一步地,所述目标语言代码含有反射信息,所述反射信息中包含着对着色器代码中使用GPU资源情况的描述。

进一步地,所述目标语言代码与平台的图形接口相匹配。

为实现上述目的,本发明提供的基于HLSL的多平台多目标语言的交叉编译方法,包括以下步骤:

编写HLSL代码;

对HLSL代码进行预处理,词法分析,语法分析,生成与平台无关的中间代码,将中间代码转换成目标语言代码;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810547153.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top