1

为此寻找 Vulkan 替代方案;在 OpenGL 中,有没有办法获取着色器程序使用的所有制服和属性的列表?

4

1 回答 1

3

作为一般规则,Vulkan 没有针对您提供给 API 的任何信息的查询 API。如果您向 API 提供了一些东西,并且您需要了解有关该数据的一些信息,那么您应该记住它是什么。

SPIR-V 包含着色器使用的各种资源和接口的所有定义。SPIR-V 是一种非常规范的格式。由于您将 SPIR-V 提供给 Vulkan,因此您有充分的机会了解该着色器中的所有“制服和属性”是什么。所以 Vulkan 没有着色器查询 API。

几种 工具可用于自省 SPIR-V 二进制文件以提取此类信息。但 Vulkan本身并不是其中之一。

于 2020-07-22T16:45:58.000 回答