flutter [叶轮] IPOrderedDither8x8 仅支持 GLSL ES 3.00 及更高版本,

5lwkijsr  于 4个月前  发布在  Flutter
关注(0)|答案(2)|浏览(51)

目前这不是一个问题,因为我们不在GLES上使用它。作为修复措施,我们应该将LUT计算移动到CPU上,并在着色器中进行纹理查找,类似于石墨所做的:
https://github.com/google/skia/blob/main/src/gpu/DitherUtils.cpp#L74-L92
https://github.com/google/skia/blob/main/src/sksl/sksl_graphite_frag.sksl#L443-L453

whlutmcx

whlutmcx1#

错误:0:19: '^' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '&' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '<<' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '&' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '<<' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '|' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '&' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '<<' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '|' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '&' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '>>' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '|' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '&' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '>>' : 仅在GLSL ES 3.00及以上版本支持位运算符
 错误:0:20: '|' : 仅在GLSL ES 3.00及以上版本支持位运算符
dauxcl2d

dauxcl2d2#

我认为我们不应该支持在OpenGL ES上使用IPOrderedDither8x8。相反,我们可以在绘制渐变之前通过glEnable(GL_DITHER)进行非着色器基的抖动处理,然后在之后禁用它。

相关问题