Godot Shader特效:用SCREE_TEXTURE实现简
2019-07-26 本文已影响0人
吃烧烤的老王
用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
等节点实现更复杂的效果。