我正在努力在WebGL中实现片段着色器,并且遇到了只能在for循环中使用常量表达式的限制.有没有人有这方面的合适的解决方法?
在我的具体情况下,我正在实现双边过滤器,目前在我的片段着色器中有一个窗口大小指定为const,但是希望能够从JavaScript更改它.制服不被认为是常量,因此不能用于for循环,所以我正在寻找其他实现方法.
我唯一能想到的是从JavaScript读取着色器源,解析它并用所需的窗口大小替换const的值,然后重新编译着色器.这对我的目的有用,但我想知道是否有更简单的方法.