目录
灰度(单色)着色器
问题
解决方案
相关食谱
灰度(单色)着色器
问题
你想要一个着色器将图像转换为灰度。
解决方案
让我们从canvas_item(2D)着色器开始。为了转换为灰度,同时也保留像素的对比度,我们需要对像素的颜色值进行平均。将颜色通道相加,然后除以3。
shader_type canvas_item;
void fragment() {
COLOR = texture(TEXTURE, UV);
float avg = (COLOR.r + COLOR.g + COLOR.b) / 3.0;
COLOR.rgb = vec3(avg);
}