用swift+Metal shader文件编译framework动态库
来源:互联网 发布:魔术笔软件下载 编辑:程序博客网 时间:2024/05/21 06:18
若想用swift语言生成库则只能生成动态库,若是纯swift代码脚本,问题不大,按一般流程就行。
若是编译的库中有shader文件则需要先编译出Metal库。具体方法可采用如下的方式。
- 把shader文件和swift文件放在一起进行framework库的编译。编译成功后会自动生成一个default.metallib文件,该文件为shader生成的库文件。
- 把生成的framework导入需要调用的地方,注意使用库时需要单独把default.metallib取出来放到工程中的Resource下面。
- 使用let library = device.newDefaultLibrary()直接加载Metal库。
上面的方式是最简单的,另外,对shader文件,也可以不在xcode中编译库,而是采取手动的编译方式。参考苹果官方文档:https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html
手动编译Metal库后,加载库不能采用上面步骤3中的方式,需要采用如下的方式:
guard let metallibpath = Bundle(for: type(of: self)).path(forResource: "YourShader", ofType: "metallib") else { fatalError("Metal library not found") }let library = try device.makeLibrary(filepath: metallibpath)if library == nil{ print("metal library is null") }
阅读全文
0 0
- 用swift+Metal shader文件编译framework动态库
- Metal Shader Compiler Options
- Metal Framework Reference
- Metal Performance Shader使用小结
- 编译报错framework not found Metal for architecture armv7 问题
- Framework编译AIDL文件
- Metal Framework基础使用教程
- Swift3.0编译动态Framework
- 改进粒子系统-动态编译Shader
- 改进粒子系统-动态编译Shader
- 改进粒子系统-动态编译Shader
- 以Swift Framework的方式提高swift编译速度。
- 编译生成动态库文件
- 编译生成动态库文件
- 使用纯swift代码文件制作framework
- VS2008整合编译shader文件技巧
- 用2010快速编译Shader
- iOS 8 Metal Swift教程 :开始学习
- 在子线程中更新UI
- 对象和类
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 64
- Linux 的 EXT4 文件系统的历史、特性以及最佳实践
- python基础
- 用swift+Metal shader文件编译framework动态库
- Mybatis基础开发所需要的jar包类型
- 犯过的错误
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 使用GDI+实现圆形进度条控件的平滑效果
- FastJson简单例子
- 幼儿园业务组件使用说明
- R语言基础之数据结构(对象类别)
- springmvc pom