如何通过camera2D查看像素化?
how to view pixelation through camera2D?
我正在尝试创建一个可以通过 camera2D
节点查看的像素化着色器
类似于 this 但我需要像素化而不是黑白
使用 回答我得到了像素化着色器,但如何通过相机查看它?
shader_type canvas_item;
uniform float size_x = 32.0; // blocks by x direction
uniform float size_y = 32.0; // blocks by y direction
void fragment() {
COLOR = texture(TEXTURE, vec2(floor(UV.x * size_x) / (size_x - 1.0), floor(UV.y * size_y) / (size_y - 1.0)));
}
我的节点结构和上面的视频一样link:
最终产品应该看起来像这样:
啊我发现我错了,我不小心选择了use parent material
着色器代码相同:
shader_type canvas_item;
uniform float size_x = 0.008;
uniform float size_y = 0.008;
void fragment() {
vec2 uv = SCREEN_UV;
uv -= mod(uv, vec2(size_x, size_y));
COLOR.rgb = textureLod(SCREEN_TEXTURE, uv, 0.0).rgb;
}
我正在尝试创建一个可以通过 camera2D
节点查看的像素化着色器
类似于 this 但我需要像素化而不是黑白
使用
shader_type canvas_item;
uniform float size_x = 32.0; // blocks by x direction
uniform float size_y = 32.0; // blocks by y direction
void fragment() {
COLOR = texture(TEXTURE, vec2(floor(UV.x * size_x) / (size_x - 1.0), floor(UV.y * size_y) / (size_y - 1.0)));
}
我的节点结构和上面的视频一样link:
最终产品应该看起来像这样:
啊我发现我错了,我不小心选择了use parent material
着色器代码相同:
shader_type canvas_item;
uniform float size_x = 0.008;
uniform float size_y = 0.008;
void fragment() {
vec2 uv = SCREEN_UV;
uv -= mod(uv, vec2(size_x, size_y));
COLOR.rgb = textureLod(SCREEN_TEXTURE, uv, 0.0).rgb;
}