티스토리 뷰

fixed4 Screen (fixed4 a, fixed4 b) { return (1-(1-a)*(1-b)); }

fixed4 Multiply (fixed4 a, fixed4 b) { return (a * b); }

fixed4 Darken (fixed4 a, fixed4 b) { return fixed4(min(a.rgb, b.rgb), 1); }

fixed4 LinearBurn (fixed4 a, fixed4 b) { return (a+b-1); }

fixed4 Lighten (fixed4 a, fixed4 b) { return fixed4(max(a.rgb, b.rgb), 1); }

fixed4 LinearDodge (fixed4 a, fixed4 b) { return (a+b); }

fixed ColorBurn (fixed a, fixed b)

{

return (b==0) ? b : max(0, (1-(1-a)/b));

}

fixed ColorDodge (fixed a, fixed b)

{

return (b==1) ? b : min(1, (a/(1-b)));

}

fixed4 Overlay (fixed4 a, fixed4 b)

{

fixed4 ret = fixed4(0,0,0,1);

ret.r = (b.r <= 0.5) ? (2*a.r)*b.r : (1-(1-2*(a.r-0.5))*(1-b.r)) ;

ret.g = (b.g <= 0.5) ? (2*a.g)*b.g : (1-(1-2*(a.g-0.5))*(1-b.g)) ;

ret.b = (b.b <= 0.5) ? (2*a.b)*b.b : (1-(1-2*(a.b-0.5))*(1-b.b)) ;

return ret;

}

fixed4 SoftLight(fixed4 a, fixed4 b)

{

fixed4 ret = fixed4(0,0,0,1);

ret.r = (b.r <= 0.5) ? a.r*(b.r+0.5) : (1-(1-a.r)*(1-(b.r-0.5))) ;

ret.g = (b.g <= 0.5) ? a.g*(b.g+0.5) : (1-(1-a.g)*(1-(b.g-0.5))) ;

ret.b = (b.b <= 0.5) ? a.b*(b.b+0.5) : (1-(1-a.b)*(1-(b.b-0.5))) ;

return ret;

}

fixed4 LinearLight (fixed4 a, fixed4 b)

{

fixed4 ret = fixed4(0,0,0,1);

ret.r = (b.r <= 0.5) ? (a.r+2*b.r -1) : (a.r+2*(b.r-0.5)) ;

ret.g = (b.g <= 0.5) ? (a.g+2*b.g -1) : (a.g+2*(b.g-0.5)) ;

ret.b = (b.b <= 0.5) ? (a.b+2*b.b -1) : (a.b+2*(b.b-0.5)) ;

return ret;

}

fixed4 VividLight (fixed4 a, fixed4 b)

{

fixed4 ret = fixed4(0,0,0,1);

ret.r = (b.r <= 0.5) ? ColorBurn(a.r, b.r*2) : ColorDodge(a.r, 2*(b.r-0.5)) ;

ret.g = (b.g <= 0.5) ? ColorBurn(a.g, b.g*2) : ColorDodge(a.g, 2*(b.g-0.5)) ;

ret.b = (b.b <= 0.5) ? ColorBurn(a.b, b.b*2) : ColorDodge(a.b, 2*(b.b-0.5)) ;

return ret;

}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/07   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함