【发布时间】:2021-08-27 11:28:51
【问题描述】:
我希望在这里提出的问题不要太哲学化,并且这个工程决策背后有一个实际的务实推理。
考虑到大多数游戏引擎都是用 C++ 编写的,而且许多着色语言已经具有不同的可能不熟悉的语法,这促使创建自定义着色语言和转译器。
那么,如果 Apple 承认这些现实,为什么他们没有提供一流的 C++ Metal API?
【问题讨论】:
-
Metal API 应该可以在多种语言中使用,并且与 C++ 的互操作充其量是棘手的——很少有语言可以合理地做到这一点,而且几乎没有一种语言做得很好。着色语言是它自己的语言和自己的编译器,不需要与任何东西进行互操作。
-
好的,公平的。但是他们可以通过提供 C API 和官方 C++ 包装器来完成 Cronos 对 Vulkan 所做的事情。
-
@Vitaly 这既是商业决策,也是技术决策,我怀疑相关人员之外的任何人都能够回答
-
当然可以,但 Apple 的财务激励措施与 Khronos 不同。此外,Vulkan C++ API 是开源的,Apple 通常不这样做。
标签: c++ objective-c shader metal