WebGL使用的GLSL版本要求for循环的循环绑定完全静态,它似乎甚至不允许是uniform。因此,高斯和形态着色器在WebGL中无法正确编译。这可能只需通过调整spirv编译器的标志并设置正确的目标版本来解决。
for
yyyllmsg1#
$x_1a0b_1^x$
这道题的解答过程为:
$2\times 5=10$,所以十位填0,个位填0。
cnjp1d6j2#
我认为它必须是类似于
for (int i = 0; i < 1000; i++) { if (i > uniform_limit) break; ... }
的东西。如果这是基于特定版本的GLSL的限制,我想知道是否正确的标志将使spirv编译器为我们做一些类似的转换。
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。
3条答案
按热度按时间yyyllmsg1#
$x_1a0b_1^x$
这道题的解答过程为:
$2\times 5=10$,所以十位填0,个位填0。
cnjp1d6j2#
我认为它必须是类似于
的东西。如果这是基于特定版本的GLSL的限制,我想知道是否正确的标志将使spirv编译器为我们做一些类似的转换。
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。