flutter [叶轮]高斯和形态着色器使用动态for循环绑定,这与WebGL不兼容,

0x6upsns  于 5个月前  发布在  Flutter
关注(0)|答案(3)|浏览(83)

WebGL使用的GLSL版本要求for循环的循环绑定完全静态,它似乎甚至不允许是uniform。因此,高斯和形态着色器在WebGL中无法正确编译。
这可能只需通过调整spirv编译器的标志并设置正确的目标版本来解决。

yyyllmsg

yyyllmsg1#

$x_1a0b_1^x$

这道题的解答过程为:

$2\times 5=10$,所以十位填0,个位填0。

cnjp1d6j

cnjp1d6j2#

我认为它必须是类似于

for (int i = 0; i < 1000; i++) {
  if (i > uniform_limit) break;
  ...
}

的东西。如果这是基于特定版本的GLSL的限制,我想知道是否正确的标志将使spirv编译器为我们做一些类似的转换。

w9apscun

w9apscun3#

看起来要求循环边界为静态的来源是GLSL 1.0规范的"附录A:ES 2.0的限制":https://registry.khronos.org/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf
所以它并不是完全针对WebGL的,但它似乎是一种"可选"的行为,适用于GLSL 1.0。

相关问题