Bliss-Shader/shaders/lib/texFiltering.glsl

20 lines
600 B
Plaintext
Raw Normal View History

2023-01-13 04:00:14 +08:00
vec4 smoothfilter(in sampler2D tex, in vec2 uv, in vec2 textureResolution)
{
uv = uv*textureResolution + 0.5;
vec2 iuv = floor( uv );
vec2 fuv = fract( uv );
uv = iuv + (fuv*fuv)*(3.0-2.0*fuv);
uv = uv/textureResolution - 0.5/textureResolution;
return texture2D( tex, uv);
}
float shadowsmoothfilter(in sampler2DShadow tex, in vec3 uv,in float textureResolution)
{
uv.xy = uv.xy*textureResolution + 0.5;
vec2 iuv = floor( uv.xy );
vec2 fuv = fract( uv.xy );
uv.xy = iuv + (fuv*fuv)*(3.0-2.0*fuv);
uv.xy = uv.xy/textureResolution - 0.5/textureResolution;
return shadow2D( tex, uv).x;
}