ios - Metal 着色语言 IR 格式

标签 ios metal

这些天我正在尝试 Apple 的 Metal。
似乎Metal shading language 与vulkan glsl 非常相似.

一些问题:
1.有没有开源的编译器来编译Metal shading语言?或者它可以翻译成另一种着色语言吗? glslspirv ?

  • Apple 的 Metal 编译器的输出格式是什么?我看到有人提到它是 LLVM IR,但我找不到任何文档。
  • Metal 游戏必须将编译后的 IR 发送给驱动程序进行渲染,对吗?他们可以使用高级 Metal 着色语言,例如 opengl游戏使用glsl直接地?

  • 想知道是否有一些文档描述了 Apple 的 Metal IR?

    谢谢!

    最佳答案

    metal编译MSL的工具是clang的修改版,但我不认为这些修改是开源的。它接受许多与 clang 相同的命令行选项。生成各种输出文件。

    默认情况下,它产生 .air文件,它们是 LLVM 位码。您可以使用 llvm-dis 之类的工具拆卸它们。

    Metal 应用程序可以使用预编译的着色器,也可以在运行时从 MSL 源进行编译。应用程序将使用 -newLibraryWithSource:... 之一MTLDevice 的方法对于后者。

    关于ios - Metal 着色语言 IR 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49810845/

    相关文章:

    ios - Model View Controller 存储 - 在这种情况下我应该创建多个存储对象吗?

    ios - Swift UI 中的动画文本

    ios - Metal IOS 中的网格

    swift - 尝试使用 AVFoundation AVAssetWriter 将 Metal 帧写入 Quicktime 文件时出现全黑帧

    shader - 使用 SCN 技术的运动模糊

    ios - Metal 多计算着色器与单计算着色器

    ios - 在没有方案的情况下验证 URL

    ios - 自定义 UIView 警告

    ios - 使用 Alamofire 快速上传多张图片

    旧设备上的 Metal 2 API 功能