Это очень странная проблема!! и это должно быть легко решить.
Что я делаю, так это просто просматриваю массив и добавляю данные массива вместе (что-то вроде этого).
float kernel[] = float[5] (1.0, 1.0, 1.0, 1.0,1.0);
for(int i=-2;i<=2;i++) {
for(int j=-2; j<=2; j++){
color += kernel[0] * texture2D(image, outUV);
}
}
Приведенный выше код не работает, но если изменить ядро [0] на 1.0, это будет работать.
float kernel[] = float[5] (1.0, 1.0, 1.0, 1.0,1.0);
for(int i=-2;i<=2;i++) {
for(int j=-2; j<=2; j++){
color += 1.0 * texture2D(image, outUV);
}
}
Так что я предполагаю, что есть некоторые проблемы, когда я получаю доступ к массиву!!! Зачем?
color += kernel[0]...
в коде, все еще естьcolor += 1.0...
, пожалуйста, проверьте фрагмент кода. 24.09.2013