目前这不是一个问题,因为我们不在GLES上使用它。作为修复措施,我们应该将LUT计算移动到CPU上,并在着色器中进行纹理查找,类似于石墨所做的:https://github.com/google/skia/blob/main/src/gpu/DitherUtils.cpp#L74-L92https://github.com/google/skia/blob/main/src/sksl/sksl_graphite_frag.sksl#L443-L453
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及以上版本支持位运算符
dauxcl2d2#
我认为我们不应该支持在OpenGL ES上使用IPOrderedDither8x8。相反,我们可以在绘制渐变之前通过glEnable(GL_DITHER)进行非着色器基的抖动处理,然后在之后禁用它。
IPOrderedDither8x8
glEnable(GL_DITHER)
2条答案
按热度按时间whlutmcx1#
dauxcl2d2#
我认为我们不应该支持在OpenGL ES上使用
IPOrderedDither8x8
。相反,我们可以在绘制渐变之前通过glEnable(GL_DITHER)
进行非着色器基的抖动处理,然后在之后禁用它。