我有一个片段着色器,它正在执行一个 for 循环,其中传递的次数作为一个统一的 int 变量传入。
uniform int numPasses;
void main(void) {
for (int i=0; i<numPasses; i=i+1) {
//do something
}
}
我看到随着循环数量的增加,性能急剧下降。那么这是在片段着色器中执行循环计算的正确方法,还是我应该使用 2 个帧缓冲区附件之间的乒乓在 CPU 上执行循环?
我正在尝试乒乓球,但我只是想知道之前可能遇到过这件事的人的看法。