有没有什么方法可以解决 glsl 中的 vulkan 宏

is there some method to solve macros in glsl for vulkan

许多 GLSL 程序使用宏

#ifdef
#else
#endif

为了解决不同的配置,在vulkan构建管道布局和描述符设置时有没有一些优雅的方法来解决这个问题?

使用普通 if()\else() 块和 Vulkan 专业化常量应该可以解决大多数情况下的问题。如果专业化常量在编译时为零,我希望任何明智的编译器都能优化整个 if() 基本块。