У меня есть небольшой фрагментный шейдер, который работает с несколькими значениями в массиве, однако размер массива сохраняется в константе.
Массив объявлен следующим образом:
float4 colors[(blurRadius*2+1)*(blurRadius*2+1)];
и затем я продолжаю присваивать им значения, используя цикл for
for(int i = -blurRadius; i<= blurRadius; i++)
{
for(int j = -blurRadius; j<=blurRadius;j++)
{
colors[j + blurRadius + ((i+blurRadius)*blurRadius)]=float4(0,0,0,0);
}
}
однако при запуске код возвращается со следующей ошибкой компилятора:
error X4000: variable 'colors' used without having been completely initialized
Как полностью инициализировать массив, размер которого я не знаю в HLSL?