From e7a7463ce50fc07d7e86ea85a7d4d9027381475c Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Mon, 29 Mar 2021 18:52:56 +0200 Subject: [PATCH] Texture Mapping hydriert --- Computergrafik - Cheatsheet.pdf | Bin 279756 -> 283972 bytes Computergrafik - Cheatsheet.tex | 411 +++++++++++++------------------- 2 files changed, 163 insertions(+), 248 deletions(-) diff --git a/Computergrafik - Cheatsheet.pdf b/Computergrafik - Cheatsheet.pdf index 499a1a6c7f7a3911b4297832475a3fd746dade87..2093bec666019b0114895d470e273e710dadf3fe 100644 GIT binary patch delta 74488 zcmV(>K-j;`i4nxA5fUX(L`E$!E;R}z(A34)3Nbe`ld&BWu_cNf0y!|Vu^kN^0XLH| zq9}izS6y%0HWYo=ueguxfY{=PC~^o2G6q~lS$dV_?Y0_W6b7i_o zyOuWgV(a66o^wcD3Q8#>CCHH0#TbCF~R=_tSt1THrHb+m69LmknkcN{Ym!m^; zl&0`PODXEhE&dVA3jDh?L1jXqZ3_$p%CP`JAd3YG!XXA=kRl_;03oc?3=~ozo^*eb z9O5ZpD3C)aEfbLHn+ zxp0z_K>}Y=4%I zN?u$P{mQS4zPx++V_Uhil@q#di@IAhEqgR|#6|5~=$B^QEPd_2@uadQHHrA^o&ROq z{O#`!X2>Dz6+j98nU_1ndw{9O9F_q6oQ+V^eQ%~qZ!MepmbZ?|{-w)L^J z`7Y43=z8BS+hP&L&;~#*%K3k$DeInISIed?`_+2eMciD#p{X91O})5Lxvr|>C|8m0 ze9w#aw!KkWZ`VF%E}qOk6|1)Ph+i-1gf3U?T{rdG*G<(d%V-$+oDG`$mN;S*NfFfY z=GV7$^$0lEF=PEy=iQAmrrj{*-~jxUejY6@NabpK+qVUDb?=Aj*35r>Ts9);=C^XT z>gguMUNZHI%0I-lDS}GQrjzrZ>8zZW?M}}{<(~p{_rC3YSsf@LXz0vWev2w#-K__h zqdf-+UCmZS-|v4}y7DHMb1Pv+iPE z`weDV%*&=L`^T7Zkj#Izf8a$;7sY0Cpr{~}v$C4s7G25obaYfZK_{2c{YQU=FO)g!mFT$_uH;mqohUAb#aPR(80T5 zYoyC^0rkZhTZr@m{p?aX(>kTpEI@bj`bYaZxBiU&Cc zD62$3Z)hVxKx34@bL^#^K|jol+z7Tmb(9 zqG0=f3T2nm7y%IiFfp@nK&v5>uXPl&Fk*lc0W`C*b!jY<>B1DVE~2_10x~m`aX=Ka z{=#q}lNtXM135V`lQE(wf8AYOliN13eb28LKSfj5;t>3%Z{3ISdYoh(Z(O!Fsq$tY zI2J}j4@K#c)Y#U`{p+^@G(Z3Z^<~Lhm6t@;P$bZ3bf4}%4f+@J3;*J$AAJ1(^Y=eo zy$q5ILcBbVgNyff7h!S{C#jd@*~R+VV(M9g%3ETpH>R(Jr;6<_c;q$VZ-4<<0n~t{d(=434rS*(9_+vE)7(sfGczGIT z>@Fl`W4V~ZeKQ=xp8@f$pXk5H;0FPG&#&z+Lo)fgD%+3j!~HY%Jy;);E1L|=09Fe$>f*CiVttue|F2}NAdSLt&6&5GwHlD z4p$r4RI0QX`X!mj(cd(mnSf~ty0MlQ%xJ5LyXfF=_4H*40^Y9J-#B0)(j=e!ewl|8 z+7wkarwh;mIW+iFu@+h{{`JeEnA0ijK{{h!WZM4Yf7c|<25~VBA}{w-*u|+AMWJ}? zO|zlvxtjbVe^;@3xVX>u+0$@i_JD)u{$oRnivBpJQpLKJ8>Fb@mknFUwqt4ra~5`} zzM7TuvMX>CGm8Zy!U4Tx_g!|&c~ku9lStm@Pe1nGlwW8i{`r{+fHpJQ%K%p63uVu# z;99bu3dC7(gcxqQ6#^?Jmbs>#Qz+atlTf=&nt5TIf6Mzk5my*1tk$6PD5r<56V5@t@R83rJbcDN-5STd<$}-G6<^9E^GHH2roI=3 zxS;=sYpi`$G;~af*g6Y;MNJ0~$%|=K?_A&%b~i}=*!k9l+Q3mVc}{0Vb0*|hq2jXl8eV*^JNz*Ue9)Kdd;H8lb^s2 z%~oJuHsz|^-yp=nw;1oHSTDrmOB~HiXeybYb7wfDzY6T1`0%1=z~fid`m9F#cRtW& zAknqhU$jA(;z{4PT+psD_Z*otni@7m-QF#me+8^R_wwf(`&-%;ixu-~2%>kre z`^QEpmV?14w3KBt69Z=(Nts(U7O^n>^>gOPX0+SafF7~Ez)Lf4jq}09xi6Vltgo(b z7dreil)h220DsE-N+}km(;bN#(sfmWA%Saez(9r!$enYYp3{m-zYki|fo_qBT(h_A zf2*IKPyZ00LAXP)DrzhAy9xIQ>|SL90d)+Q?sWlTEDJ!RpscrRX^qiLm)2G@21wWd z=dCj3Y<#!}O`C*f;h*|Wfjv>uSyhVP;#05rDwxm=y)sN`A+TL*Ni&Q!ar&ke1YDPZ zrzq4`jA7v8ixD%EuY9W>HE4MJsWehEf2u4I4*G`A=3%w2AB>4`iG+a{5Y&xC4Nu+` zXAAL5zlIO|&wM48&8(~oylI5Hlm|i>P;Az431|yARE2JQL^oUHrPfJPiEB{xq~0PX z_)Q4GC5mZQHhq9o@ZZYiyk$|ChPE4fNv-euqg!Q>MU@Zg?YU%fab#sKx;e+U-? zS3-G+1E{N^io zjhS-k_-(u5Dsn-R5JIhdH*A%w;{c$h)Jevmexe69H#O7AM>gEDS=I~6|J`jfX^H2j zYOlTnI5(%&ZpCDtv9_-HO=5T0s zB~aFl0{<|s56m|6al3JNh_b+&fGpBfZZqALm{zWbTbs4zhnzxE4-@;yy0L}~k|8qh zp9LU`U&~x&l$1JS%PKH-=lp#009EY~)m2Je| z3fzIp`)~>VMdnKMfDuD&Uk|lIhgw7@=M952I&#KifA@=zo$=!^MKZV_ zGc;SH+^H~i;m*XDF>V9gzY*g|w86$;n@#;8!@(vV0Vkkc^UNus806?1Yn&LGnv#Pb z^goUVflJDwqqan7JSs{}`TL>cVX>Em3N(Ci%_=6@u4%sceSe@YIT)ko*764#{C?Z#pFpwLT5(r5YxGXg`J#otZ;h|{2$3+0Ew z_f){-6bcxgXI>*3NKU`8MpV$TUZZw6AfZPB0F0n5d46&;jMyjGrk%+t%|w8xZ{7vzu4(nVAUTN{KJm1+n&DH-8Tt!{PTb!{J}k42OS7GaUZ)%y9S@HN)Xw)C`B;*9@Cang&7c z`LOO&0$&m$IWIgd=Y?_X$jZSt0g3h0oXqroqCE?Wabs96?90=yed<+a9kr^9tVpU- z>S%$7-EIB!f3d%tDlCfZokt=)zpd^dNPG{NC58V!igH$0YVDtcVO6Vzc zRL&2jWOZ$1iR`zgoP($;hhZR5=EY&UH;IbNpYiihHL}2qMbcSS>3-#Zf}I@foX`?; z^35=-|73d(G6eIHamTGy;W7UMkMFC@=2<#qLIKx zXzrJ?e<;whV!&3)8G)G|PqKR_$dHT=5bj)*rY+~SAX%Ylk=zey6KoLpn^O#NHuEAf9tEqz32`bHY2UPZk4;VsiTO{6{M^h z5bmeJBeoi60eA9~Tz3YtW&}Q)>{hShzLs1UF{RJa%D-h_{`4HV)X4i|7EKX-430xI z8G1Zc;|;?jJ)ZOvykzMMz5`n}*hyiaPxz;z-fW8ds^CASUHPD#rOBCk(=2Z*xCkb>}D|(ZtuQoV*`E$)eJ2`jOS}Z&M2Q2Ns19M0w zMI|uDQw`g&+f>G-(xyuSl*zIx?OHlB_R|}*no=Cht>4ZmZ(SI$c<@05k`fvzElz5e zcX)GYa2wdR5%diB_K9QL17PveZGLcye^(fsIJso)9lftq5qf-onzX1Vy@h?K`k}vQ zXep}IVouJ{hF%(H+lMPI(eze41V_o4;e6Cj2KZ=ANU=MnuiGQ*MKJpHjkB;3w%PKa>gGBd2?;B(Z@ayif4t#w z?8Vnb*OXrzQBRO~QLcQ;Ygf^hy9h1p>6WgDIP+68^~0z7%0|YV87V}$3pe(1lq9H& zX#|Kk=fFP*LVN$#iW2DLWihQ*hQ_cEhHZ%~+j8b^gOjX`G`Zz)WpaqPh*_c@u1vS* zlGt(;Yr;@bZkVCLnwa!(wi2(3e+6v{>xn#IB4?x~pL8FTu1rIoM2>whXW_U&V#kSJ zYQJw$m|Yxw!TQ{fukT9Hk^t;p5Ph>SGA}T5JY#9HaL1!Er~NVfPX-8>?3Yi>xc8P1mltWm_WJ+U8;e=j9O7!1Y+ z;12^sv44>nAdYRmNx37Bu!Lv^m_5*Y7o=Km5J5&Dn`F-{4}unRE6_oYjWlMKQcY6` za^sXY+>$ijGn$OPL{nT?E#P56T$UXa@7ymJ%eg|JuSAcj5-PGZA%=^5Vi-i^TFwt!Z{G z*hcr~^*hO@pU<(2nzaGSij$V8I53b6Pt_nPS`dBixwyGPe=PEPU3KNEDusjSA)ylK z&+IIXIaYT%)u2EdM+y&fb!Pt~?c4lH)*!lW<-bK@AHEEU{L0lo1IQ&muz^NxwSLda z+az9`pvpD#Tb4i$cmlcJ(SXNR`BxS@`V*O6#Aj%yrMUW)#@t*IfCZA;Ow4Gf5J=jsHntG`?mEc1h2_)TPOY@{?3faiusVuwzeHV^RkTerA(fRzgB`X z_ZG9ii-AkZSmDI%*n>bEQJHLSZ92>Xv2v^|p4WYcvRc#YYIR?rKdV?>XxPWJtC#Wj zaz>ZEC_vhm%z{oCbY&TGx~-#;cxm6!xPgU}{dZ#Zf3ONK>K>Wr`@40Q&C+V~?M=-< zDzmS3vFPzPmv9=v;%7#05=I{gH6Yv$_Zo-l8yb~on0RJ0(K`TmGeep%ZVnB3`!y@H zZ51cejY0ht<{A?`1||+zGVvO$Et%$N(^;f!GJ z884$VXOw9@%SohqmV?Q#*>n1Oce7^~D7xqP2paQ`# zf6B+!(sJZ@mrl`op%{;uhe8n6Hphkc+nV9b%d*y}7Ap3SmZLWH=|l+|I^HA->JRqYpQ6 zA4AZ(4#ev@T>VN*adWO**&`|`cNvc~e+JJ`n2~ws0Q7CCr|vXVjn951h;5;lWclt8 zTBhN)N-zn$#9}2JBEdz`Jd`~lgc%+aSlt(rQDEtysdy0Hb-0zv89FKxa|ub2Og9s3 zckg>nQQX7zLnhes?8MH&6He%UZS?EM=_{up-K-tUKTHN1$F}tREMM@mux^WAf0T16 z%-6=TjD5b86~mtFh26Pr!eDsiI#xpqYpj$Z`vYdW5^1KUS0C7#@@0h_T4ULl4AI8ms z7%)5a8Iv3DN|9--3a6j_RZowKf6Vn+Ia~b#pGK@%gUXlF;!EdCv7Gl zw9`)#;fu|n$PJyw{4zV}CfQfP3^6sutW-Qrr&CeL3)C{q$8wodyVx~iGnd1(O&EDm z8t;G9|Op&-P+ZUf3Ci5j;Pp?h1yzlgIjik;X!Blo^Be{Dct?)Yrwy z_6AA3{@9T{l%YR@N|nLK!K&C8pma%i03*lE>n9Js^3> z05Qy%l>&?bj9?(Oh4j{%!san(aB0r6s@73Ml8Kx_h`T!{SXG^qgYE@e$(e}}=r2K?3?Ox{*R znNHlTkJH0g5fMpF14H`0EEa#o^vm!s|6I)Jt))K^gmv61Oa&E$YL!M)=U-OXs=>5sfk<`E}44=r%AcZt>u&*h|7a(#`YIg(&+9t`<{S`tTffW1$zB8azQ#K3WfA zdHz-r*sW*bhkvl5e`+^Mm!||n3AIx!#lj6{{kM5SL(UhKAyMA1wCEhrPZIquZR*0E<jIZ@p8`VNylJ7!6=e_5I$Z?UY^4%5v~dpqdZ@8<7N zVT065l5l@)XIrR01p4wl;xrU4r+uf=W3rxL+iM(K=6h+L9p*+@tP|!Y8gp2HGrDG@ z-aLZCt+fCXV4tU3s-7~@Ei-kj=sVrsfmCOXH!ppn_<|iN^W2v&lPG3`Er*YM4Yrn6 zE8T;*e-5b^YoB>RbjZr@hz{~JJ=)S;^Op}WU?jU-@ntm9XWrGt{el`*{fHU-RnfKs zAl_2-k_gxAkBg1uGIwed@Rtb5&BVEcJ?4=Ikt<}=FK4M*b3ZKWzQbpq*y~8e7Jd&? z)_2QluAyUk-)de_zL;W=u!wlmsXuZSzdv@se|oDrsf3~EEMCS8OyH~pyV(K^80;nG z!4lnMk&GSNK=vUhNj{(ag&r=L9z{d{eTX0m$BYNbmi?Tiie05RO{AhH!j(|u$Dmw& zz1s8#q3HRr`~a#1r>S0D;?XB(oVbIi%(YE)bIKkB6_2Cymkgn;hxOME)f{9Z@st4V zesm*p9NO$#U-w`99iI zwnJ7g3XU%bs&WbT%p`tt;7JbFV)yS%c`NvQER|EL!vj9inb-3-L10$C4cm>zAXt#Uojf3@<05nLba!wl_Ri!k|mPj&y|q*}0>WV(R) zAXc3BwZl`kGyGz(rpeJd@((=VD9gw`64zd4!QRTZHhBZJjYBaS84z7Q8>DokvFNbt z5}hz7TV%u_YzQQGMxus1Y(rK>WL3S<(!=MZiRcYq24z^icoNK;Vl(!KXm~P|f04W( zYCC+o9UxFMM7q&Zj2pFDGt3>|7R?#qzc%J}c!Y-RjMKc5dI{cw-Z$cwjqE27&gWP)06oM3%@=y!$s$WIUP1nsL8>M1vxcdHh!WA9d->Om- zMy%DFBOjJgRCW`&TBrZHn1+#;e=s9rg#BAW>3*31`njOeVOQnVJ35!Zk>q&@bNIKB zmQMVUwEK8knwMcMkN;j&0oU!0*BV5T7sin}uS2xZeyJBrv~b;G3tDkjs@Y7t9?6~= zubIK!CW>O}-5pw1H3>k&$WB!?9^Eb*Bmz#=?@s`F1S)N`mta}%p|OHJe^)kCS{F}7 zlem)tc7&=v$U#|ZzxyiQpI#~H>FbW%A4JBrVPKHEyoSnQZR0Dk8lt)(cya&EBtOrk{n;*A8g2ojk$M12`}jg}>3kqB=+l zh4^;~p9wx?F0l+!tttn4 zW2u6cYvq-*@?%j=N3{2t)awyd7CXtPndiYdU_1dfoXLjP^o%@6`~AqnC6IZZ%4kbB z2FXFD=#&>s6s0r08aQ4R+R$2iHLYme)6PGWDMEPg)jOL=PjKN-oEE3HBPaf3-iHeXtrvYYT_!*PiL58%|ia=6N23SP3|@? z;CjtO+^6)21dQ_KSl{EF?VlwxRf1HZI`>6&Yn6>&G4acP*r|?s$OKSac#(w*yg1t# zlrFn+-t9Pxhj?*#e|$J8Qm^-weIOtv6&^;Nitb7!w?tAIU`SbV5Na8|A6oT{1&nN| z+uV_NNxMw%9yO*jTHX)qW?T8O*?F$AZi{8DqLB0~ZWNJkS5=)eb7s^o`|R{)4FI{b zl4MBBky(wwdlyUEs(xc$A;HIKQ8TKznr!FfxZS+};r{^u13nIHm(dsjCj>V%F*TDh zq9}juU0ZY8MwWi}uV5agLRCx%jXSuTt&+-@cp}AK$w{g*o(ITml88W1!Nr!j5Bt~m z^t~Hsf*@_x%)`D|Gzg-*PoF;LJ6E`q)x@2=e&%-mUcP^J{>qCdk(0)LGI_t8gvd$5 za1zF@6UUSHi^)HxA3Wrq{qz0b<*&|P>A!zS;0GRDr}zG{tu|SK&t`rSPD}RZb6zdj zr>tF)55aVi^IIOzzs%UDmv`_NO>xP;d8oE$vj|Q9%y&7i&Sq%ZIPAyo=rntrA;C_a*L*O*;nB!CZDDKFII zVSW%#ZyQ_`{QC-ja8U^Jr;BCZ|GHV>yS7}hJ9aon|i}$@R)D; z%F90CK9RMt?_ql}C-qgf;@i2vHT!>{F9(+kLDY9`dEdZ2{jJRI*7Pd!fFsdl<~qL5 zIrD${?b@ZRT;(hF$PaGlQU+)%IY%@VYY-gLVFI`tcC}o=j}d+P%#WQYP9`(NP6i$2 zC1b3-+Ljx}WSk7J=O&XBS(7*I0?*EiEliDm{JG0k16zkeIw~1GjFRK`?)HBn$17Yg zUg;dhn(fw2&KQ#}L*6JiY=vv~40!-R+E(Gl*pQ-NwX+z8Tf-4>h^h4It#opKQ z=zuuQSDbaUKpdG@-Gi z(+dJ8j{JSZ2@T@#AGRfMK_N&aH4kk65?4$GVRgbl=;Tz9(1XUVYwLff`sMr;@(s~I z#*W1@zGJr-gh45pcW97ig+X1A(?-YGiRtzP1>=&&GIK;{j;0mcQ#wsgO>;8y0w;B2 zQ)vB^uhz2{U&?F)B%#l|0a?vg`eu`@a=|`CZvXV+<_#6W3>#2#8RB*ZlC~ZxIHlM= zL1L^kCHKCEjmkD+{p5cNThIOX9g%sZABZqpW%opm zo?i-rP$?y;^;s-J9pvZi!k>7-6fpl;A7b6&`xdA|zVJfF_mYDstEwpmFpvZcjo17- z`9+*MUNBN-ioNEX*I8nngPwR4VwFvFhTOpM!>Fe*=yM3hWa~jrlEw$u!-m6U$xtDu zT-{_%(?vl{%=&-9Bz4lri|FPCk(0Oq%*l7Wkn8&E{DBB5!q9!m4D<);#9TIB2m-#X za*%^WBuqTch#;Ck&T-nYpZuJ0 zL0_`X3_S-0;Ry7Ni6nCjytKhNS;6@Q9G<%kJ-2c}%x-@mkemJgqR2DY?$wNKvKUrl z)|ariKG8M&7mK#ir5PP_OBf&kGOB@EaqKVXU@$79S-H?4uK;{mU1QE?CaFMXtQa_( zc&-y2G)K0zoTu6ZLhl(am417mcvIJ@cX3X7 zbo1aCvRo>~NY=@$)()9K7MJxBL>hG+l;d3-Sy6vmG^v0uvv>4|9J$PX7gkZ{pxw0E z*~-WSxxQUx<&NL{2PlhS1NbY!Jr`=ZG*+cUsHzQa5~R{BGUhMX@R{bgfK$0pu$ej~ z!pK2ZF{&%6lwqL3g|#Hv zvgznlL)aT;8sbRg4-O58PiAw%etTwxAfUL{`xKm$=|!p|e~@FCo{WF{nQlh}n-O^jbx-wRXgTS|tuZx%Oeo$}a|SB7 z#DK9h_c`~a&csACuIR&0GROktRY3)ou0c%a8~fiVF4E8X5!B5$>QHnDE2ZL0DPlAg z?(HNX5Bv&25;EkvFg4X7gCdPj287%`^}<`;iPC~-p1 z8|O8z45Y$!Dy-hoy`0j=3bW}cRX;RjsSD;xLa6M50_S@5e+CGVf~X2)WTOP;im_!U5hDdOgZ+PAV~~qcglo4K4I>)aHp0ThfbV$<7R9`?EX}- zp&LCmC~qW66mfsNt54R0-SB_KY=7)KeL(3ZNPO>ERApy-fmnc+h@;32Pp8%WyhocL z0H#fjpv}G|gIOE_ju>9D*IV-Ws}#OT6XcV7Vz?)q_>SvJb7zPwY2YMbLYY1l2GSwA zgciD#a}mtOiz;8$O`nGn0LF2AB%S^ghpJ~eF_94gO^|m~DCveU;Ol?O!{90gfk0fY zK$|f3PKg$CbD4wuip#)7RxRgaQOpVBQV%2<@(YJ-08m&!g3LlW$}Y+>TW_%7=yF>v zOvx=2*+o@l^m%GuR-meJ$>YG%0!TTjmyVUxosgRkbVUOJH=ujuX^t|P3B!0ypcYe1 zrExfl#c*lpkGm>sh1-8xc*H>`A`?sQS};L3;-^Mr6AOv=8+8vAov=rb7ajmd?{NKu zVD>tHm~;1fqEj_;+*nGP4cNskY;)knRA!UE4`*Qtu>8}uza^l#5)>&B#YmWoI0`Qd5DLLj-7Mq2(!Kc-scg- zrjr^IXfnK1Y;d_H&w8A_qI^K8bx@h7!b%*Cd*tkaA(bhKD{Te*&D39G_Yf#pL$cf3r+oeJCF+PXbQKlYGwdzr4J-d3pPOZh$4B`6;0FozNW{ z4X>MmM7)1X%b}aSV{XVnFzQB5;3g*<>civ%>V&~JAs=w3$Pc=DLntWHPgDqY*r}-L z3m`b=9OpfHpdSdqip3zEJTR?YbTVdojmxaX!?Ub8WL#!zseI{)kXrCAzi;mZ;8s|O zXMI|da)l3i*Gkl+`8#!U$7A8FBg~zbn$^8ySgU_w=?Hqro<0MhRpci;(~Ljn1<6jq zg-T_U{ympR2Ee=y%k5}=K`M?|DL zWBOpoN>|#>O2gFGyazU89pdJd zANJ%2J&9X6uy&til4#i#qBAAC-RZqdEpg2V z@jk?bl12{CjZ=*-5N=DMsk5MSgGgd zXz+!2rli5k_rx*WGo|H(nK^rhWgeC1o=tWVm?;hMdH+H1eI%VrzEwthemd+iRMOdZ z|7M#+Kw~B{;M?H5=xYoQ)Bv#_5paKEVk}&jWFVtLDO-N@E%QN6lzJ2GDN=XG*4g<) zHhSM~c1m-4gVAV`HH2KBg03V@bvw1mXL|yP`by)-*_*-BR3`Y}muG28fyf2;7xGNU z6C8an%t;JlBO}3a;y5~4SYHYOrsZPWkTzen zN~q*fAr>}{X`=Y3y}FZpPyt6boy@$IMAR)QQ=o}&q8@cd#-Yi#+FCm~klmeYEQydB z1P~6aeV#a%BrbZMhJZG`yeWS!z+Z?ZnA%p@613Qc``Zh)s9q?3UpiOU!(DHs4fy@% zyeRHPwn&qr|mn=o|Hh};!DZ<1&yGZTWLIsCxs zR_bnldA6>%c}0f*;ClX9=qFP=yKeWS5{fy?8C&X{wL%ALd?70(&(?pchLlt|mtw04 zXUnrfQ-wvEJxWr?58^S2_M9x@2c7gjQklRUCXoDdpfUzS5|_ z(#RBYqGm~XJLY;ivru5AHK_BW#B@S@WWsGK$;c+7=YN~eFwmZi5b>{cqz5<~L}5l8 ziL>RlSmDxMsbxciKUjaAah;juTrg;<8}frl0Jjgxhw9@t4-ozMNUy4vSuw8lkrVod z6A7C}m1(`t@sc=#_Jnav^h1g&h|#AP9NjST)dS2Irf@q_U@fn=jr6J?19buz7p#br zi#jyVqmiIbjJeE=Zd|m>y5DaguNxBrF>Tw+=J_(~CGqs_AQgWOt{YJ`hSI|_omEiu zbi5e*Q5)NpV-JPq5W&bN;*z&(Q6C@x<1WWC1K~O&VxuIdd@a)fHcaf0Lb_li7^!8R zOt0w7v>s)R9`a56AvH1Gvf5_J6Q8jc9%0E3CjV1#bSTIdgB1}U%qlcQghBm%B0?I6 z%p2}GQ4)@GSgwDoZi#j)Dp|8?*{|lwM9R2xDBR!%$yX$%uk&K5GH{dxkx6*hLJr9| z!;d%kW0RGuwh#^ke$NwU(R10L>b+QZnJ_Sz4MZ49kIbS7eRj&>QI9kBm%%IeU=ca= zI<9uOJ5jjEPQx%C~&ODdxhDCsm316S6;%+dQgUhUHWa^HNHTePhNi*I< z*FU)I&8Aa;vj@M*E;lqFDXe!og2r0%Xb|05_B8OwtcVk`NZu^45Fz}G_KI;uQbZgw zr^?Y;5juZmp6mKR_F-a~BmDWg5e553Qig;P+{sg+0m+giZf8ZqV~0arJnz6NVtghBtw(Kp?$u zlqyRC3AGU+>VB|R_`q?2TLW6c9CUwPe=kAY%NVch6=7yxby!1A!`33{wC+u(LR)nP z;)r!0bCop!m!vA9j+6j&=vVYHYHW$Wpjif6?U0P?NXz`K*~EU{vZ4+yp2h4nTPBXF z1DAitGT_f$Hf;J4eoBJawEftQ9j)4q%gpL_`73n^F8b>Qq^IBcu459hv}$r(E=j$( zucXO6YXCv3d&dfm6BB8*!$0rL@0PQ1F8X~)E5+I;?vN?>b>+l1;nqK%DwD+)$5hfS zNS!DQjuCH~a$pinJVF;Iax!Wj8?lYVg|UBQ?X0BIkPWUFlf2^IJ(m}X9oL^liov{- zv?8CUmr7fOrI8iN>abWN1yM2ya+DS5(f{#sFE;@*5gk?TMVwM~zluJWCUOGAH7(DL zP@;^G%Gqb=?2{aor{T5#7r=W3a42PqHw6`26xm}>40i&Lv6BYA*#v8|-SBDUvj2Y$ zmUxP!6T0rOr3_|lnk1(OA1~T^1txmEAgLO21x6VA_gC~S1+$C6ap(4d*4@9{4D&HJW6%NlU(j+Eti5URm7f=Aj1(T zA}Dd%TKPCplsTA>wYKIQ1gc!-gX@1W3oxh-sTjkF}{h29Xp0SrDEqy=`*)xsJ1Gms9B(?1En62I{u* zv-t%iIJWVw8QUh=Bw3SxI#Us*+t%=4se(f_od?wo`f$es z96$CAxFEW=W=f-NEDblG$oV3TtZTdmRMi4N=l#e;X6C-Llm?FHdIx{b(x}7a>4z!X zbkfyS3{eIAxaJjY>HCw56DRh}V=|C323#7R9yGhni}kj}jY8HJtu7>cuvheZ6zG=~ zc;brpyU;9NGu2f?GAl56c4nYABKeggd)2AVYldk@nuL4dF-_-c-B`?5$CX}^4ksv0 zPWGgjrL+9ZtTUC{UTuF@6{(Nci{ua-?Zo#F=HWE?%GL`OfvFk?v|W-XT-#*KEi0jf zf&8h~7j{JW$xlvr6UR#$ZN%MlJw6k}W)dD_*qy-my;3Ze5GaBfs&!UmS4x^Tlomq(ZW+qSkL#wh}9RVp9G} z6j7WA;F>i|55W~$6$yW_I)v~)-3A6b-*@7}X$MU%e@-2ebUY!!;4@n_e7HK3y|oF>OObGShz_jXHq-Kwr=fbLfS$R(k=# zZfbkF$Gq{3jX!AKTv_-hc5KGPe$Ls)%i~x%KE%r2(X2cyCuq~R=wuUHBsUk>Oj$9z zQum;MlIYfgEN1GRu>X2F60j`%M^p`2>r07Mir^m4V!d^cun6N$F>Gp)%g1Rei5ATU88LUJL3&;)(Cgda9d~!w#El=_C z*hU%Dx%PR@R0Gkx9S`>r(l`H3I$XenmpK4EU*2eqENJTmK^@?&; z(w$kzr|iyoLhtt#Z)}));~Fi_EycfP3hzM~-#I5UJ~%<)e55yLGqCtyS#4{i2POWk z5ZE5c9epFoy8Q2dGp9n4@`-lG#|;YWll`N zvsvH=!ZIQlkT*KHCLW2QWGYe!>B@~0Xl!maC)?XWHHFO!j%kFgGC3l+p;N85*RT^u z{+EmjUYU5nH-~S@>x!24(gqrbo%VkcgZI@(4%nc;pUxsQ&Gf_!22FfolO{(sWMdwn z%=F6+ZZ&ZoAmbfIAonBD%pzjVEa;W)&L2pgBM~7lkmoI1WDjO`fh_h~)?YSU^;D{D z2J0F})|eVJdnaBu&VsT3p}pwZH9`S;C+9amvBzo zr;QZtNt?=HcuQrg>>WYzgw{X8?{txR%J-3*uT}a%04|1?z*?OQbkmZ)EiGBOw^@s|Ch`1A zgnxIR9r5ZI_U^{g46W-8s)&CzuDuqJM#j+exrNd^J+Q56yUHK%9O6>~Auq|RpbdFQ((5nyo3Qh&c+R^J z(+j2*ubMo(#@h|iN1E_)#k-VL^Ro&!y;2zQ_vQO%{|A!#uuYfI7y%RkH@DR@0euny zF_W7G?klB%dPikdr`0;L=sTp3xJSoi?qieft4 z02UT@CKeVpcuGnQYgaqqf6VZdT0oGCwW9;yzZ}FtKoi$@n}msf>${(#qXR(B%?`lI z4q)ZtW98;!VF9qQu<-tmqa%n9AYtNeZ4OXm0?0W!0A1iI#T}izK-QL4uJ397=Oci| zj26Jk%gfF1_jZ7&JrHDVX5s))G;y^8+P`NsGqD4xJDOPoUA_KS2pRz^S63%KW@Zl$ z4<-|P7bZuLr4TKD1Hi-D)e4{nbOD0gf#!g}1Ot>z?1BF%V}hpyXjoah{9{*lv~U17 zK*+!KFaZGp?*=<-GoXXZ`wlk;b07%to*bYqs{l}T0y_NTtniNm1K>Yr17Kxh{cpJc z?EWi|wZq?=P0Y+3?VU^@c9o|SUZ?o{3XKN&52pl!P?mkC@b+Fmv?0+fSzVnf6RY{*YI)z{=LZhm-$_RpO2HH6TsqK1klgg0{H$1-p9qn9SCp* zxdHur{=M+O37(Y|U~X;Z3NQs)T06l1iT-W|TKvQBmk+Y`1n9H8_Z};N<*%RrelmP- zFLOr+JFh?Pf8Q^&u8ydVoFe@{ivPPNCg$h~@L}ZS1TeC3f3g5r*?4#X+?=cczyBRZ z#l-qQWw89&E9+q42;lvv+V^AnpNif8(*QL884g;&|Bj{P_};ZZ0L`B!H(=ppF?;{T z`v1Ar|K9TdufzX}^8eQ4|F zekV?V59|9Rngc!mZeaj3lY^t{`xd~vI6r`eBMAPlfBSszac0rKO#cuUfLZJh@c@`5 z{tz#KS@OTc%>rPS`a`S$X6Zk~24I%?L+k)%*+2B2PyP?R=TrDY+yG|9KlGkY`M<>T zo=@cuy=PGSL+=^X{}2a&S>q4A=hOT{@A*kov{~+6YEOToh2HSN_f58rD;rhqQ`XB2*55%9n@2Z^th3~3B z|H5|(f6kQSy<``=|8<0{@1p)4?cKxeU-&M{{a^Sl%Hv;G@?NOtzwo_6uYcjYDDS`V ze~qA-8|Ynx>)%i0`+fco|NVsr1bPC^;8zwM&GqQAX826_H=P38J(`gxf ze^x-8zBv181=&KjgZIi&<~zIbAgdH&+)WiRp3 z+h&VpA`+$ zw0q7tKhxJQ?O~S;Nt#mm;R!R4gj3dT_#QVY@ir0&CcPNhHWx{=Ip3NF5kWL$)0f=O z+(i>xCU;}rZ<%*MpiJTZ7J@Y}e=*0dwAiKS@GjLnE`d$*dEVTa{Cr-s=qT=?huW7c z-%taF*1efN0O@Y931N-*@ilM{27MbDrH1ms_2iNgdBYidDDkl&FJDJA7^m@cS>rTZ zxI?_N*vte1B#KBF(zn{eQ;TVo|2wKqm%8DF&=))EmoCH^NdTi|(;{X>e`{19lf`sN zYbf^j>fkdbBQ>p+;1E^44>k1N&;SmEU^j5wr^e+;U;Q*hX@07I~Dkf8UPWxmkSu~tAxx6aAIIb;E@2#1Fx ziglQzrl6obo$6UzZuZ^owzB6&%YysYk1&rCYbg!7dcUHwGLe-&;YT&l)06CPz9Q|4 z!J=4f?~WzZa%^uqR5(j|N{gobm{Ez#gUg2lCx?BO6+FxU=$&QGf8kDIr-A2AZInqF zhlCnwz9;Bf`cH{zK~;S%8V3XMQ|tnNE5Tgj$h^)3YkOmoFl(+JYKAtiOUgdrLAC0km*%sMD?r{zH@ zDFF*6h*!a(iGb<%sR1pP3q}9ZT-yrHL}<>*{Hu;TN!3tN)%F;Vm;hy0>+|4Is^e`SA&-j6+vVw+xeZ;=5B zj1zNsos$PjNI}(W-$0^x3J(*cM&984-#m---tBo!o^&C4m%{&jVpA$5^SWp%`$58i(G z{G_EmHaTCwf00&SbH~hD%10Jpk|DOz(y*JMUW`++s_QY5A@_Av^vRJg(%xEg3wg8# zhG_H6y#06;R?2>&r_pT+G2)a!(3ol&1M@7zbk zGt}lf=w)8Ds&v|rqJ?B+yP->0^4I?jdwRfzl3`6SRfWTHH?k=?{)77IP9K6?cDJO6 zqEY=me^I{G6wA%F_v1m35wQ&&Y6|Tq$R1a&ejO0eIe+}74(e@<0qL444hq`?_#Pvu zpOl{iikb71m#?=@G^E+lhe}mQpTJTkrRw;fWn+!sg4NtfA}{_1&7Rs#P}5Oy&_cHFZu=pC6gUa!DUkE zV%Lf(We~8Z?OwJrt`WL}c`kbb;HWQdH7$e}9rvSrcimAB#c zp)MrT(Iv90G0z))#H2Sc;e!p@e+u}d_STmvGN1UHd-N7t?q&h%hoSFj4i~Ry0dk#+ z&Zz!wsVTz-kE+XD19{86m<_VWjpAO&N1DDLps{ zUd8SNsQw+XDBGOG2y^H{Bz0qMXqCvc8A}*(pT)g6`77_4D(A}|YR^$1f0ksL0k!BX zv!eb*5qWq+32s0KvzRf6Cy9HYHVwm99QH+|;P@lbhv)C3VP*yEGg9OVdNbB4XIv&f z&s3O>z^E9}ai4A~G{_QZew6*Rw(4VI6TFbz!v3NHp=DP&*PUURL9Q61qOpH>{J=yh zB?FRHab&h4cH)B+5{(^}e^81?v3kP-FP}Ar@Eo%N@7Oc$uC%)eS1S_&1rU8{hIf%P zsut+)#&aIGe7uV6Yke}Nx>PO0+ubz?eu9Atc^hO=exOR&3AO*u*e+urh+(7dUj~b^ z*mgo>9)|VhlV-#G2vojMrVS~|>jZLMW4&o=EIa>@3oaL2LxF zy1f}25PNWn+`$~(Rw(SVz4BPI#Wokj2Wjs7<`mJZY~#eSNj-rMc2S*+6H)yvkao;& zuKF`aQvm$~6GIT;-uef*?Qf43E7}e?Xb*~wo+@i7R1HqZHIx&F6B3I{Sq2UUI$s~K z_^1MgW;TC?{``>xf9AIA|It?Eibd^#=52u3(Is7=eN(o?Cg=k@Ym0zzS$U- zYmvtqTxjUE#XWmn8_HA*S>9w_>Grv`n-0&583;p;G-a+KZviQD9ziFtoCP8e29Gxe zH=0yIsT)_!bW~AJHRjPo81fpnDp%#2k|ohadydz1e_su2@AwgxIH;~eJrrkpb9aV*x{G4g$H>IN`ohH|GVDDuqQWI8HREfo zNHaFMSvedboR^qo`!YzmK>=oC3hCAEfyKin2TE(t{~DSGu|+*exoGq}Y~ZJg%QV~| zsI)Cze*w5ZDsjcriMa*G{ZO{$rtGSxLz7v*%{s%oHGF=D#JP)%DFWxELB%^Be<0#k{ zxV>qpZ*Og%T40f+Fz2d#!#v|ZTI3acpJ$LGv#PHyBUu?_oNaFY)ax=rrao1fixX47 zf4}D~s*v!rfx%{Xt1RNAskC7;H5&Ml%!ddHIhLL5o6=)F{-siNft6bs4BV;!Vc0_* z9Y?B;36k-&nBdwTa0*kOidF4JL#6BEEA>N#D(HS!qe|Lq>ME$Jt{U zVJH}P6aGQDTZJj1+K=ST=Nlx?Dq}g^i=cXcMW{_ zvexpED#Xj*mD0hjLxrNj_)V~2YGebcXpa>dVX-BpC!LtnN4m`~C@YxpGTUVY{=>^z znbn2Sr*zEXN*a&cJp+3cVD6>8+3|IU9~RDcPY8KEnKYzAf^fxqrkcxXOFsnmf1E^3 zP$wmK$*@-3@4K-BK^Z?9VdP5&UpjrPTYj52iq<#~piR*1VusfxIqCJL^BY$?NfjmBAzEtwpy zJi_Xc9`N;Oe-onEm4R5xCO22=fBBO2sckC^6Mim3HgtPYx)xT1x;^1%@%S3k_~t^8 z_i>>V7|bVlE=JYG74|#+EwP46vTNuczsZSc@vY?wXgjgjU+;h z;q;&+hfsOzT6~!@&|#R!z{o+IXmPXsWe{|0l8;8^+@?sL;*IT@lI1NC9pNuO@`0jj zMv~jNp4z;sZ!8`^M7YVG+X4KUNt(2aYAwFQUnQgBRDwHlRcpQ-03MXo$>44X#tUH} zX!Uuy>ajQEfAdsXJSHO-fBmc#Aa)bOLWY-~n+g%k8eO$trkn=Lz z!ckyNYp{QR4@1L~(!axd~(bR5uw9m>7=C1dQHhrpB4WIAW zWJcd~W@orR?pSHS^+Mkc-r{OGM>JCW{PfYmERr%5as3(}3v5jHf6Mv0Hx!UU=Yu|+ zWVIE>>`;F#1qa%MDwo+g#fd3&<;tXhrA6ad>R#&y&x^?(i5VMrNSCf7!`~BDC0Z7r z#GRloK0Ca&b^ap4C#0Z*6_$u~DbDa4SqkrnH&4Hac@R(9ANg_ddQA{6!+3iPxj7+Q zA5J?AI>a=o2_Ums`IcKI(0r%T)gb*~@jl$!Xx+F8^Sf*kf<1c<~tBqz2%dwTIJJ+(> zMvu1pvD4z~r}m?BjS|0Ywv6yjNl}clwa0{3nRUicI6mIXf9Hu!RCRE6Vh-orOO<<2 z$V9Fm^C!pszWQbf)3=LFiG1dzT2PFbb@xc^_yMFTkB!bGM0oery)ugYNm?`9RQl}p zEqS4?&Ubw#bdCg(Sct^3HjdB2%GhmiSEm-5l4jQ}rDM6~f<}{hw}P9?KM5W0i3@jZ zWf_X(8~NN_e+I!t%jzd8nw5KTW6~QFcjjJZoC4F8$MiNyBuM$HvwkW(6uKcZ{a_Dg zv)zH#dVB~BEB-6 zNc}#Of6M+}My>^FN++|o^!H09M}Fzt%nZD#t0_{5M>4{SJA z8XI1}RmjnYDEb>;(4r#Kynh@n$jP}a20|iz$iuN1XcV0-IED z!-;3l8}RU4fhqW=jNJOGwO$i$0~By0w$7JsB_irepC9x@ zHn5vuB4TbjF)&!8h8ofPBntC#t#5hde{eT7O|d&18O8Jl>cwOGgAbX(U3)~bYP465 z6JEYZ{NX6GnCq(s*0s^=sQ+wH2^(E~+Ddfb^+0wNv?E*ap&Xc_tyj>&d~+tUcYRD= z(dRdKey5SzShe-5I{WAiEU)Uq&drrj@0u&MaOVT>s?*qmWF@iT!B65E_R8Icf3rJ_ zI0B85H$Q!T;&xT}MDH$Q9a2_p+cqP$3;e=$T3VkJ@T5pI96g7XuutXoo_L%MvizZN ztJ#+XZZPjqVn8Gq-sp|k*(;!#Rec6ZrpJ+iIE^Pv!QHa`BtlS2P!fy%d$+&kMr3}a z+_6!&qFY4q8&T33F@M@LkO{MUf1&R#!O_Nc3MZ2cy3k!j3umt(oAm% zO{=WkKdRJR z#|ASF2M>dT!-FZa8+n}~f5^xV;^-7ZNCgXc{w{;){kUlW`*jK85v{@WWLLv;N%=Tv zv^YvlqubBnu#K@lkxLcw%756%!&iCw7biLhxh*}w7c4R;PB_?)G}Z!Uv0hEG^ezq5E#w;Xi{XK_Je`( zZ1hvBz5Ne%jcNkae-?zs^3=TZPhFNGL`cjb43?$*xjyE}H@|;;*y5mtLu;9e`q*D zI=+I6uWSzbAO%#cgno1oGnT=;U8u0$y7+BS3r;#@i<`}2V6`J9;@kyJ|NR5_aGH13 zHv6|(KTdiUe_=}8?fq1_<)P*5`)-^bGobK`#0O6<%`D8J&L6RdSiFI#gN4i^ZQGVC zN*Axuj6`i7H_{}WRLB?->%3eaRV({7L?ulM)+-BiO2M<^n|!*4^s^V-#zi4v9#_=d z_ijpx*Y|4UFJvdsi!^KUFn)I~c+W)DgM=I_e^m@gxe=W$GjABhF6L2vyEWzE47@)(0rkCZ+UU{0kn`0zIlu^N~aGh0e`EAQiC#=cg zl8qi~SJ6W*XE;THubKINE4MSs{sfaQNhI3*6b4Y zMvZh{>`>qN&R{2nu&LNRFgNJ=L7Uq=*lGy-e}xjCJFMvh7rQyEhYq7)a90zig1=@* zzPFZRKlLg**yk!MUzM*tZZuVNhig7euW6#$cysIsS`-)oy_S~6 zqG=)pj&Z}IY@!1jQWCVcp-r4_h_*@LE;n^uxXB`WjOx_weU%xQ`wy4q)&n&6IX$S0 zINCCYq-q#(7+AwBz04lCws}i@{ zLN#lE2g!^E{QGnWK&p1Ztn>vC{dq`}!|)`>rwSP!%aYykDEaIssJkNuya}(ue`anw zHFpI=3%&?)FmG#PmqrLzE`^}# zf|+1?q!m@T?|UZ>fqU-p%cM^*l23>c8!}uLFqU_Chg5tG{Wp0i(Xvelzkam4>}Gs- z6#X6RF-i97-RGe0$XOi*-iL~c+V03H{9?szN_6)!n}8(ecLAbYf3t51G)6uv-hI@+ zy7hz)BDt1@dZ8`^Uw5*#_K7QX+uF^!ktza>(`J-Ob2+Dco4>8oYU1Rc7=NQ4J2g{K z%iVP=AU9=#B!OkgfW4kHddj`^x*$ji)14kK;gKJmV3Z9`voCr=OwBtgF8d+}LuUz* zp=LN;V_e?pk^~u?e{CwhKR!Gas^(IECWDdpiN48h@g$SgaN@?@nK~A@S*Hs-sY-JQ z%2%xFv5I+4dHpu5~x+X zJ_Ji+`0p|Fw=DYyQsdUP-2L4f{aTb+N_GF3z+WhB z2pM5=wIl%@xf>T`vE^kcsIc3zL31e( zumUL6;oUKb|M+UZ(67q0Ac-1DJT80`KBM!bL@Lj5e}Cqk89)eH3hGxSz!iyXFAeD# zG{ut%5uLz})U0%OUT3<(|KMMsSg{{?yLPtc5IsTv;pYrmVbWSm+#U1Fk>hLdud`gz z$A+Sd@WH~VgE?@^*jXg#?k2MjEciRLA-WTT9GN)YN%nl;g-Dg7U?xMhG^b;il?NZM z3nmo^f65soTjE7*rv(<0O|r&9q+M9a<>Pk)EjETnNnF|R>tqR^up$SScpGt@at?eU z0#M!gi)3{U3vxW|6qQcHf3ixRTqF$_GAR+)r$YrH(r2uUO##g(t!vPA3XB#k75IRk zZ{e2~35cRiT~uu{HLjr^$_Bs&%09Fe{H_>Ee;treA)Fl+#Vv{|*X%NzI48tALG~aLZ+;bSEfIpYLnP|?uHUcoUw&O^~$I{t|1zXS2 zvwR;BN^S)k7J{}gF{an7<{~f}q7VpgFyOa2Zc^f@KMAEo(!!_GK ze{t{*zbH#&N2q@c=J+ikAAB3r;rXNpWWqDX;I^BWi0g*70x)5{XKby{Ak*uq(dr+G8S zbtT|}=mP%}#f+6cQ_;^T*IcfNo(W(``!&x-xo}sLxepr3!>Azk*vOPHhYYzef4x7| z`6mJ#C=4aSEOO@D)SWKd9#039v(iPok<63izUH6MjP9`BIuqq_7`urmDX(Z ze$>s94iyCpWGrFE?4XJUf`tp{f2p&Du6-T9Ai4lj7lN4GX(k26!HbiX=h|PueIGeE z2F^Un#vGy`#d7(r)gaKM?#Mu{eWut_TvB@*tN`Hgq!Q)+5=En><%A2iVP{br@V%=` z8X z`aL43wLp$&I>p8rQe=cUDPSg>nNG1j`81u=zJXqVnnS^TexgKft~(IMd;5$Cc2D_Z z!kD&n1*Ptm7dpNZ{8Jk;z}S&l&Hnn%buLIEh^4K+0*vn~4`p#=Fo^$@1ijqLb0&ka zyj+&tOn!Q)6kyEPq=^ihfALu(?2Dc4kU1vQedw79E1BM);aX4|bm2T$IBHB)1w}v2 zEP72_oS*}JVQuVkPH;!Jhz6Tl+RAPtaOH_P$b)C{t=RRr%$|Cy^^??XH0p8?uVpg9 zLpNF%&vFhiOGc^j4m(vXT7Pda{Uy_J^@CXOVq12O@W|cevylctf7DS-t_gX>ue`ic z94y^$ZB~@*-c_A~sTADN{#2%~=TM+;{uAcg%hOdUG4x-Th0~o!hiK}=%oibV!nTtHolkjjG+L@i5TRXP0BFHmJu) zXOu}z0*zMF(<*;Ve+@iqoU%jvd_bu}0hLf8{j71wq6wo3nayk^!dUk$Dpjn_%_BFqXZ#bVNQ zm3F772wwo}hY`a=-1f0RiLnsDBO})!Q)ErM6U9fBHaIX1f0Y6qtY+ZVs6&7n7^Yp+ z4@?vmJ|jeav!o5tv7gC=T7E_oTPj~dX>4&nPXHBZe|&_+TbM0wSo35b*g-u#*XCoy z3qq7f1+7Eft7cMAya;#w5L+UxN_q6fYet5z~a8tvlNz+O_Ppx6C_Mn z4~4$iGDBAo$Ow%o&l(FngRFw&>K3(4n!c%GJrP%n*@l~@ElEEKTr0EzyZfn8$2y>y z0iU_zfaK?6uRM)039JWw%{@E`G^0IkJI2R7+dZ?|e_@ksVe@3;odk48RY3PJ={U3h z_Qe+@KX(t&axgn`JFQdaS2*o8)Jqh-QV0Zmb5(a8na7OAJXQLzjNiKQmN{k{@YpXS zpU(+CTd%cV7K%gEfcH*c2PnYEImvvc6z_Jw=FM+T{Sm*C3N%xXOQ}$zH6pu}^`VHk zjp`ffe<284SOg<$R)B7eH=;?@j$oN+qpY-ujm{fjsK#&tv$)c>sMmhwu(g@4m94$j z$h{koOa3ig;q3Oqh_re|47sk$rlM+ZPrAl^m^Iiaj(!+=i*`Wha)g`e z`8BIp&-w?WbP2kxO*qoe%*zMW+;qK%f%%Ple=2TuDTinf2UKd`Cv1VFQZ5~pIT)%; z8R8~fjs)I|qgzP`=q#Q~B@Y#C*WwZsh*bFnv8^+O6XQD4lwLlo7Ev~9i7a*|vkyoL zR6-%%huo&E>9YdI#^AVdWx*#8E*+L~&gedp3RPF%_bfqIUY^kMu?d4gyAn1vPzR97 zf4O&Y#~xC__;ag6nl{MbI^n^Yrkur*85%m$oGCgQbQG!nEGjDez1Ij)V%RP8-vknd z*KEgVxv+Z>}1PM%sBbhJO62aYkVNrm1p?~xhAYo24DKAwlva}Qt>qz?+PnnYUf z?e356l5V@JeAp~zB>KGd84?hf>gJyofAdRx7=@Z`OgsWtVq+G31Ix@s)?mNBZGu#_ zX9}6laEI^3J_puMX#hdfv9_t$OavUMcS3OrlTY)q>_7>kjP3yXq@u5=R#$y|-o1(2 zPGK6XudPIsWoJhJK42S_bwDpXR2O5Dq1^e@S}ekt?|V7Kuyz8JT3Jn+AaqU1f7Xk( zg(#G98r;C8Eo{>{Pcbh8%QtO=F3snZt*jr9Dc(rw6yf6pS{OkPUa zV<3i2_l&2Zn1LqGH9}9?soFq)7F|1y89mxDYHy4xb+Xjjr9;9ioE!sjTNz(fuVNwq zjDH$$%L{lnRwyaH8$$SO1>m~u7ZaTzZlo5)@6Lu*RgjTgTf+4BF+h20&-f16kk@&O{_j}qwcSaHiw%`2t#T6*84uxGu5LhnsF=C5{C z3%*n0WqFyF%)}27e_#&8oR_8;#r6$IAfsIoyzYnpoY0EX@zZL)dvG?4N(Kgcj;vsn zcGu#H8u!y#pzPIp)Ynqq4RVQZjUh&8WWCAv0R_DS`8JT4eN-hbe=B*R-pnJI#hr`jVEACQU>>%~g>Rsx6*N?Bej{f|>4ADVy_~R9wWz)%}Q7Mo?@xkB_7Hvj&LIeI8rGRov_A@*^Kh%?l15WH?so1Z)@nz z)rn@{TsUWTUMs1my!g(}K7cUe7Kd4nxb1d05p2uJKPFs*e+kHoeyOz8S!{tmx|AsB zK8*VE7O)9gx&4&0H{z&N3Ss+@WmR>^Za=~&(AO%Q12UUciyx~ zeFc}HT0{n(wieut3ouhrNhpC1E8AM(mi9RaccS8K1CFbtImTa=Mo*q-x07XgwYbrd zx&JH8R)*dc&FW`xT@Y$ac{Toge1qs5f3T_&Dc>`~y(UHE)UPf&i{J5j zlh-@2HJzv7&C7{sM&QxgXeg3c-vb{bLMAJrGgl?_chFG(eDmfnrG)*kf*D5H41bn= z2kGr2=rWcf+n($~Q+o%sUuW6`Q4{%gOU!)QeRSSzQp9tm&IVa+F0hEE3>>4;=Xy3r zIy0Vn?9V>*9TJVq8T_&EQ%!y;vmWj;8r_7 zaAB}WyVRuTCLvxtka3aPW)Za%K4ax?9%zYXm}Q$CK^HraUQYfi1~2p zOTyM$leci#aHYmDMY~5+T<99nU<@20Ud7xyf4XV~H@y+(q9x6+s`0qteK+qaC_F(I zK8E{LKYlc=SJv*h^~2VPfDvDr{jglv^&zwGB?g<31m}j|-5HA$-^ln2khpYRZ-jlY z9u8GtxW;Ck6bTvNhLY&8I(??8a!KqTlI}mO$PN7?e1joqHzZe8<*N6%S>klJOKmn8 ze{08ght9_X9PXJi>eYx`Xp61Gi+;@J`+nt?uh}sQTd{|00bF1i%I2YR_}&sNGTw@9 zU}M4;rIMyKx!Jjf-6+JA(Z@lwqO+0Q>-ZuYm<(T3)nFpuepvR-sr4j#;uWNlZryR+ z=+6U^?kdUjc1{{d-+g@smYf1~T4R(73g4q=`@r}81z9H>^ls3)n%-xJOx zOtN2%3h53|uz+008P7*V^t4Z(wWo2S%y!)DiAJ=%$yOrwGmbn0DXcKUVHxs%E@2@I2rDv7SunA7Qu(Jg^-y4=xhUKW!&bq6voVH~kk1JSuo6vWE z)%vEylfYNDO)fyinVhW%nu%XC)ef&#Z9tj|J>gb^<&e?$kICJO@(VUNLCEU0Gzf&ofM zYC0(6>=!d(NiEyj$t%*AzRl|RijZ8L_Rix%bG2HT_kT*9VQHx9Kk;_;j=%-9tyMW# z8oF~I#;eud_t^!eazN{mpTS+t*6poIkiu)oSjX=WW^0m$knnyjv(xlFe~1hG)`I3p zxmN<83%3BZYn;HWi{e)=zI{U5wf;+B35UF@=eKSmN5Dm5uf+kUx_F`So;K?a?8vpv z^lXCS>kvQ-J*3xDMlaPC!vU6PVo_Tb0zG8&3%bkHt}rCCvTF#x8%o1WNE|@X7PT7T z_)CjGg`U7f-S(H=uWwLuf3aKykV;Z{`Y)_vE(nON_#}D!w@LOY;bGNCn?+|nZr;L> zd=|@$PD`WlD}@ky(b!fs#s^Nn-iE>&o+ArtOlO`mHYeJ9u|Xz1JDg?rJb0Vl+b2)> zhi03!1NUSw$;b#wcDAQgFKRH)3l!?I!JRjF_6>Ps<&?^vYYYmUe_W*qJ))dlr(iW? zmIgApa^*`Ol(7uU5iiR4KDji7o^JTF2BkeJ6wkRURJX7Tw_VW!5mt5E!OqU@{aw;4 zzDV!YsAkVpIaArDS#cW=DfZOt#;)txwagu4zy0F5g{?!~b$^!J>in|PQ@jA9$1Ger z&0|eU6K`3u?`n%Qe=nDn^N9_~KRJ$ zfld6W%WPG0o$BjOhLPo1@!YSbT;e`gL?HD{O&}Js5Drps!HGVFwfh#xs2R4DhE6~8 z6+e!-us@3@2=UU{Lz7Zn7||~yZk-m z1MQ~^Mf^S@$L~JV8DdzYXNxQTd|CvN^>NlYE6gdRKI$ff7%q9bIHCw-FMuq`y|F`6 zvc6AAzTk5DZ=!3$>@*odh{+REkUs2$WdeeIm(-%^S!a1oHLXFyZ4fdO)QMJoJF#%+ z$O9$i3Z);1f1KN_Ax6;X=kUAOltG3Zbpd>jHgC1!Wj{kK9N6pJN@a$Gy|yP6;gdJd zWCO_JyHVE+uAn~u0?4ovh{R+R`Kfn|fVud4j&1^@eO9CgepMpMGEsW0>kR(RpSHGE z8PwpmDk}nmEuKZuw6I6S&~|dSK>K>ECX`fDxF=7Xe=RQhEi?s-wo-qqGq7|Z?RQwQ zb!oT#ckGX(tFdN3CMy%@ieM3E9$1d6#aRsWSu6!9$~|l&c}ky$zq*RUspmJ@+ z{SNG4xwZkB8_3X|Sfcc4{{Vb^07fC9Q3aE`R$>CFf298;->}J@Qg6|_G0i&nY|&H* zA8HIme?A>vGL{r9Jb$&^43C0T_6>@Ui^Fpl^{_q9BJJ`qLN)mWE0qyNy)`53`)C32 zUHpaC)G0X>1>_;*tf86T7>eDY-BSZyUzcn(Zt)lsq>s6S9%kcg4@o_PBSYuAFk6NY zgJ@>!vJhAmL{eyw$!bVHp`(khizW=vCi{w8f0c45Ky)L0>_V(2uj=3_D)s7TMQ<=N z7uPNSTepn}A*iKYkC)qt)UdtP>zXJawt*@r*fVYL#}#^Z4_96HkWq2k2^EflhpTz# ztBB4I#1|bXNVSg^y(wlkm-_s&&acD3>s=E=i+OmJtEea9lS1*oHiCH` ze+Qf`(}hq{t0zyxrbo(Rb#df*;Go3K@n|z3{PuSs?uG1{KW2`1X7Y@*o^|~+mF1~X z*GWw0v!fG5DBsY&324B@?Szfb%^A3*S0GBKVW;dY#u-i_^Z!J-Fk+u=aSGn1 z$$=W8JEzu>Z7p5@)yB%`3z$U0VuAQ5e_+0NQL}_AS5Es|ePtxgMskaX+IsPEVA7k( zvJ=VSlcrn4LVxh`?m#Q$b*4DUd}rO)y3zKBe!A*#Ki3jy;_fv?%;$|>E;=u{B}v$V zm$=e}J^%)%lJn`UO-irSsi8fxciWQ-IyJEag_8_N#0hG86sOlyBtdf+TuVQk3r-qzQ!bFvO}7Re>d(?gC_|SH)o09jSlELX6NP96w{MI;Po|J?T~9w zi`iuI`@WwhFT<{qOY)uDTKs2s4(aux1%8OvR5*hDuSppFV?GHXyn_p)Jc5brRen9Q6|iI~y{1q$uWoH#Ni|A*rWKJ4D~v zQyZC2z9ew+zfn0$7jBP8&grFCfj~s5pX?gmnxdQj^g`l5l8&0pS*$<*QD1gb=|Umd9r?1c*H6HGB+Yx)TANA&i&H7$nEp`wNt@NR-v2(cgz#6yqTgSvye~l=+dOVPOFXIC$ za-Vc+2|2*nrzEA!Sxa}&?d}9~l|p>4t{S8UH6qiUqNA>BcU?;XlUf7vy_8G?dIj*Ut&yv>hoZ`pE9A2gOx%9VkB^1T?ySev+K2X6GPvNE zYFYja(^}txmm9doe;)-&cDJU#I?9%rO*N)-YXb7zxs#gb4xP($E=1HF3@xQ48 z0ka-*gELS4e+c}Bznxa0pmYe@)`Ufyujz)Gw?fsQSN*Q6Fzu3Z=!kukcTd3|IE#%3 zrE`^Fge;}K`}tel5M+HRhuo2korF%-hGWbSpfhLj4mStZWAqlToWBo`rQ1XOqCJi@ z(dI7i>!G9Y+uuJP)l2YYgz3KXf9i8MydB6gqfk=->ebG*T$$rf zw5ZOU{JQWCml^Y>wAdBKx65cMZU$Ik#)%u@1X&yzf6}5(71h`7{HA0c>s>Pge~z@~ z_8sRnkjN>n5wj^8=G*s*OI4~cTvrlXp&CDEGVOD%580ZC7~*~2$Z;NFdQ zZMnZde|-nv&m0Gf5pJaKhV?3^31gIO9_#hK5{J!&|U#{;`0lDULdS{Uaw!M|L9PCg=&L zf20FArQK#?=~H=jJ%@m6o4c~6awCL&sMVzlH+BvqcJ9qE%h9>khy>vQu}%MN1?8LCZx0-w@V%C6nbUoqyEz607f_GP{zl5 zf9WYOz?C;|_!vYGQGKb>v%}c#sa!^O>3gJK1MV@dN|>~EY4VYS?%R`9-W6l!6}L^$ zq5~SzE9W{l1+Oj!in=dZ9mA7FxqwVvP4~y}WWvN9QA*hsc5~2nIqr@vw7$-na$e`wYRz=e$8`zqF7t*hy0%E$=jA|@j%G#ekX zDaR?<{+xc4k@#>d7itcu>Y8U7H#D9=g|;6=qvIeRWY%smpgAn^cU56BCUeDBBkbzY zvpEPMG5uVJ{3Y;?`mN*bw?cyqhs`KCIAxTIeX+I;P%E2>WBo+w^D95$9} zX02yeFJ)~~3rp7Euomp&pYB*y5uSG^uM(8n)GboaO&|eEj*R3#b(wPX`$hef7;hdePnk^5(k)D;n*yr#>XSd_~egTI%8uFb;_>*<AXi)9-&RDbw?JnXkb^znAAWIXpouHk zCSl?V4u4a0um{Mw*#cPE0jykntlWGoEC4nZ7T*5`IymzIBuv~v<^V+|fSiLp&;^l7 z+`-Yy8DweY3hwgXM*xi(Er6Ammz&|QbbzQG&>3WAVh>O>akT>4fjgR+*aFlY%s@a_ zuYZ-G5wLP~b>w4a_VDmvGO=@Ea&Wd3qGbShfPY-A0BS%NptC#B9PoR&03{PU;9m=4 zLZkv{Sb<#rHmf^WxO$j40|8)zEyxUL?*dM6vo{Ai1Hioj>aq#|Wk;a>-@yuh2QUEs zGa3LZ6YD?a{*(Q?5XkJasSTzqZxJ-oeA(=kI3=kiEIZ?99sfp%tgHZYkeMsM6le*uM|`OcHUlmG#^9ZI26+PXSir(#1+e`7 z`{&63tSxf~dt0xU@V_>fSxi|*LPMSYuLb|(5)*Uq1o$wraRV6HI9UL!tZZxmZh!ED z-@mJlSNXpP{D1jKx!KzO<)!)U{{MJQ>_E0&|M7$M>gEd8zM=#81la#? zs21?=D1HsDLc1+2%vTtM)l`FBf6dou^~-=~X>lM7(t>}=wN2;O2a z;sp4xf{&p&(DN?^1DKiY9bCaF0Pyns02U6;h`;xfixa>s`rGt3;sQ(P1%Gh^n8jZZ z4}e+XAH)grPSdO_f5=@-NXV3v77>;Puj7sLTzmU}^9a`G<- zOitkifypVpATT+l7X;>_{6ZDXMcEE$`NEY4Y*BeZV0Nl62+U6H1%cVAzaTI>jTZ!F zr}=`w?B2d0FgvXm1ZJoGf`7p5bpAo$JBC^J1%dNkc(Q^cP0YY*{Kvu$u4H282tIwk zuh0KlIl!DvT)?6Qx!Amv0*9KuAn+nholVSafZ*4gh3ku*{U7_^=ky;3xVPCqh!b4Q z%)u6{(tmn#{I=NH{lOM2U*;E5tl;~G*&GCP2D*T+`IjItk(c#=HGj(t{8wLAHZUWw z%uQUZUbOW)$H@(RHT*M&-$9;cwkCFeR0dDM;st_pEdGETzai+4Hemb$IoW?h_ZMQU zzYQ<_IDdybxHa0lBzAb8jQ7|Czxzf|S~r`m&Wl|TI8AvwH|0Vg~B z%MD(&1F4CBR8PSUl-&*Mz$BDIr#Pc(vX==voPmF+9Xvr-4~IVzz%|_d zfZ)w^{{w=VdHkVRaJJ_k5M18t4+tKL_X|02C2yef->v@j!Z34l25*+@UoUj)Q+n^aPqAet(~HFyjxkt_^LwtrjKpVB8)ToTl2=N~dM?`R?5Ac8>~|LR*y`yy|={ znljvj{$o>;=1OFd^wHa4Urw+ zMJ)+-H9D9+E?iySC-K_WWCk-~2E__OS zT|8pwtJhzr-uQ^^rOM&X`;-=~6wc_o6-TlE=z=hi_Mh88;1=)#CGpe<4?&adSgzk3 zbs{y5+J7@hM}A&R{kZeUP!aIi5sGtX_ZQ1m?oa^wiO(Ey`Rm47^3Go$xy5hmGq5+f zq5|b8$Or@luc+UXo;k-Xx|0eml1g9Vr+y|2XGS4aMUg^PtoQG?V74P6q{|1z(BzPl zfy%mb5#<9pF@=!(3x6S)Co{+yRy2eW;=?eUO@9~!8x|mX@8aSTe4`^o_}M@oX=7D3 z4P~wDvDf~?=?Dtp%;pV4@{W;kV8+*{;Yc$Q@??AA>*DcQt;l5BoaEHm7*fnGf^lN# zVuU!G-qfAw6yxJK-O4ZTdzmj2)L)|@rP7TFr!>F@nEAqOz2DaAw{+-8I!St*B^dc! zYk%4e;;{m{+;&u}qJi#1hg&#krSg;RFx{I*t}_Ewkl&tcm*OlWb~%D1ZudsaRofL@V1r`v3tGA8jtkDO{(wWpgy{z+HBIe@~{$AS79Vrr@m30$KC5M?N5`PFD zCeu(EmbNpqz3pnkrETgU_;B#8e{hRt_3YU0v<2Uy1t0F!Ya+FHHWobNm8dTo3U-&w zkk?zPnDGklMu>t@yyX`ZiS24g$A5}yin7msEg;Yv?l;Z3i`KOvI!KN_Nqdr(yAvH9 zYk!gT6oneT(5lb<2sd;;E9AK--c#Or$Twok)$aQ=4Yqmi$ z`~DMBhNj=7!$ZDEEW(8zs`RpfXW7@7AAuq!X}+Y2J^3VPudq z1x)cN&`2?gT(TG^A}|_1ODg7i)1}QwaO%7nRWqJ)E3{RCM#}L9Ub(hicKX3V!6}_?7`BGeR)0!EqzkYj4~J_sL}`gG zD4sB__gvV?--&8qOz#yVf~a599l$qILzfr#b8QQ6Z6Dfqism)@Wam_8kTSGputxf1 zNnS@DG0mxY+9`41x7e)i&|pD$U}iPjva=}Op_fB<<}U55>q|mJ zMT#;AinHjy-+g=Vc{aIX#hUxAiIK^0*Toe%qYuUL^fB&E2_a+9JvQPs-!74Bq%n3%$uozkev9c=+(fy{&``WE}!ZgOTMY3-=;x!Y%%R`287Jq_%j-g6=! z@6wSwpWLQ?>5S#q=Q-tc^FP_v<0GY)77ygRtd*iCS3*aeoF)i3jL=QD!%q`+6;Yq? zJ-VLAwSQZp7pyLS+lMIwtCgoRxyJs}_W>%;(Jq69ytSx9)0}&^alQk8Nbjw7&S?r$ zv1@yk)JTV)^K7G6vyOjWVLhJ3Vnh4nEEV=p$gMZ&RhYEmnyUYdV7$ucslIc4)RS4_k{ms%a!8CwrFa; zl;3p>rA$blU?8#Yn*njv3DP@U}%MRSi z@l_%0E0$^^IAt2VR;ibRgL8$eAo5{P)?_#TGu1jen*69CKOW zX+xkN-&_tyNlgKzH+|oi;BFqqk@(em_xXZiyXtDG%R%x%QH5oi#j(u3{A-M)eo)`{ z&kytq#N4SPMo6uyH}KveYJE{C6L=sA2eEhAg1&iq_LR_Urr2+LvpTd$FHak=)Xv<_ zG7XQK4eGhsD8ef{BhEe{dVg|bZGTah#A)TME=*C*S(rT49N`mosB}WEL)X$rdm6z$ z-zLp1OjyHzp$cyy1Y#>;BHLYwBHMROxfu~6-4KXx_>@2^CzJ&u7q(=G;Wez z+j=K09*u9-za|@})CKq7=iywaC(!#LU57TgDA4PgKkXtu?pZ0R^ZojkLVf zNN$t7F;2woDS!N-rzlgw4TsyQc$}tEv$*UilPAO-XB8c%#xKN}Jr;!6xeM%?z~UTL zF6(!2Zs;dbWDO`u#jXL{ItmOFk_S)jA)|ATO+3PZXd;sW`xwu5!eytup_v;!O^?%^ zIwxtkUEH&Vnk*56=ZeN1-?bUO4_`Y#c^79QATKEygnySl{dj;y6<0qia5SA8o$efZ z)*qViiM;E_V`E@lE!21;r*^u74M;=XtF~G}OiY6)oLY z$SH1SM5^co53_3VSjCCE8XsA68a@J+g-)IKLawt?kE3Jxr6x(F=St40A3KQoYWvFy z&9RSgv?C_$eP!FO48}?eJ)M|$@mS#_ezmxOihq?TO&wDMzd3#p&@{bbp%_jolaV?+ zyQ`xf`~j(hn@}}0$xt$yU)YB;65OLvOwH3e?3nV=9pI8u!VD3_+b0Ms`Ut}dKSMny zZmP=+$6NdqW&eiKroVy}bH!yUZZ|o6-II2K1j7-l(PWlP|G0~E(y9Zp`Eo2x-5Cpd z8GqXW1p&cLcS*4W#$CMDsNjiNBivyUhf#~&C-gaWy{u8NzkAN(nrSlDrN2jQoiUX- z(u=igvU+9NLSU4Z!@b13lr(Xrvs(%__IujVncnePhw*pBHTGHeuG?7t5TDc|LOg%+ zj6=}O&3Chv!!bM=8_V_d^Cdy%(RB$F2Y*u^2+B7uhIB^pcYAfrF;+|Z%Q&Z$xOQ)J zt(1b`_~GgrDe6U~xx|DUN&5$xUq1s4$*|rOL;t#@k1{Gdnn*+aF4_*+EmPcmq7i`h z6M)_)RcHJ&xFzMYBVf@H6O|;6_lqloNtxMFi5J|$yVTiF1&h`mn~1+im@po`kAHFQ zAboXRFR&Y1JhC0#b<-?0bH$48Wn}Ij72|Y4B4TGq9j}o#TiBT)bZF~!#la7MhBRaMx{e`RZ;B4sQQ zZx9LRmxH~bdy`a4`ze9PF}PSS0)N$GziEt)rh>dx?@fhU0pBnk^atlmw-d%OglNI^ z(gt#8aWQ)r%UQzf(6j6@%jw$*``WT{N$*7g)7tS06Qm0-@9z;Cg!Hd#!QVK~-V+~Y zmYAhDk`wn%!UdbTJ~`Bse!~5E_i+~WGqJ_Ym{D?~&S5u;woDlnM>W0Tl79@etH&`O zU^2ElW)_~t@6I;xqHnRy#9yrN(a_T@iQV3ZzSJk(bmAg~rMEQmvq^Y@EGFxgb@8S? z4*F|ot7ZhvDQkox8OYJTvV`}t3c;##zvA+(X!in?#>Y#Sa5l^3g^*YpT#Jo1QRs}7 zOW^r9+mNCZk8(0M{gQldw|{k&S~Ul6;t$CvR#8;HwWEnwr{>6ZA~yT)I1t_-0eo{{ zqBkhzSuyPgeLZ=zTOyBVc|Weh{q!+WNo+8Eg)5KCY=L1n1&hbPk|6xcg4eOsjwg|k z%Nt#DdHs~RX;<33U=KAWkd#1FZWo)113_SE(!bPpdJfZwZGZImy;g&Dd8@gi za&IT;7DV*6`jQ>6jIf8iw|y09La@LNvYaq$>o< zAnU3gUxm%8h98t{TNvY5 zkpt;#pu2yjWu4-Ewtw!Q{JJFb^Fqs2KlbKiVDhJQmt2U2E&kDV$DwG(Pm4EzbW(9C$8GkjXI!^UXb`ReSS$||>?W9dW%6SaSHE-vF zVd9o*u@T>4UV~s=kmEGZ+Q9>6OZV19-4ld31%FO$4kTTNa1YiXTo}N(d(F5 zT8N5x)rj@71`61FXPMW`_Bp=Kl^-WT$gljWGOPFP~m)3Tu24k!$&r?IH ze|vVam=b8gVs({Q0|*rO{LF)uABN%;vM_+i8#$`qrm}i>BoW?hSUJe5u)_K^R6mRo z0=-(iL(25@!d6ig(mRfcv}JT7|4eqN3Zj~)$$!Efxq|Wg_!<<|Vos5A(6pGw+jlUy zGG$9Txb$6)a(?QFtHZT+jvaFN?BS)uI$@6{1un?Txjirqbn2=)3N2zPMtZ?AS}E`bBd-?*x7{X39S!?B zM1L|U+&m@)I5thu8D81Z`IS3X_Jk=V`LtSG=1B%didZP+ty!YxGZ7n`llM1-yv8g2 zQ0+jAc zo_o!hjvFH8HE1n9=(J4qr>V{vQm*1@1{DWIxJFunIEJP+a~GD6WTftqk|Hdgp~lm?uluXN z+r}Lk0=}#odu4Ex6Q32#OFDe(YG?c$J9k3J-g-GJyoB(h3)-gtRgH273MVDS`=pI^ z#&9`OEJ^YnWIvAXYAgY+Qbc0o_J5&AO?nDTACYV2D_OZ2ek4NM7{iY-gn7US&L$a> zF{9$Jez6~%0ptd!QJuSNx$}GTge18hvRVh%3MSL!JHWk*V5gTVL7K}&T+)qE~MMi!H`RgqF zlX(TiBPD=)fQC?hR!R;%zea)m{;u}uDrMngKI~dh(-5eWze>MPtYS6}Z>g3Q8fB9` z^I11sVGUSY=E>3^1>jf)pT*3XKR z)T|4Fa_Q2nR~QW5DGL!Nzi2C@+BHCHU6Wq=T|7>MW80n@ts%;EP1o;!<$BgTqYsq} z^@#jUdgc&g|4S#EW!PC13GHYB>&1^wI=Nfi=uPF~*F{dSR5@;MsKCw@IBOvxj z?j#b?%1Slvl^Hk=kM~~HKc9*^jYkv5Uk&M=hf>IW(V=}XtooV;0$GqJ(@K%NMPWkx z9K_opr&)vd1dH(|G?vgh1;%CuA0oEuG`@_F``jhkyx&Gmfq$o}aB8-&qx{S4c$`+a z9WNJ0Qqw?HD3D|CDE&2=#p&oBEaAJvteb&T)h$%p*3{9o$ztp<>yqw5ixS)q&$rQI zcqS2k>Qo$*Uw7A}cXke;HHz0*RyW@-1Ssh_mO+d-X?4gNSb2IAX>a8Sq+ximUvi@U z@Dq~+Eqys{nSVr-f>SmBhW!DpU^vf{w`=3(liYVkhWGBW-LPjUcaP5!nvKyUvCY!q zf|r4KvC~D%iSw(9g~gB0yVC>aN;1)P=@A&w`ezRAxi=eYXv*H(6&SO}Bq}py1F!s} ze5%sM$6S?xC>LWe%;*N8_j|wqU#?pkfue*!Wp2BjEPo>og1A(k8#7cE{6ygk4{96r z@Goiw`qUqFZwK2Ayrxo=@m-2Ys8MJ2f=YX&5&NKw8-|zgeWUcXdh|{4D(VEV7${qM zp|-MuZ$zq#F58TQF#2P+)wJxd)g87FW=6g?1+Zxw-B!u^wjJ5CGxubnwRx~n#9zjA zmY5@y+J6!`Kd%5%P~qslEufHR6*8|O#HcenKpe5m@rX%K2BpYonUuJ-3hfi2bkAfL zqRfeu@Amj^P=<@)w4oA6rduT(5~XIj&tFac@Hy*A5chJ?`YiTpcv|2R8iL3;vVkk%*5|4E%RcU0-jGao4W|fqzjnpPvHAyjq;RRNXbT>J z!G9aS*7fcycnv|E)d9%kRgbP~Nbo9AF!um9NOPA4t^0x1K!n*m9`cwb8tl{e z0#LD9lBJar+fGG#((`&yKjNi_I&oVZAT zNfdY{q^C@rqlBSGBe%lwMA-k#VM^Ti&dffb`JIc;6#Z1CbSf1up#pOMJXPWR4yng_6luAYcTa*2-C9&9J$vKR#$HTi*q8&J-fd1;Z zPvsTtDsQ$3y<(G+bvdP#NQAvrsX)yRRHi6 zB@AMV8hL8^-==KJNtJ$hYR$Kx=NmLEX}7@c4dj(uwv>>3z`XMQ)G)-640~L|eXj^h zZBCr-r}q8=?ybiFHuiTy?~jI|U4jW2!X`4a+=T5jR(zDWdb>1`T7LpuEz1xG^%;SO z&f=7-Fk)+mPIS^{8=}GRD$H0P;uez0njRo5k?c#dVOlEEABhh>klV%A5;c_%sBV`D z96BoQQ;evf)eTa7ftNpGaKsI-={u>ql98OC)lyJU#7hxvV5jmK=XK$~^xVg9dYb`{ zNnoV3CUHa`Ivn9*{(pSfilV%4%SdEWGlw!4ghWCuJ-I{>pl{!zyL$Vy{-gS=SNz*W zf>gH2ol1q9`DvvF)T_s|wTY1wb2%DKz2OB~v&_e2kS(yo*`5?B3tFI)~)4>42om) z>z#>#-5Z%J)*}-k?_Je2(2npJoa{)UlD!cz?bK+ZObaGxA;_B!k0g=v1Xq($w`8-b z^X%1Z>)Aiu$$#KHieu<0y-&$AF#cMq!~9{mX*&^4h+p|aTYjOO9H@T1G3Lk$;nq|z z7s)~h4^QD{?O-wAJLs&)9WJ2aYU7-S&m{eR2I=-!rD$*M6t+E<=mDIC-Aa|<5YJ(hzUfwcRyOmz>!-bQ7_#EK6R)C8o0(Io7

ZZaV}i-!RfyE`SzQ42p`fqQ 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 Tk06hbpdcze0==xd9P0l7D{L_) delta 70246 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 D&y@Qj diff --git a/Computergrafik - Cheatsheet.tex b/Computergrafik - Cheatsheet.tex index 2a1069f..6d0eb3e 100644 --- a/Computergrafik - Cheatsheet.tex +++ b/Computergrafik - Cheatsheet.tex @@ -1256,15 +1256,14 @@ \item typisch: Applizieren von 2D-Rasterbildern auf 3D-Modellen \item 3D-Objekte mit relativ einfachen Polygonen modelliert \item Details als Texturen - 'Impostor' genannt. - \item Texture-Mapping als Erweiterung des einfachen Pattern-Filling + \item Texture-Mapping als Erweiterung des Pattern-Filling \item als Verallgemeinerung auch Image-based Rendering genannt - \item Verwendung unterschiedlicher 3D-Transformationen und Beleuchtungsarten \end{itemize*} Erzeugung von Texturen: \begin{itemize*} \item 'reale' Texturen aus realen rasterisierten/digitalen Fotografien (Pixel werden Texel) - \item 'berechnete' Texturen $\rightarrow$ synthetische Computergrafik-Bilder + \item 'berechnete' Texturen $\rightarrow$ synthetische Computergrafik \item vorberechnete reguläre Texturen (basieren auf Texeln) \item nach Bedarf erzeugte statistische bzw. prozedurale Texturen \end{itemize*} @@ -1279,14 +1278,13 @@ \end{itemize*} Unterschiedliche Arten des Texturmappings - \begin{itemize*} - \item Parametrisches Mapping: Rasterbild wird auf 3D-Polygon gebracht, indem man den Eckpunkten des Polygons 2D-Texturkoordinaten explizit zuordnet - \item affines Texturmapping: direkte affine Abbildung der Textur auf projizierte Polygone im Bildraum - \item perspektivisches Texturmapping: Zwischenabbildung der Textur in den 3D-Objektraum und perspektivische Projektion in den Bildraum - \item Projektives Texturmapping: Verwendung unterschiedlicher Projektionsarten (parallel, perspektivisch, eben, zylindrisch, sphärisch) - \item Environment-Mapping: Spiegelung der Textur an der Oberfläche (bzw. Refraktion) mit entsprechender Verzerrung - \item Transformation abhängig von Kameraposition! - \end{itemize*} + \begin{description*} + \item[Parametrisch] auf 3D-Polygon, indem den Eckpunkten des Polygons 2D-Texturkoordinaten explizit zuordnet werden + \item[Affin] direkte affine Abbildung der Textur auf projizierte Polygone im Bildraum + \item[Perspektivisch] Zwischenabbildung der Textur in 3D- Objektraum und perspektivische Projektion in Bildraum + \item[Projektives] Verwendung unterschiedlicher Projektionsarten (parallel, perspektivisch, eben, zylindrisch, sphärisch) + \item[Environment] Spiegelung der Textur an der Oberfläche (bzw. Refraktion) mit entsprechender Verzerrung + \end{description*} \paragraph{Affines Texturemapping} Durch Zuordnung von 3 Punkten im Bildraster zu den entsprechenden 3 Punkten im Texturraster erhält man ein Gleichungssystem mit 6 Gleichungen und 6 Unbekannten $(a_u , b_u , c_u , a_v , b_v , c_v )$: @@ -1301,350 +1299,275 @@ Für jedes Pixel(x,y) finde die Texturkoordinaten(u,v), d.h.: \begin{itemize*} \item Rückwärtstransformation vom Ziel zum Original $\rightarrow$ keine Löcher im Bild! - \item ABER: Texturkoordinaten können übersprungen oder wiederholt werden! + \item Texturkoordinate kann übersprungen oder wiederholt sein \item Störsignale (Aliasing) $\rightarrow$ Filterung notwendig! \end{itemize*} Affines Mapping der Vertices x,y auf u,v $\rightarrow$ lineare Interpolation der u/v-Texturkoordinaten zwischen den Vertices für jedes Pixel (ähnlich wie RGB- bzw. Z-Werte im Polygonfüllalgorithmus, durch Ganzzahlarithmetik) - %![Affines Texturmapping; Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_Affines-Texturmapping.png) Problem: Durch affine 2D-Abbildungen können nur Transformationen wie Rotation, Skalierung, Translation, Scherung in der Bild-Ebene abgebildet werden, aber keine Perspektive! $\rightarrow$ Abbildungsfehler zwischen den Eckpunkten! (kleine Dreiecke $\rightarrow$ kleiner Fehler!) - \paragraph{Perspektivisches Texture-Mapping} - Beispiel: affine 3D-Abbildung der Textur per 4x4-Matrix auf 3D-Modell: - Texturraum $\rightarrow$ Objektraum: Rotation, Translation, Skalierung (...) dann Objektraum $\rightarrow$ Bildraum: Projektion (selbe wie bei Geometrieprojektion) - - %![Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_Perskeptivisches-Texture-Mapping.png) - - entspricht affinem Textur-Mapping mit einem zusätzlichen Zwischenschritt, der Bestimmung der Objektraumkoordinaten: + \subsection{Perspektivisches Texture-Mapping} + entspricht affinem Textur-Mapping mit Zwischenschritt \begin{itemize*} - \item Matrix $M_{to}$: Koordinatentransformation vom Texturraum in den 3D- Objektraum (affine Abb.: 3D-Translation, -Rotation, -Skalierung) - \item Matrix $M_{oi}$ : Koordinatentransformation vom Objektraum in den Bildraum (Kameratransformation, perspektivische Abbildung) + \item Matrix $M_{to}$: Koordinatentransformation vom Texturraum in den 3D-Objektraum (Translation, Rotation, Skalierung) + \item Matrix $M_{oi}$ : Koordinatentransformation vom Objektraum in den Bildraum (Kameratransformation) \item Matrix $M_{ti}$: gesamte Koordinatentransformation vom Texturraum direkt in den Bildraum: $M_{ti} = M_{to}*M_{oi}$ \item Matrix $M_{ti}^{-1}$: Inverse Koordinatentransformation vom Bildraum zurück in den Texturraum \end{itemize*} - $\rightarrow$ 4x4-Matrix für homogene Koordinaten. Perspektivische Abbildung im Bildraum durch Division durch z, für jedes Pixel (wesentlich aufwendiger als lineare Interpolation) + $\rightarrow$ 4x4-Matrix für homogene Koordinaten. - Vergleich: Perspektivisches / Affines Texture Mapping: + Vergleich: Perspektivisches / Affines Texture Mapping \begin{itemize*} - \item perspektivisches Textur-Mapping liefert auch bei perspektivischer Ansicht geometrisch korrekte Bilder - \item etwas höherer Berechnungsaufwand pro Polygon, da für jedes Polygon zwei Transformationsmatrizen und eine inverse 4x4-Matrix bestimmt werden müssen - \item wesentlich höherer Berechnungsaufwand pro Pixel: Matrixmultiplikation plus (floating-point) Division! - \item bei affinem Textur-Mapping können hingegen einfach die Texturkoordinaten (u/v) zwischen den Polygonecken linear interpoliert werden: - \item ähnlich wie bei anderen Attributen (z. B. x-Koordinate (s. Edge-Scan), r/g/b-Werte (s. Gouraud-Shading), Tiefenwerte (1/z) funktioniert dies inkrementell und mit Ganzzahlarithmetik (als Teil des Polygonfüllalgorithmus) - \item je kleiner die Polygone im Bild, desto kleiner der Fehler beim affinen Texturemapping (Ansatz: feinere Unterteilung der Polygone in kleinere Dreiecke $\rightarrow$ dafür jedoch mehr Polygone!) + \item perspektivische Ansicht geometrisch korrekter Bilder + \item pers. höherer Berechnungsaufwand pro Polygon/Pixel + \item affines Mapping kann u/v zwischen Polygonecken linear interpolieren \end{itemize*} \paragraph{Textur-Mapping mit Polygon-Schattierung} - Eingliederung in die Render Pipeline \begin{itemize*} \item Bestimmung der zum Polygon gehörenden sichtbaren Pixel im Bildraum (Polygonfüllalgorithmus) \item Ermittlung der zur jeder Pixelkoordinate gehörenden Texturkoordinate mit Hilfe der inversen Transformationsmatrix $M_{ti}^{-1}$ - \item Ermittlung der Farbe des zu setzenden Pixels aus dem Texturraster (und gegebenenfalls weitere Schattierung aus der Beleuchtungsrechnung) - \item Beleuchtungsrechnung, z.B.: Multiplikation der Helligkeit einer beleuchteten diffusen weißen Oberfläche mit den r/g/b-Werten der Textur (Lambert Modell) + \item Ermittlung der Farbe des zu setzenden Pixels aus dem Texturraster (und ggf Beleuchtung) + \item Beleuchtungsrechnung: Multiplikation der Helligkeit einer beleuchteten diffusen weißen Oberfläche mit den rgb-Werten der Textur (Lambert Modell) \end{itemize*} \paragraph{Weitere Texturarten} - \begin{itemize*} - \item Texturen mit Transparenz: RGBA-Wert zu jedem Pixel gespeichert, d.h. beim Rendern wird Alpha Blending mit der Hintergrundfarbe angewendet - \item Video Texture: zeitlich veränderliche Textur, d.h. dynamische Veränderungen wie z.B. Feuer, Rauch (mit Alpha-Blending über Hintergrund / Billboard) oder Fernseher in der Wohnung mit Programm“ (ohne Alpha-Blending) - \item Solid Textures: - \item Textur als 3D-Array (u/v/w-Koordinaten, bzw. Voxel) $\rightarrow$ gespeicherte RGB(A)-Werte pro Voxel - \item Abbildung über affine 3D-Transformation xyz auf uvw - \item beim Rendern entweder auf Vertices angewendet und dann für Pixel linear interpoliert oder für jedes Pixel einzeln angewendet (Pixelshader) - \item Anwendungsbsp.: Schnitt durch Material (z.B. Massivholz, Marmor) oder Volume Rendering (Überlagerung von Schichten) mit Alpha Blending, z.B. Computertomoraphie (CT-Daten) - \item ggfs. auch Videotextur als Spezialfall einer Solid Texture: Zeit als 3. Dim. - \end{itemize*} + \begin{description*} + \item[Texturen mit Transparenz] RGBA-Wert zu jedem Pixel gespeichert, d.h. Rendern mit Alpha Blending + \item[Video Texture] zeitlich veränderliche Textur, d.h. dynamische Veränderungen + \item[Solid Textures] Textur als 3D-Array $\rightarrow$ RGB(A)-Werte pro Voxel + \begin{itemize*} + \item Abbildung über affine 3D-Transf. xyz auf uvw + \item beim Rendern entweder auf Vertices und für Pixel linear interpoliert oder für jedes Pixel einzeln angewendet (Pixelshader) + \end{itemize*} + \end{description*} - %\paragraph{Projektives Textur-Mapping + \paragraph{Projektives Textur-Mapping} Berechnung der Texturkoordinaten aus der aktuellen Position der einzelnen Polygone (Analogie: Projektion eines Diapositivs auf ein räumliches Objekt) - - Beispiel: Parallelprojektion mit fixer Position des Projektors zum Objekt \begin{itemize*} - \item 2D-Textur (Bsp. Gitter aus Millimeterskalen) \item Parallelprojektion der Textur auf einen Zylinder mit abgeschrägten Endflächen - \item Projektion ist relativ zum Objekt definiert, d.h. die Textur bewegt sich mit dem Körper, sofern man diesen bewegt - \item markierte Bereiche (1 bzw. 2) haben auf Zylinder stets identische Positionen + \item Projektion ist relativ zum Objekt definiert, Textur bewegt sich mit dem Körper + \item markierte Bereiche haben auf Zylinder stets identische Positionen \item keine explizite Zuordnung von uv-Koordinaten zu Polygoneckpunkten notwendig, weniger Modellieraufwand! \end{itemize*} + \begin{description*} + \item[projektives Textur-Mapping (Parallel-/Zentralprojektion)] + \begin{itemize*} + \item Darstellung geometrischer Eigenschaften + \item einfache Darstellung von Parameterlinien + \item Simulation eines Lichtkegels (Leuchtdichteverteilung) + \end{itemize*} + \item[Zylindrisches Textur-Mapping] + \begin{itemize*} + \item radiale Projektion der Textur-Koordinaten auf Zylinderoberfläche + \item visueller Effekt für zylinderähnliche Objekte ähnlich zu parametrischem Textur-Mapping + \end{itemize*} + \item[Sphärisches Textur-Mapping] + \begin{itemize*} + \item Zentralprojektion der Textur-Koordinaten auf eine Kugeloberfläche + \item Vorteil des projektiven Texturmappings: Eine explizite Zuordnung der 3D-Punkte zu Texturkoordinaten mit stetiger Fortsetzung der Parametrisierung an den Polygongrenzen entfällt $\rightarrow$ weniger Modellieraufwand! + \end{itemize*} + \end{description*} - Anwendungsbeispiele für projektives Textur-Mapping (Parallel- oder Zentralprojektion): + \subsection{Environment Mapping} + Spezialfall des projektiven Textur-Mapping \begin{itemize*} - \item Darstellung geometrischer Eigenschaften (geometrische Details, parallel, fixe Position des Projektors zum Objekt, senkrecht zur Fläche) - \item einfache Darstellung von Parameterlinien (sofern die Textur senkrecht auf die Projektionsebene projiziert wird, parallel, fixiert bezgl. Objekt) - \item Simulation eines Lichtkegels (Repräsentation der Leuchtdichteverteilung der Lichtquelle (Lichtfeld) als Rasterbild in einer Textur, zentral, fix in Weltkoordinaten) - \end{itemize*} - - Zylindrisches Textur-Mapping: - \begin{itemize*} - \item radiale Projektion der Textur-Koordinaten auf eine Zylinderoberfläche - \item visueller Effekt für zylinderähnliche Objekte ähnlich zu parametrischem Textur-Mapping, z.B. Etikett auf Flasche, Dose, etc. - \end{itemize*} - - Sphärisches Textur-Mapping: - \begin{itemize*} - \item Zentralprojektion der Textur-Koordinaten auf eine Kugeloberfläche - \item Vorteil des projektiven Texturmappings: Eine explizite Zuordnung der 3D-Punkte zu Texturkoordinaten mit stetiger Fortsetzung der Parametrisierung an den Polygongrenzen entfällt $\rightarrow$ weniger Modellieraufwand! - \end{itemize*} - - \paragraph{Environment Mapping} - Spezialfall des projektiven Textur-Mapping: - \begin{itemize*} - \item Simulation der Reflexion der Umgebung an einer reflektierenden Fläche + \item Simulation der Reflexion der Umgebung an reflektierenden Flächen \item Darstellung abhängig von der Position des Betrachters sowie von den Normalen der reflektierenden Fläche - \item Textur entspricht der Lichtquelle für die Beleuchtung durch die Umgebung (Environment Map): Sphere Map bzw. Cube Map - \end{itemize*} - - Mapping der Textur auf die spiegelnde Oberfläche: - \begin{itemize*} - \item Aussenden eines Strahls vom Auge auf einen Punkt der spiegelnden Oberfläche - \item Ermittlung der Reflexionsrichtung entsprechend dem Einfallswinkel des Strahl zur Flächennormale - \item damit Bestimmung des zu reflektierenden Punktes in der Umgebung, d. h. des entsprechenden Textur-Pixels aus der Environment Map - \end{itemize*} - - Grundannahme beim Environment Mapping: - \begin{itemize*} + \item Textur entspricht der Lichtquelle für die Beleuchtung durch die Umgebung: Sphere Map bzw. Cube Map \item relativ große Entfernung der reflektierten Objekte von der spiegelnden Fläche \end{itemize*} - Erzeugung einer Cube Map-Textur: + Mapping der Textur auf die spiegelnde Oberfläche \begin{itemize*} - \item Aufteilung der Environment Map in sechs Bereiche, die den sechs Flächen eines Würfels um die spiegelnde Fläche herum entsprechen - \item Rendern der Umgebung sechs mal mit einem Kamera-Sichtfeld von jeweils 90 Grad aus dem Mittelpunkt des Würfels - \item Alternativ: Digitale Aufnahme und Einpassen der sechs Flächen mittels Image Warping in die jeweiligen Zonen der Environment Map - \item Strahlverfolgung: Sehstrahl wird an den Eckpunkten des Objekts (entsprechend den Normalen) gespiegelt und dreidimensional mit den 6 Wänden der Cube Map geschnitten. - \item Daraus ergibt sich eine Zuordnung von Objektkoordinaten (x/y/z) und Texturkoordinaten (u/v). - \item Die Transformation kann wie beim perspektivischen Texturmapping berechnet werden und beim Rasterisieren für die dazwischen liegenden Pixel angewendet werden. - \item Effekt ähnlich wie bei Raytracing, jedoch geometrisch angenähert (gespiegelte Objekte sind nur als 2D-Raster-Bild repräsentiert) - \item keine aufwändigen Strahl-Objektschnitte (wie beim Raytracing) notwendig (Sehstrahl wird von den dargestellten Dreiecksecken zurückgerechnet!) - \item Näherung wird ungenau, wenn das spiegelnde Objekt weit weg ist von der Kameraposition, welche für die Generierung der Cube-Map verwendet wurde + \item Aussenden eines Strahls vom Auge auf einen Punkt der spiegelnden Oberfläche + \item Ermittlung der Reflexionsrichtung entsprechend dem Einfallswinkel des Strahl zur Flächennormale + \item damit Bestimmung des zu reflektierenden Punktes in der Umgebung (Textur-Pixels aus der Environment Map) + \end{itemize*} + + Erzeugung einer Cube Map-Textur + \begin{itemize*} + \item Aufteilung der Environment Map in sechs Bereiche, die sechs Flächen eines Würfels um spiegelnde Fläche entsprechen + \item Rendern der Umgebung sechs mal mit einem Kamera- Sichtfeld von jeweils 90 Grad aus dem Mittelpunkt des Würfels + \item Alternativ: Digitale Aufnahme und Einpassen der sechs Flächen mittels Image Warping in die jeweiligen Zonen + \item Strahlverfolgung: Sehstrahl wird an den Eckpunkten des Objekts gespiegelt und dreidimensional mit den 6 Wänden der Cube Map geschnitten + \item Zuordnung von Objektkoordinaten (x/y/z) zu Texturkoordinaten (u/v) + \item Transformation kann wie beim perspektivischen Texturmapping berechnet werden und beim Rasterisieren für die dazwischen liegenden Pixel angewendet werden + \item Effekt ähnlich wie bei Raytracing, jedoch geometrisch angenähert + \item keine aufwändigen Strahl-Objektschnitte notwendig + \item Näherung ungenau, wenn spiegelndes Objekt weit weg von Kamera \item nur Einfachreflexion - \item Cube Maps können dynamisch (durch Offline-Rendering in Texturbuffer) generiert werden. Dadurch auch bewegte gespiegelte Objekte in Echtzeit darstellbar - \item Beachte: gespiegeltes Dreieck kann auf zwei oder mehrere Wände der Cube Map fallen. Dies kann durch mehrfaches Mapping und Clipping gelöst werden. + \item kann dynamisch generiert werden. Bewegte gespiegelte Objekte in Echtzeit darstellbar + \item gespiegeltes Dreieck kann auf mehrere Wände der Cube Map fallen. Kann durch mehrfaches Mapping und Clipping gelöst werden \end{itemize*} Environment Mapping [Haeberli/Segal 1993] für Kugel und Torus: \begin{itemize*} - \item Unterschiedliche Ausrichtung der Objektoberfläche sorgt für korrekte Verzerrung der spiegelnden Objekte. Die Darstellung der spiegelnden Objekte (Geometrie und Material) steht beim Environment-Mapping im Vordergrund und nicht die korrekte geom. Darstellung gespiegelter Objekte! - \item Alle Raumrichtungen werden auf der Kugeloberfläche abgebildet. Je nach Aufnahmegeometrie mehr oder weniger großer blinder Fleck“ hinter der Kugel. + \item Unterschiedliche Ausrichtung der Objektoberfläche sorgt für korrekte Verzerrung der spiegelnden Objekte. Die Darstellung der spiegelnden Objekte steht beim Environment-Mapping im Vordergrund und nicht die korrekte geom. Darstellung gespiegelter Objekte + \item Alle Raumrichtungen werden auf der Kugeloberfläche abgebildet. Je nach Aufnahmegeometrie mehr oder weniger großer blinder Fleck hinter der Kugel \end{itemize*} - %![Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_Environment-Map-Kugel.png) - Erstellung einer Spherical-Environment-Map-Textur: + Erstellung einer Spherical-Environment-Map-Textur \begin{itemize*} \item spiegelnde Kugel in der Mitte einer Szene - \item Fotografie der Kugel mit einer Kamera sehr großer (unendlicher) Brennweite aus großem (unendlichem) Abstand (parallele Projektionsstrahlen) + \item Fotografie der Kugel mit einer Kamera sehr großer Brennweite aus großem Abstand \item Entstehung einer kreisförmigen Region in der Textur-Map mit den Tangenten jeweils an den Außenkanten \item Texturwerte außerhalb des Kreises werden nicht benötigt - \item Wahl der Blickrichtung(-en) wichtig für spätere Anwendung! + \item Wahl der Blickrichtungen wichtig für Anwendung \end{itemize*} - Anwendung einer Spherical Environment Map: + Anwendung einer Spherical Environment Map \begin{itemize*} - \item Zur Bestimmung der Texturkoordinate eines dargestellten Punktes wird zuerst die Normale n an diesem Punkt bestimmt. - \item Die Normale n wird auf die x/y- Ebene projiziert. Die Koordinaten des projizierten Normalenvektors entsprechen den Texturkoordinaten in der Sphere Map, welche die an dieser Stelle reflektierte Umgebung zeigt. - \item Merke: Die Reflexion ist nicht von der Lage des reflektierenden Punktes abhängig (nur von der Normalenrichtung). + \item Zur Bestimmung der Texturkoordinate eines dargestellten Punktes wird zuerst die Normale n an diesem Punkt bestimmt + \item Normale n wird auf die x/y- Ebene projiziert. Projizierter Normalenvektor entspricht Texturkoordinaten in Sphere Map, welche die an dieser Stelle reflektierte Umgebung zeigt + \item Reflexion nicht von der Lage des reflektierenden Punktes abhängig (nur von Normalenrichtung) \end{itemize*} - Environment Map in latitude-/longitude-Koordinaten: + Environment Map in latitude-/longitude-Koordinaten \begin{itemize*} - \item Spiegelung wird aus Richtung des gespiegelten Strahls in Winkelkoordinaten (lat/long) berechnet - \item entweder pro Pixel (Pixel-Shader) oder pro Vertex mit anschließender (linearer) Interpolation pro Pixel + \item Spiegelung wird aus Richtung des gespiegelten Strahls in Winkelkoordinaten berechnet + \item entweder pro Pixel oder pro Vertex mit anschließender Interpolation pro Pixel \item keine Berücksichtigung der Position des spiegelnden Objekts - \item korrekt nur für unendlich entfernte gespiegelte Objekte $\rightarrow$ geeignet zur Spiegelung weit entfernter Objekte (Landschaften, große Räume auf relativ kleinen Objekten) + \item korrekt nur für unendlich entfernte gespiegelte Objekte $\rightarrow$ geeignet zur Spiegelung weit entfernter Objekte \end{itemize*} - High-dynamic Range Imaging (HDRI) Env-Maps: + High-Dynamic Range Imaging (HDRI) Environment-Maps \begin{itemize*} - \item enthalten 'gesamte Dynamik' des Lichts (als Floating Point Farbwerte) - \item Wesentlich realistischere Bilder! + \item enthalten 'gesamte Dynamik' des Lichts (Floating Point) + \item Wesentlich realistischere Bilder \item Tone Mapping: berechnete HDRI-Bilder werden anschließend auf die Dynamik des Monitors reduziert - \item Refraktion / Brechung mit Environment Maps: - \item wie Spiegelung, jedoch Sekundärstrahl aus Sehstrahl über Brechungsindex und Oberflächennormale, statt gespiegelt - \item Beispiel: Glas als Polygonflächen mit Rückseite + Normalen (2-fache Brechung!) + Spiegelung als Multi-Pass (Überlagerung zweier Effekte) - \item kann im Zusammenhang mit Cube-Maps, Spherical oder Lat/Long Environment Maps angewendet werden + \item Refraktion/Brechung: wie Spiegelung, jedoch Sekundärstrahl aus Sehstrahl über Brechungsindex und Oberflächennormale, statt gespiegelt \end{itemize*} - - \subsection{ Mip-Mapping} - Was? aus Originaltextur Bildung einer Menge jeweils kleinerer Texturen (halbe Kantenlänge) - - Wozu? Vermeidung/Abmilderung von Aliasing-Effekten durch 'Vorfilterung' und Anwendung der passend aufgelösten Textur(-en) (1 Pixel $\approx$ 1 Texel) per bilinearer Filterung oder trilinearer Filterung + \subsection{Mip-Mapping} + Aus Originaltextur Bildung einer Menge jeweils kleinerer Texturen (halbe Kantenlänge). + Vermeidung/Abmilderung von Aliasing- Effekten durch Vorfilterung und Anwendung der passend aufgelösten Textur(-en) per bilinearer/trilinearer Filterung \paragraph{Sampling-Artefakte} - Aliasing-Effekte durch Koordinatentransformation: + Aliasing-Effekte \begin{itemize*} - \item Pixel der Textur und Pixel des dargestellten Bildes weisen (aufgrund der Bildtransformation) im Allgemeinen unterschiedliche Rastergrößen auf. - \item simpler Ansatz: Berechnung der transformierten Texturkoordinaten als Floating-Point-Werte und Rundung auf ganze Zahlen - \item bei inverser Transformation vom Zielbild zurück zur Textur dann keine Lücken im Bild, aber die Pixel der Textur können ausgelassen oder mehrfach verwendet werden (Bildpixel werden genau einmal angewendet) + \item Pixel der Textur und Bildes weisen unterschiedliche Rastergrößen auf + \item Berechnung der transformierten Texturkoordinaten als Floating-Point-Werte und Rundung auf ganze Zahlen + \item bei inverser Transformation vom Zielbild zurück zur Textur keine Lücken im Bild, aber die Pixel der Textur können ausgelassen oder mehrfach verwendet werden \item durch das Resampling der Textur auf das resultierende Bildraster entstehen oft Aliasing-Artefakte \end{itemize*} - Zwei wesentlich unterschiedliche Situationen: + Zwei unterschiedliche Situationen \begin{itemize*} - \item Abbildung mehrerer Texturpixel auf ein Bildpixel (Unterabtastung) oder - \item Abbildung eines Texturpixels auf mehrere Bildpixel ( Überabtastung) - \item Filteroperationen zur Interpolation der Bildpixel-Färbung in jedem Fall notwendig, insbesondere bei der Unterabtastung wird ein vorheriges Tiefpassfiltern und Resampling notwendig! - \item Ansonsten Verletzung des Abtasttheorems / Nyquistfrequenz! - \end{itemize*} - - Beispiel perspektivische Verkürzung der Schachbretttextur: - \begin{itemize*} - \item in Realität eigentlich starke Verkleinerung der Textur bei größerer Entfernung! - \item $\rightarrow$ Moiré Muster - Originaltextur ist an diesen entfernten Stellen im Bild zur Laufzeit nicht mehr erkennbar (Unterabtastung, aus mehreren Texeln, welche 'hinter einem Pixel liegen“, wird nur einer ausgwählt) - \item Treppenstufen im Nahbereich resultieren aus Überabtastung (mehrere Pixel teilen selben Texel) - \item Lösung: Textur muss vorher passend durch Tiefpassfilter in der Auflösung reduziert werden $\rightarrow$ Aufbau und Anwendung einer Mip-Map - \item Ziel der Mip-Map: stets 1 Texel pro Pixel bereitstellen - \end{itemize*} - + \item Abbildung mehrerer Texturpixel auf Bildpixel (Unterabtastung - Minification) + \item Abbildung Texturpixels auf mehrere Bildpixel (Überabtastung - Magnification) + \item Filteroperationen zur Interpolation der Bildpixel-Färbung notwendig + \item Ansonsten Verletzung des Abtasttheorems/Nyquistfrequenz + \end{itemize*} \paragraph{Aufbau} \begin{itemize*} - \item In 3D-Szenen können Körper mit der selben Textur vom Betrachter unterschiedlich weit weg sein. $\rightarrow$ im Bild oft Unterabtastung (Minification) oder Überabtastung (Magnification) und entsprechende Aliasing-Effekte durchs Resampling! - \item Ansatz: Vorberechnung derselben Textur für verschiedene Entfernungen + \item In 3D-Szenen oft Körper mit selber Textur vom Betrachter unterschiedlich weit weg + \item im Bild oft Unter- oder Überabtastung und Aliasing + \item Vorberechnung derselben Textur für versch. Entfernungen + \begin{itemize*} \item Stufe 1: volle Auflösung \item Stufe 2: halbe Auflösung in jeder Richtung $(1/2)$ - \item ... \item Stufe k: Auflösung $(1/2)^k$ - \item Stufe n: niedrigste Auflösung (je 1 Pixel für z.B. R, G und B) + \item Stufe n: niedrigste Auflösung (je 1 Pixel für RGB) + \end{itemize*} \item Speicherbedarf: \item (hypothetische) Annahme: Anordnung im Array (getrennt f. RGB) $\rightarrow$ Alle niedrigen Auflösungen verbrauchen zusammen nur ein Viertel des Speicherplatzes - \item Mip steht für lat. multum in parvo = viel (Information) auf wenig (Speicherplatz) - \item niedrige Auflösungsstufen werden durch Filterung aus den höheren berechnet: - \item einfach: z.B. Mittelwert aus 4 Pixeln (Box-Filter) oder - \item aufwendiger: z.B.: Gaußfilter (siehe Kap. Bildverarb.) - \end{itemize*} - - \paragraph{Anwendung} - \begin{itemize*} - \item Beispiel: OpenGL-Filteroperationen im Bildraum (zur Laufzeit ausgeführt): - \item GL\_NEAREST: Annahme des Wertes des nächstliegenden Textur-Pixels - \item GL\_LINEAR: bilineare Interpolation: gewichteter linearer Durchschnitt aus einem 2x2-Feld der am nächsten liegenden Texturpixel - \item Genauere Interpolationsverfahren (z.B. bikubisch) gelten als zu aufwendig für Echtzeitanwendung - \item Beispiel für stark vergrößerte Textur: - \item Aus der Nähe betrachtet, wird das Texturraster auf dem Bildraster entsprechend skaliert (vergrößert). - \item durch Runden der Texturkoordinaten (d.h. ohne Filterung) - \item mit bilinearem Filter gewichtete Texturfarbwerte proportional zum Abstand vom gerundeten Koordinatenwert - \end{itemize*} - - \paragraph{Zusammenfassung} - Aufbau der Mip-Map (als Vorverarbeitungsschritt beim Rendering): - \begin{itemize*} - \item Speicherung der Originaltextur - \item rekursive Speicherung der geringer aufgelösten Texturen (je 1/2 Kantenlänge) bis hinunter zu einem einzelnen Pixel - \end{itemize*} - - Vorteile: - \begin{itemize*} + \item Mip:\textit{multum in parvo} = viel (Info) auf wenig (Speicher) + \item niedrige Auflösungsstufen werden durch Filterung aus den höheren berechnet + \begin{itemize*} + \item einfach: z.B. Mittelwert aus 4 Pixeln (Box-Filter) + \item aufwendiger: z.B.: Gaußfilter + \end{itemize*} \item Filter-Operationen können bei Initialisierung der Textur vorausberechnet werden \item nur ein Drittel zusätzlicher Speicherplatzbedarf \end{itemize*} + \paragraph{Anwendung} + \begin{itemize*} + \item OpenGL-Filteroperationen im Bildraum (zur Laufzeit) + \item GL\_NEAREST: Annahme nächstliegender Textur-Pixels + \item GL\_LINEAR: bilineare Interpolation aus nahem 2x2-Feld + \item Genauere Interpolationsverfahren (z.B. bikubisch) gelten als zu aufwendig für Echtzeitanwendung + \end{itemize*} + Darstellung mit Mip-Map Texturen (zur Laufzeit) \begin{itemize*} - \item Auswahl der passenden Auflösungsstufe k Skalierung berechnet aus der Entfernung zum Betrachter und der perspektivischen Verkürzung (siehe Kameratransf.): $d/z = (1/2)^k \rightarrow k = log_2(z)-log_2(d)$ - \item Transformation der Pixel zwischen den Textur-Eckkoordinaten der gewählten Auflösung auf das Polygon im Bildraum - \item typ. Verwendung der linearen Filter zur Vermeidung von Aliasing-Effekten durch Trilineare Filterung: zusätzlich zu bilinearem Filteren in einer Mip-Map-Stufe wird linear gewichtet zwischen zwei Mip-Map-Stufen (auf-, bzw. abgerundete Werte von k) interpoliert: z. B. wenn $k = 2.3 \rightarrow 30\% Anteil_{k=3}$ und $70\% Anteil_{k=2}$ - \end{itemize*} - + \item passende Auflösungsstufe k Skalierung berechnet aus der Entfernung zum Betrachter und der perspektivischen Verkürzung: $d/z = (1/2)^k \rightarrow k = log_2(z)-log_2(d)$ + \item Transformation der Pixel zwischen Textur- Eckkoordinaten der gewählten Auflösung auf Polygon im Bildraum + \item Vermeidung von Aliasing-Effekten durch Trilineare Filterung: Mip-Map-Stufe wird linear gewichtet zwischen zwei Mip-Map-Stufen interpoliert: z. B. wenn $k = 2.3 \rightarrow 30\% Anteil_{k=3}$ und $70\% Anteil_{k=2}$ + \end{itemize*} \paragraph{Anti-Aliasing} - Anti-Aliasing durch trilineare Filterung: + durch trilineare Filterung \begin{itemize*} - \item Durch die perspektivische Verkürzung wird eine weiter hinten liegende Textur verkleinert und im Vordergrund vergrößert. Bei einer Skalierung kleiner als 1 überspringt die gerundete inverse Texturtransformation Pixel in der Textur (minification). Die im Bildraum gesampelten Texturpixel werden somit 'willkürlich' ausgewählt. Dadurch können Treppenstufen und Moiré-Muster entstehen (Aliasing-Effekt: linkes Bild). Durch Mip-Mapping werden an diesen Stellen geringer aufgelöste (gefilterte) Texturen verwendet (Rechtes Bild: Mit Mip-Mapping und tri-linearer Filterung wird ein Anti- Aliasing-Effekt erreicht) - \item Vergrößerte Darstellung: Trilinearen Filterung = lineare Filterung zwischen den zwei aufeinander-folgenden (am besten passenden) Mip-Map-Stufen + bilineare Filterung in jeder der beiden Stufen. $\rightarrow$ Kantenglättung, Tiefpassfilter (Mittelwert / hier Grauwerte) + \item Durch perspektivische Verkürzung wird weiter hinten liegende Textur verkleinert und im Vordergrund vergrößert + \item Bei einer Skalierung kleiner als 1 überspringt die gerundete inverse Texturtransformation Pixel in der Textur (minification). Die im Bildraum gesampelten Texturpixel werden somit 'willkürlich' ausgewählt. Dadurch können Treppenstufen und Moiré-Muster entstehen. Durch Mip-Mapping werden an diesen Stellen geringer aufgelöste (gefilterte) Texturen verwendet + \item Vergrößerte Darstellung: Trilinearen Filterung = lineare Filterung zwischen den zwei aufeinander-folgenden Mip-Map-Stufen + bilineare Filterung in jeder der beiden Stufen $\rightarrow$ Kantenglättung, Tiefpassfilter \end{itemize*} - %![Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_Mapping-Anti-Alising.png) \paragraph{Rip-Maps} - Anisotrope Filterung: + Anisotrope Filterung \begin{itemize*} - \item z.B. bei flacher Aufsicht ist die Verkleinerung in y-Richtung viel stärker als in x-Richtung! - \item Ohne spezielle Maßnahmen für diesen Fall müsste jeweils die Mip-Map-Stufe mit der kleinsten Auflösung verwendet werden, sonst treten wieder Aliasing-Artefakte auf! - \item $\rightarrow$ Dies führt zur unscharfen Texturabbildung. - \item Abhilfe: Anisotrope Mip-Maps (= Rip-Maps, Rectangular Mip-Maps) + \item z.B. bei flacher Aufsicht ist Verkleinerung in y-Richtung viel stärker als in x-Richtung + \item Ohne spezielle Maßnahmen müsste jeweils Mip-Map-Stufe mit kleinsten Auflösung verwendet werden + \item $\rightarrow$ führt zur unscharfen Texturabbildung. + \item Abhilfe: Anisotrope Mip-Maps (=Rectangular Mip-Map) + \item Verschiedene Auflösungsstufen in x- und y-Richtung erzeugt + \item Vierfacher Speicherbedarf gegenüber höchster Auflösung \end{itemize*} - - Anisotropic Mip-Map (Rip-Map): - \begin{itemize*} - \item Verschiedene Auflösungsstufen in x- und y-Richtung werden erzeugt, sodass für jede Situation die richtige Auflösung gefunden werden kann ohne beim Resampling das Abtast-theorem zu verletzen. - \item Aber: Vierfacher Speicherbedarf gegenüber höchster Auflösung - \end{itemize*} - - \subsection{ Weitere Texturarten} + \paragraph{Bump-Map} \begin{itemize*} - \item Reliefartige Texturen: Herkömmliche Texturen sehen aus der Distanz zwar akzeptabel aus, von Nahem betrachtet erscheinen sie flach. - \item Grund: keine korrekte 3D-Beleuchtung, Abschattung, keine Verdeckung, etc. + \item Reliefartige Texturen: Herkömmliche Texturen von Nahem erscheinen flach \item Idee: Verwendung zusätzlicher Texturen, welche Tiefeinformationen beinhalten + \item Offset zur Polygonebene in Richtung der Normale als Grauwert der Textur kodiert + \item Anwendung des Offsets auf Polygonfläche: Normale wird als Gradient der Bumpmap berechnet. Beleuchtung wird daraus wie bei der Normalmap pro Pixel berechnet + \item Offset nicht berücksichtigt $\rightarrow$ Als Konturen nicht erkennbar \end{itemize*} - \begin{itemize*} - \item Bump Map: Offset zur Polygonebene in Richtung der Normale als Grauwert“ der Textur kodiert - \item Polygon: als Schnitt mit Normalenrichtung - \item Anwendung des Offsets auf Polygonfläche (Drehung): Die Normale wird als Gradient der Bumpmap berechnet. Die Beleuchtung wird daraus wie bei der Normalmap pro Pixel berechnet. - \item Ein Offset“ wird nicht berücksichtigt! $\rightarrow$ Als Konturen nicht erkennbar! - \end{itemize*} - %![Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_Bumpmap.png) \paragraph{Normal-Map} \begin{itemize*} - \item Normal-Map: Normalen Vektor x/y/z als RGB-Wert kodiert + \item Normalen Vektor x/y/z als RGB-Wert kodiert \item Polygon: als Schnitt mit Normalenrichtung - \item Anwendung der Normal-Map auf Polygonfläche: Die Normale der N-Map modifiziert die Flächennormale (räumliche Drehung). Bei der Beleuchtungsberechnung wird für jedes Pixel die modifizierte Normale verwendet. - \item Ein 'Offset' wird nicht berücksichtigt! $\rightarrow$ Als Konturen nicht erkennbar! + \item Anwendung der Normal-Map auf Polygonfläche: Normale der N-Map modifiziert die Flächennormale. Bei der Beleuchtungsberechnung wird für jedes Pixel die modifizierte Normale verwendet + \item Offset nicht berücksichtigt $\rightarrow$ Als Konturen nicht erkennbar \end{itemize*} \paragraph{Parallax-Map} + Tomomichi Kaneko 2001 \begin{itemize*} - \item Parallax Map Tomomichi Kaneko et al. 2001 \item Ausgangsdaten: Bump Map - \item Die u/v-Koordinaten der angezeigten Textur werden Entsprechend der Blickrichtung beim Look-up um $\delta u = h * \tan(\phi)$ verschoben. Die daraus resultierende Verzerrung verstärkt den 3D-Effekt, allerding ohne korrekte Berücksichtigung der Verdeckung - \item Anwendung des Offsets auf Polygonfläche (Drehung): Anwendung der Bump Map des Offests auf Polygonfläche (räuml. Drehung der Modellkoord.) Die Normale wird als Gradient der Bumpmap berechnet. Die Beleuchtung wird daraus wie bei der Normalmap pro Pixel berechnet. + \item Die u/v-Koordinaten der angezeigten Textur werden Entsprechend der Blickrichtung beim Look-up um $\delta u = h * \tan(\phi)$ verschoben + \item Anwendung des Offsets auf Polygonfläche: Anwendung der Bump Map des Offests auf Polygonfläche. Normale wird als Gradient der Bumpmap berechnet. Beleuchtung wird daraus wie bei Normalmap pro Pixel berechnet. \end{itemize*} \paragraph{Displacement-Map} \begin{itemize*} - \item Ausgang: Wiederum Bump Map, jedoch Bestimmen des korrekten Schnitts eines Sehstrahls mit der Bump Map durch iterative Suche des Schnittpunktes + \item Ausgang: Bump Map, korrekter Schnitt eines Sehstrahls mit Bump Map durch iterative Suche des Schnittpunktes \item Finde $u_0$ , sodass $u-u' = h(u') * \tan(\phi)$ mittels Bisektion entlang dem Sehstrahl - \item Bei Mehrdeutigkeit: Finde $u_0$ am weitesten weg von $u$ $\rightarrow$ korrekte Verdeckung - \item Silhouetten: Auch u/v-Koordinaten außerhalb der Polygongrenzen müssen berücksichtigt werden! + \item Bei Mehrdeutigkeit: Finde $u_0$ am weitesten weg von $u$ + \item Silhouetten: Auch u/v-Koordinaten außerhalb der Polygongrenzen müssen berücksichtigt werden \item aufwendige Shader Programme nötig \end{itemize*} - \paragraph{Zusammenfassung} - \begin{itemize*} - \item DECAL (Abziehbild) RGBA-Werte ohne Berücksichtigung der Beleuchtung (emmisiv, evtl. mit Alpha Wert (A) für transparente Anteile) - \item DIFFUSE: RGB-Werte werden als diffuser Farbanteil mit Beleuchtung verrechnet - \item Graustufen: Helligkeitsweit wird mit dem diffusen Materialfarben mutlipliziert. - \item Specular Map: Wie bei Diffuse Texture Map, jedoch für spekulären Anteil - \item Normal Map: Normalisierte Normalenrichtung (als 2farbiges Rasterbild). Dient zur Modulierung der Flächennormalen und wird bei der Beleuchtung berücksichtigt. Farbwerte kommen aus der Materialkonstante des Polygons, oder aus der Diffuse Map (bzw. Specular Map). Ergibt aus der Ferne eine dreidimensionalen (reliefartige) Struktur. - \item Bump Map: Statt der Normalen wird eine Erhöhung (in Richtung der Normalen) kodiert (grauwertiges Rasterbild). Die Normalenrichtung wird daraus als Gradient (Differenz zweier benachbarter Pixel) bei der Darstellung abgeleitet. Danach Beleuchtung wie Normal Map. - \item Parallax Map: zusätzlich Pixelverschiebung als Funktion der Höhe und Kamerarichtung - \end{itemize*} - - \subsection{ Shadow Mapping} - \begin{enumerate*} - \item Durchgang: + \subsection{Shadow Mapping} \begin{itemize*} \item Erzeugen der Shadow Map \item Darstellung (mit z-Werten) aus Sicht der Lichtquelle - \item Kamera Koordinaten in der Lichtquelle zentriert (Matrix L) + \item Kamera Koordinaten in Lichtquelle zentriert (Matrix L) \item z-Puffer als Textur speichern - \end{itemize*} - \item Durchgang: - \begin{itemize*} - \item Kamera Ansicht: View Matrix: V (ebenfalls mit z-Puffer) - \item $\rightarrow$ Um den Schatten zu erzeugen benötigen wir Shader mit Lookup in der Shadow Map-Textur: + \item Kamera Ansicht: View Matrix V (mit z-Puffer) + \item Um Schatten zu erzeugen benötigen wir Shader mit Lookup \item 4x4-Matrix: $M = V^{-1}*L$ \end{itemize*} - \end{enumerate*} - %![Quelle Computergrafik Vorlesung 2020](Assets/Computergrafik_ShadowMap.png) Shadow map look-up: @@ -1665,22 +1588,14 @@ \item Lösung: kleiner Offset im Schattentest: $IF (p'_z <= z_s + Offset...)$ \item durch das Offset wird sichergestellt, dass keine falschen Schatten entstehen \end{itemize*} + \begin{description*} + \item[Uniform Shadow-Map] Probleme: zu niedrige Auflösung der Shadow Map im Nahbereich, Großteil der Shadow Map ist irrelevant für Kameraansicht + \item[Perspektive Shadow-Map] adaptive schiefsymtetrische Projektion; nicht uniforme perspektive Shadow Map + \end{description*} - Uniform Shadow-Map + \subsection{Zusammenfassung} \begin{itemize*} - \item Probleme: zu niedrige Auflösung der Shadow Map im Nahbereich, Großteil der Shadow Map ist irrelevant für Kameraansicht - \end{itemize*} - - Perspektive Shadow-Map - \begin{itemize*} - \item adaptive schiefsymtetrische Projektion; nicht uniforme perspektive Shadow Map - \end{itemize*} - - \subsection{ Zusammenfassung} - \begin{itemize*} - \item Transformation des Texturraums in den Bildraum der Darstellung: - \item Verwendung unterschiedlicher geometrische Transformationen (z. B affin, perspektivisch, Env. Maps, etc.) - \item Anwendung immer als inverse Transformation! + \item Anwendung immer als inverse Transformation \item Resampling + Rekonstruktion: Das transformierte Texturraster wird nach der Transformation durch das Bildraster neu abgetastet. \item Filter: Verhindern bzw. Abmildern von Aliasing-Effekten, verursacht durch Resampling. \item Lösung: Tiefpass-Filter vor der Transformation: Mipmapping, Anisotrope Filter.