用SCREEN_TEXUTE实现一个简单的屏幕滤镜。
效果图
简单滤镜
代码如下
shader_type canvas_item;
void fragment(){
vec4 pixel = textureLod(SCREEN_TEXTURE,SCREEN_UV,0);
COLOR.rgb = vec3((pixel.r + pixel.g + pixel.b) /3.0);
}
- 获取屏幕截图纹理使用
SCREEN_TEXTURE内置属性。 - 屏幕
UV坐标SCREEN_UV。 -
texture函数是直接读取一个sampler2D的值,而textureLod可以获取指定的LOD层级。
小结
这是SCREEN_TEXTURE最基本的用法,后面还会结合Viewport等节点实现更复杂的效果。












网友评论