Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //!HOOK POSTKERNEL
- //!BIND HOOKED
- //!BIND PREKERNEL
- //!SAVE ab
- //!COMPONENTS 4
- //!WHEN NATIVE_CROPPED.w POSTKERNEL.w <
- #define str 0.1
- #define GetS(off) Luma(PREKERNEL_tex(PREKERNEL_pt*(PREKERNEL_pos * input_size + tex_offset + off)).rgb)
- #define GetT(off) Luma(HOOKED_texOff(off).rgb)
- #define Luma(rgb) (dot(vec3(0.2126, 0.7152, 0.0722), rgb))
- #define RGBtoYUV(Kb,Kr) mat3(vec3(Kr, 1.0 - Kr - Kb, Kb), vec3(-Kr, Kr + Kb - 1.0, 1.0 - Kb) / (2.0*(1.0 - Kb)), vec3(1.0 - Kr, Kr + Kb - 1.0, -Kb) / (2.0*(1.0 - Kr)))
- vec4 hook() {
- float d = ( (GetT(vec2(-1.0))-GetS(vec2(-1.0))) + (GetT(vec2(1.0))-GetS(vec2(1.0))) +
- (GetT(vec2(-1.0, 1.0))-GetS(vec2(-1.0, 1.0))) + (GetT(vec2(1.0,-1.0))-GetS(vec2(1.0,-1.0))) ) * 0.04 +
- ( (GetT(vec2(-1.0, 0.0))-GetS(vec2(-1.0, 0.0))) + (GetT(vec2(0.0,-1.0))-GetS(vec2(0.0,-1.0))) +
- (GetT(vec2( 1.0, 0.0))-GetS(vec2( 1.0, 0.0))) + (GetT(vec2(0.0, 1.0))-GetS(vec2(0.0, 1.0))) ) * 0.12 +
- (GetT(vec2(0.0))-GetS(vec2(0.0))) * 0.36;
- return vec4(GetS(vec2(0.0)), GetT(vec2(0.0)) - str*d, (HOOKED_texOff(vec2(0)).rgb * RGBtoYUV(0.0722,0.2126) + vec3(0.0, 0.5, 0.5)).yz);
- }
- //!HOOK POSTKERNEL
- //!BIND HOOKED
- //!BIND ab
- //!WHEN NATIVE_CROPPED.w POSTKERNEL.w <
- #define str 0.1
- #define GetS(off) (ab_texOff(off).x)
- #define GetT(off) (ab_texOff(off).y)
- #define YUVtoRGB(Kb,Kr) mat3(vec3(1.0, 0.0, 2.0*(1.0 - Kr)), vec3(Kb + Kr - 1.0, 2.0*(1.0 - Kb)*Kb, 2.0*Kr*(1.0 - Kr)) / (Kb + Kr - 1.0), vec3(1.0, 2.0*(1.0 - Kb), 0.0))
- vec4 hook() {
- float d = ( (GetT(vec2(-1.0))-GetS(vec2(-1.0))) + (GetT(vec2(1.0))-GetS(vec2(1.0))) +
- (GetT(vec2(-1.0, 1.0))-GetS(vec2(-1.0, 1.0))) + (GetT(vec2(1.0,-1.0))-GetS(vec2(1.0,-1.0))) ) * 0.04 +
- ( (GetT(vec2(-1.0, 0.0))-GetS(vec2(-1.0, 0.0))) + (GetT(vec2(0.0,-1.0))-GetS(vec2(0.0,-1.0))) +
- (GetT(vec2( 1.0, 0.0))-GetS(vec2( 1.0, 0.0))) + (GetT(vec2(0.0, 1.0))-GetS(vec2(0.0, 1.0))) ) * 0.12 +
- (GetT(vec2(0.0))-GetS(vec2(0.0))) * 0.36;
- return vec4(vec3(GetT(vec2(0)) - str*d, ab_texOff(vec2(0)).zw - vec2(0.5)) * YUVtoRGB(0.0722,0.2126), HOOKED_texOff(vec2(0)).a);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement