Мне нужен доступ к группе постоянных значений в моем геометрическом шейдере GLSL . Я попробовал это так:
const int lookup[HUGE_NUMBER] = int[HUGE_NUMBER](1,32,...)
Это работает ... для некоторого оборудования. На картах ATI я получаю предупреждения о том, что размер моего геометрического шейдера может привести к снижению производительности (звучит разумно). На других картах (NV) шейдер не будет связываться из-за недостатка памяти. Определение константных массивов кажется неподдерживаемым хаком.
Итак, что за путь? Я читал о " постоянных буферах " в конвейере DirectX. Есть ли что-нибудь подобное? Или я должен использовать текстуры?