用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等节点实现更复杂的效果。
