我需要在 GLSL 几何着色器中访问一堆常量值。我这样试过:
const int lookup[HUGE_NUMBER] = int[HUGE_NUMBER](1,32,...)
这适用于某些硬件。在ATI卡上我收到警告,我的几何着色器的大小可能导致性能不佳(听起来合理)。在其他卡(NV)上,着色器因内存不足而无法链接。定义常量数组似乎是一个不受支持的黑客。
那么 - 要走的路是什么?我在DirectX管道中读到了“常量缓冲区”。有类似的东西吗?或者我必须使用纹理吗?
答案 0 :(得分:5)
您可以使用以下任何接口: