From 33f24a82895c3fcd35fa4ca7b802baa891ddc4cd Mon Sep 17 00:00:00 2001 From: Ben Visness Date: Sat, 30 Jun 2018 19:57:11 +0200 Subject: [PATCH] Commit all this horrible rotation stuff for posterity before I delete it --- HandmadeMath.h | 6 + example/Axes.blend | Bin 0 -> 474192 bytes example/Axes.mtl | 10 + example/Axes.obj | 481 ++++++++++++++++++++++++++++++++++++++++ example/src/Cube.h | 4 +- example/src/FollowCam.h | 54 +++++ example/src/debug.h | 26 +++ example/src/main.cpp | 6 +- 8 files changed, 584 insertions(+), 3 deletions(-) create mode 100644 example/Axes.blend create mode 100644 example/Axes.mtl create mode 100644 example/Axes.obj create mode 100644 example/src/debug.h diff --git a/HandmadeMath.h b/HandmadeMath.h index 5306201..3f7700c 100644 --- a/HandmadeMath.h +++ b/HandmadeMath.h @@ -1436,6 +1436,12 @@ HMM_EXTERN hmm_quaternion HMM_Slerp(hmm_quaternion Left, float Time, hmm_quatern HMM_EXTERN hmm_mat4 HMM_QuaternionToMat4(hmm_quaternion Left); HMM_EXTERN hmm_quaternion HMM_QuaternionFromAxisAngle(hmm_vec3 Axis, float AngleOfRotation); +HMM_INLINE hmm_quaternion HMM_QuaternionFromVectors(hmm_vec3 Normal, hmm_vec3 Up) +{ + // TODO: zero cases + return HMM_QuaternionFromAxisAngle(HMM_Cross(Up, Normal), HMM_ACosF(HMM_DotVec3(Normal, Up))); +} + #ifdef __cplusplus } #endif diff --git a/example/Axes.blend b/example/Axes.blend new file mode 100644 index 0000000000000000000000000000000000000000..acadad6da6e425175fb5909410e2c58b19c949cd GIT binary patch literal 474192 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 ZX*ZR3FSdkPZ;8XGhfs zQwP%ri&vO=AUz;_ff-dFOdU)gNDT z;R*|PkQfNV^uyG{^jkpn!_0;0NB1{OKTJJLe+E=P%v_kg=>CW4hpC6@p8?emGZ$tr zF8wg|F#RW>`eEk6^rMF(%zl`9nEoG7{V;Q3=@}M3ps)jBn0}agn0^gtzJ-|!(+_h8 zNG}M(^uyG{^hZGT!_0-b8<+hs^)US%Q2j7-Vc`Zd2V^%0!|aEthv|ovJ1}!$`2?5! zF!eC~AhSUjW-d%W%pD*(5C+)~>c_##H&{O|LL0T5gM}L`9pXw)ATvR0*5z0rB@Srs zg%o_;5YZr)P~-%UJ;Ue~Zy^0Ii+2zjWDY(IayO_S2h#^@mtxgF4EA2YLT(T-c?XV^SzMrahtVhAL&}YcFAy4}9v=pU z2dMmj>4T-yh>uwGA7F;`YZ+kUKqY8=d^RyK!2AOl2P%e+13_u5<3Jafr5HdMzqv43 z6!T$%P#R(iVjKv3|3 z&>Rt{z9M8Uc)5!J_UK4K(#!;HQ$vJ6GgS~4g!};BUOH>$Oz^r^kUkI_L__39$pMe32{wjYuMKp-j*^OVIu$*nR`p{sX8q18iRcY@Y#a-vMkN6l`A1_sdn zB@iF9Zkv&DJ$Q#8h>yJgAcN6`6XYTo&G8MgKHcLFga)a{he7TJ?LUC&gRR@0@g0kP zjI++ON!ov~4!WNLvi|_27jzBkG{qL={|-?05BFg{EkstiV9jsFUU1q>B16?kY^{Daoh zPsE}QVhS6B5>yVthjIoX1&bG0Jiy`wR^Gzm3*vOpnd)`md^ncT zP}+c*H8cLD6^sp|X?CVMv>yT57YWLrF#B-PAT`Fu#u)h(HFs`9&|F=Z*Z3hMYU2Ap@Z!L<|oMKE~ zn7#_AKA3qhedy;G!PLR@t$^x-nTOB^VZrQ!se|de0o4aH526}GqMj!NQwP(>0gWG+ zc_1AijDCI*OdU+01ymo*Jdhp`u4m@}A3yj_oq+0tnFrIyz<}ybm^zp~Sh|Io2h$hAjH(Z&4yF&L z4rU&VU(b&4ALx80Sbl(=j}rmSA29W>bc3D_K;Z+@4^t1*-vQMRGZ&^GJzin@Vd`P} zcR=;S%!S#D9=|aCF!eC~FQEEi=ECg7r5~mqre8u9l0RYQ!t|l16PW!l^)US&Q2j7- zVfht3y}>S6jh4?^Vfrng`eEk6!X1{rVd)ZPKTJJLe+E=P%v@MGgiAk6 zJxu=$sD7Bau<*mBAEq9r{{&P&%v@Of!`y-Hewccg{vS~NFmqw)4;GH-`eEu}`Zb{S z8q8c+_~8nFn0lCgSiJ}{7nc5D=>Xk+n0lCgm^{o}nElxFgT|*}^)GCEIztz=9){Tu zD@SmZ2OxVv;|GM!*UEsNuLYwem?7iUD_9^j$Q*nal%0go%(XZHb}W~ zf*nGG^y9;z@Boz`FnzFeidBEZRA@Sdov#H;w=h0Fn;_$MAQh1LCy?F~jtmSi8gdRC zNS=uSG>8Yf+Z=R?9teX(31e7zLCi;04>1KXzXjo=su@f?SiHdE0TwSXH^SnJfx+Pb z14AA3+-?u2g1v$VzPZ)H`7rg!G%TE8AHm8qSowAWTE4-`Jy^L0YhS_ITj=dokoQ69BA0=Ift`tgfrF!geKvIP z4!L}r!4E0NU~~j0gwMeTp+V;0!ytEq$~TxkSU!5eg++fu`JgY~K;hMf#lw*DZ0MD5 zuy}yQO9c-kUSRPB@#-pP28LBg^Y<~%3=Idse9(9-?EFAbJcHE3&I^Qrekzv5K}<&gb*1BAHp7tBrLzc z;sF*fu>1y#F9wE!BMb}$E({FpM;I8`T`>7%`mVv+jiJHXZOu`2bB2J!?hsSJr>#Ml zB#?{QAY}`vd_mU+nZE_yT?!hhN0%LZd|14|;sF*fFqgvO3&O90*8dFP^W_*AQ2C&I z0ZQkf`~ads;RMnL69@4@;vjiYAB2H{!5-2cU~q!m?{UH@6QluxSvVM$uz~Kkfp7_v zAoFqM7j%=*`GifUuL@ASI509W!0M-~(E5^)D>w)#807M>Tmw1LumKbVRCO^ZTtV#( zSo;Fj-hj=Ez}g|Ob_Q%*1~x8*KE4EUTre{O11A$?ofQ*P2(t*tP_%oOHN+wH4~%{x z0O8LNh0q{#@L`aLzjGi2dR{S<#=2fG zgjtFKgh9FpW03iv@KOTLT%f9ln1X0;K=`O?1``h!FR*xk#S4cBBwk?g1#xpEsQd)4 z4@2<(g4-J>7#J9CGB7ZJ%EzD3OmG~c2)ATKOboCkP7pr2s=>pD#S1JRVDSRWZ?O0pJTAuW5>Q?N zVO;S7X>WkqfzU*Q-Izfm3X2z5Jiy`w=0I3{F)#=mWMF7=W?)!wfPn$F?grG}0EsJr z+aIuY1t>p&@=X=AJb{UW_#knRe7;b#6$pdd8v)MH_8$WSa(jb;p_=Izk--SctN7vt z-6V8A%)f($2E_{pBLf4he!56xdjlHegT)&}yQ5<#A9#EdQv(wN1D0+9D0~VS7#Lvs zVi`gGItB*JbrYB-QX+z$96{~?wO?TE6;M+HSq-dR18b+i+AXm8HQ2Zb%uS)t{SKh| z7_=UhgF~AITl=L#4pN`NXbTAl|Ah>MhM9+p2Duy5eu3$O<@*zoSo9w-MQyJnw4(BH zSppT;0jR z@ifCf9Oi+{f??2@9|#Y(dJ+~7uy}#xH&}czFnl=7!0^GDfua2{14FxW{`(t8^55TZ zIdQ=E$cY2K(0l_6CG0dTzkupVxC-3kB`gdK+AO~qK^U$YCj*vWaK#J66wr7H#0Ur< z!XAtyEWg0w0TwSXx5DBJ!Uwfiz$|ck1=o0qHzTCoe-c`m!rCt&KB)Zyk|$!kgn@(M z6q64Tc?Iku0tBR82~tEQ13^a75QE|cG*|$upGMkv321K=149G0t8*y|^4#I|nDH=A|-}B&Me_BxdH3;|Of)T+z)rp_dQdhY1t6xULFr*HxT_&@ets zo>Us-R~W{o_k<9{evj~6usbwk_-#QLG{1TFjE}9cv9TS9o;6bvObaq8Fhub~GdeZ{ zN5v=#0nlY~4ZA^OATVP<<03FNZW=>9kk1`Y<$+7J+y0FUNGfmd9B=EcPs6d7Qtp#f|v2ZICyXm=Ti z1GW!j64Xv~K1dA&cYK}>PWLbx;a-p)2nM+iu}=Ub#=yYJAiw}B>tW+M;65@$A=qI3 zlH3A)Fl&?;4S~@R7-=CO&x-2??~xV~qy8PqA#nDLk39?{>QGpSG}tkNYjg;oje(5; zI)4eClL4t;%M{NrYvxU8JY zXVAEW0s|vM0|P6=Ed~Y#8wOSeMg~@x6F|w`0o1Mm=>w&0*vJEj4^xCpAO0$H5Tp)S z48-PSU{C|m=-4kmFBM&k6uwJpT4HHV2`O5zs0F1dRN>+vcgUV7RAHidlp{ zuh<9C4>K2}A3D9uFoD6HfnyV@ewccgevWMr{V;Pu`eCWRlfjjNV-2c)n0lCgi8T=Y zFmplrA$g5~p_^eP1IIE{{V??~{jhOpn7JVRu-PsLhI|H&1*rOA>S6jp;S9nsb3yuH zYdjA!6f$tkLg>$6W?+DgM}sD5L27sW;sKX;5#Jy*ho?T64>A*i8|*=2exR}jJZ8wq zzzE`lv>`7K>Crf5t!3pk4+w58P4&e z7Mwo7+8G!aUPwX4+hP3w|Nn!Q6(IG#U@{1ri6HrX^EfpABI1h`dzB<}$3S0GfNvOw+z83?n7R_RHj zax^_5LLNOG!T1Ojpm+hLCs?=d`8kCMf>m*=&YbHqf1X7QTeKPY>gHy>LHvsifxsk#O zv<3v$Z$q{xBNI}dg4_jKmkk>?Tn*KWK7N>!nnu2(7#JAheUNRZoDFj~%$+cI!%T+x zrzkT$gA#|wlX9>F%yK+5$lWRo3=FXGQ&2tt#Ti5kDF1+2(D^qI8zct83=Gbp3=9HH z3=9!+khrse##My^gbz}U4LgU1q*hQ82v9?@)w5738d4y?!!W`c&^#m}cRJXE(m6=h z4LpGfQV-&R)&TH87)T_I!nT1-n;II} z=Lrz5BaMYKO~TTwLk&3Xg2Eq!IdHabLE!{Rf1tF9>`stAUF5V0HG}B133UUZvfdOO?5M7#RKFEJWE2f%4PI!q9`qYJX;(tzK;`qYJ=^~{~m>HlXf#{1P!WYJZ_l2Ntz?C+` z+!z=purM&d+9#kTpCCJ7=HQ~k+?>+#^GX;p^T1Q5xRenT2eng>71<<}X6BSoYAUjc zqwLWT7!84;5&|3nLRkA<;rh6hx-=+dLe6FK=Kd_8QTYq6++~P7wPZBz_5Uofq?_MhHe^kOppV* zCJ&cy{hgdEb235mHMmp|AU|GiU5T^PF7Qm2IJVk*EfH(0KunGe2US zK;|8sVNee|xP#7R#&_Nm)<{`;r$kA4SW6dn^8fA_x5E^~0IVfB} zn6|D!m<}(uq2)BZ+=i~jhLz_C9S|0x+@@fjW(btqC!lMMA-={WM_{=P3Ix!y1rUvd zL3s*^3qG3+nGa$kt3hU?%YpbHjIIWs7%6H&<{)E`UJynW1F=aFBSkI9Y-Eg0FS0yg zHd2`}T5b~#E|OJnoDk&#g)zqoK`=dN%57*l4KKH$dnjUOSuhcnbLnzRuv|^gsvDQDeLTl%1A-b9$3Zu|^II@GK;aLc4frZ{9w1jjf@cJN-%z00yj#al+(+pus2g&`DUO{GvdtaB$IGpLVG zR1EU=Hng0Em)p=Yl3-^Qp@#^(+=i|KK$j zVYz((QtpA=h@R?55hFz{HhVDj6H#tE$Ql)!K-`aRCTV<7x`XN%ZEr&Zf*RC`=j?;K zy$vm=;pH~;Y&_T*b?9LLFSjY#A2bBY?Hf<@V2)d@RZpg04jT67{rHR zm>7tLiJ{Zza_D@JdSo$VHo6>$55nkbki@|4ZJ2*R>OdGIkBmtXBSkH;9UwMHF9?I! z$QX|pq`eJoRbo?zYz|>IDBVF-jh5TcfS?9-;`<;kx1r@UtlWnA8Fn@)j1QyXVunn817VmMAT~8H%sfUcXV^7>avJn3Wd<+}+S37X z7e2c|W;WRWFo2x@fKTNhlY_=7x~m}m0r@+Bij+MJgZB7=!UJ;lG)N6dABYBF#QqqN zC;~&|5d2ZrXb8|Y1VHBzfVMor@+0WZ3{bg)ege9O5q0t__N!_@=^lom{slP#ey$uy z4kQkuVHlMUDvLoPpnOO@3^Ea9AB;w4!}!SZAh8Df5LX6<1&j;~uy9i+vYrib4N0v4 z8Al<81|JqvK>LhA`&n2;0csyX_t#pY#T&;3NV^H$CSO-7 z>`R8HcXZQ<=fAM71n(Dw>6jsf%7=;LqB(w7fc3u+Cr%$n6+#{8E~>$fLH-7%BM=q= zanNwY4~YMf{Q**f%pXi_klR3h0b$HjNq&IrR0Vw1swFhJdC~iO)Tl{FO zDg);?O6?(5Kgd1As>P-bq#xuL5JoTML2`-=3=E)iv_NbSmIj@K!N9-(G7H2O5Ca2L%z=R+K6!NjBSX=abXyPxsdsU6aRaFX@j;k@fx!VJ22uyo7vWd1 z5u`3YnSlYM4oS=bBnDCk(pR)4eJ@Czi`$-^AazJ$4j?g*x(L4y8wIW}2CHLWSU3ly z4oS=bBnDDfx+Q&Y0o1%bJ0a#Fi8+A8Kt~Fi$Do7pFj(s38YyYDgKw|9>w}8bSYE{nwiPf`3fZPlgV_^8w z4-yMrv2E{-ni#N{{8fm$F9$UCu^rR^iyhqnG4FIu%)Sz+z11@y_GT{6+c)u#ogv8H zFZ~cVpQ?%3R|@r8^$dvLK10j{hr!VekTCFGv2E`yXjsW#g@hF-t%C9jtWJaF6@2HD zfx?GU3~M`p>|emdzyRZe8g{U<0n++Y29GO1ati2{Bv9KBWIIG0rUpc_fP@*8!MFE8 z+z(;H#6dLVZZc&C&{_46({&(hm^g@rlv&CQoD2+Lbqov;HcT8uL(Wf8W&oXm4^jtG z17gF(K{TW+S7zX4U;wKFsR6NJ;vkw2>SoYw03bP#8W0;M4xvGcl)-n5faE}GKx0av zJETBtQ3eJE$UR8P3?Md497My!LFz$rAoU#j6Y!D4o15yuC z2T~6bgP92u2bl{J2Z_Pl01^ke10)U-gSiL*)iG$KPD4&4RH%JV`2GJlshz&~b zAT}r+gVci3JctJILE@ma3sM70vmiN8`UcS;K1dvtK0#uj^a#=e3R{r7K<)-%P@I9( zg3=sF9Y{S$AIMyg`5-pP9UwbF?ge3xIUw^u>OuNI`a$st(gTW95Dnsk#6jkR?16<1 zBrSkK333+|EIdGVfcy<|JIF4O*&sH^y&(Hw=7RKt#6W2eWCtiMfZPm9lOP(z2Z@8y zF363bv5FaECN_QZ?fYKs}2Ju1Spyh}lJCzt17(g_L4-y9* zaS!qv=>7)~4dR2uLFYq)+yc6Y6hwpgAaPv=1_qEDK=*5cXb>MHuFb%}0CKYylm_uZ z;+hN$3?R4bKxq&kBn}$C0Qns>UjU*(e2};*0|NudPoRbXhz9XN;-JzTlx;XyQr z4-yBpl|X(4E!zRnAU;SOqz2@7(0Q038pH>QgX{u@yEy{`_+ELC-$3CFaw8~wL3V<| z6J!=B{9xe)3m;f`!2A#MFU)^1|G?Z2b1%$&F!zA$2jxppxd7{fz{&+sxI$7Eb`oAL zV3#H+3hUE@>~~>gV1V&K2h4%O0b~FuJ%ds)pKxGv+^O3|rLB{aI0x}MZK0b@2jv^*8n=0q!*bD z2fmgAVjoNfM1$@F#*IO3G0+{6u=*JNj!1B&4l)Lek;_<+0D=z*3XnYzalY$y`_1+q zvIWt4dk@)mv=F!73Z#4ZV^FwZ!w8>);sw+$g@qgFZahdBgVccZf@wSX)@)EZ0S&p@ zbHT@LVe$+N@b)0I{ReLkzJjy|VeLeaX~@_q$SEg3iGh;4$iPVlvkif43z!Xde}~m* zdk~U$VR45{qqAXrQ22q^2t3*zM1%z>bP!>REDmFXRKVCU8YDJ~M?+vV1V%%Em=FM0 zbI|r6qK1a)#Md5VU_f8n3)6+5L1Tna9;luqsXZvN?zkN?hL(lS3=E)l8g>k7cYxZ1 zu=*HVdl2knu%kd_CWwJaLqY;%2SonC|N8xU@&9*$=%U2`yH2!?wg*8W1Hqv1!-gTU zAQBWWp!Ogv+;FuAuP-hDr4w*_u>Vjgc)l7E?;ul<+Jn&cAG|&I1==2jwi6+$5hSQR zSX#uOXJ7ytQAUW9zyc>5V%vifHlyu9NW6j41t^q}X>>M>4^s!?L-1&O5E2fMu*3`> zh&W6QHhGZPC>{-g(GVC70b)Xc{P96ZS%lvXMo7a7qzF{clhhuBm=7xJK-ys#)JDUN zLG2Dudk|J1V`~q>OoEsX;=$}d&=6;X?19LG#s!hb2T#b1wg*8W1Hqth!-gTUAQBWW z;PxOi+;FuAi5?$>w*TPm!GF;9AhewbvJ)9Q1v%#=R?=^LaE0w?dk~VpKrUsilNNg03hQMeDjD`R)ApjosfQ=7AmYgAJqjY=_ z$v~3ZgUDlpAU3q@BWipQRv%+)4}yIR_9Lhq1u-yb^!6ZVTo8GDkfVCEJqQXp2nK~8 zHVlykk+Ak4EZlIl2Z_^*!(EJL@_n_-NkZ4d^0R=gThG7sNgkgLLJ=z|GgaafjF~bKU4pW0o z9wau3M?+vV1V%%Em=FM0bFlUxh6YO8gP^@6P(wlW0oL)s1?7GqIjAzk`aw_|5E(4O} zLtr!nz||b2J;(-W1tEtCzV;vk1L#a#WYw5#aBCAHOmce=d2A5GCS`mORv)9c2SH;3 z2w#HgPmtp-QNo7uetWT)&@d``kSoqx(rf0SCpP@WY0o(hLj?u=XG< z+;FuA5qp#z?76Nh28A0o43Pzq@b(}y+;FuAi5?$>w*TPmK?7)e5ZX=z*@=vu zf?SFc%R&2#$yquGHVK?`;G^AOA*=)_oikLp(!M>2*)~OvgVFIptg!6J_xS+;6`C#Ak|qQwIsC%L1Ti*7}_@`YW*OrKE~D_ zMAYe^`V-`6Od7pCh`yi1BW|=k2nsm}28ACs43Pzqu=XG<+;FuAiQZ2FZU4dBgI3V? zAhewbvJ)9Q1-WJBP1BW}LJtzRa!2(&DI_#0so*4~4 zm^<1Y1ce*~gTfCRhRA|QczX~UZWOl%q3u6-d(Z{i9)z|NL3SczNPAG}1W1*$(m3``nZdl31&nU4O^{l%b= zgJ4kjVZ#tv5D9A!!orQ>_8_$V2X7DhLED4Sb|T15Wb72=mXlaglA5RQoS#=xlvrFs z@>XMTvO)AEkWEKngVH&JhSz9&5R`u*7!*FB^Z}#M*)Tq`JVVlrCU2Ivd7EmIsNAwg(Ym2nr9(@F6S@(ld%jLtr!nMniy@5P-A?L3b20 zzz!=z(uTi12rHwIG@vnA5qwhHgRn6{l)H`b-BkyY1GPIq^Tn|Gm}c$4{?YkjMAU-P z0XB?K0g4yU{UjaGaHF_A2yOqt+k;8a_8_#Kh_D&LatiXyOUp?tN!52r1=A!C4>Eu= z3bEsZ9=@aPK}1^x6bGR60i)5`Fg~(8NNlt{hzLVacwmMPVR?|AQ9K#~qaiRF0>p#> zxSE5E57J=$Akv5RHQWvPM!iEtlVC_Lz zxKZ35gtq_S?ZF&qdl1@AMA!^rIR*J7R;Ct_-U@_h2a({6LTr2RhTmv=5Ybiv1s^DV zz-V+fjE^i25*uv~BEk?99+=@nSRSNj6px0$Xb6mk05Kr|uI6ag9z+~B1KxW=(tI&! z?H~xF`T}$&AZ`q5cYwwRVf8W1+Jl9o?LkDmfa)r27@-0bFQDY9K=uLSw}TNeVNBxqAgKI< zVPrdSw*`^si(&OKw)P;xG?4iq9wrSL*96%Gkw-s&(4%g2{U9i0AQ%*W*f2yEM8evG zuyDiG9whqwL1_CA-X3g#wg;i@M39}x*eS?2u{ax9gk&~J?ZF>`gQGpj0L_1pGnPPc z1oAhChGA4bB2UBQsY#>Sh1!+@*@G!h%l+AyZF`U#U>LGLd-T3KP@Ih7(GVC7fsqjc zpc{s1cixOJtU_Xdj1R)X6m-rE48z1=G^9=<_PiNTn+<_M?GDiRAgn&d)*eLE1E8`W zWGg0(-W~*{-g(GVC70b)Xc{P98J?k|SBfv)3&u=*HVdl2p-22h;?;$hP0?LqYM zL5}v(@j+0?K`d5za5N_feDZzy0!;l^)ap5gB?<83=9b%Z;fKqItf&7!7w6hVC_Lz zxKZ35gtq_S?ZJ7__8_#Kh_D&LatiV*O-WCs+kTQ2VWaIqM7jXQ0VqwtXmmD=k1P)o z8*L9F!VnZ5nBhZM9;9a!kA}c#2#kgRF(CjR_Mq8*5^jVONNo>NblwcCKE~D_1p655 zF61&6B!J+fj}L<8i;>Tx=I9=sF9wAe1cSm28-~b&NLYIi7H+uOgGA34L)(Aw_TUO= zdl1@A1lfs&+`@sZ_0Vx#RrL>Pj?12cRG%Y*cc;?WQo4S~@RASMLB)f~;*gNWfl$oj#vXU>4n z6NIfD1knr(3}7*sYa!!~u(M`BH2ka?P#ck`^JZZ6F|FEz9=@aPL0EjD)=8jx3x*LY zVC_LzxKZ35gtq_S?ZHjZ_8_#Kh_D&LataE{FG(y(WgzFKI*1YAj6!UC@I>Tjdk~Q> zKmiC!6EGT`4dWxrgTzMLgNQH$g$HK%5S9n&8O5U^Fd71*AwWzBfU7xs@Ojh>3>eiN zrRP!eA)EjjHzDP`8Bp8Lo`C_>7DN~V+Cz*FgW4US{UosZm{#qMCp) zp#l^yp#3DUaHF_A2yOqt+k<Q+ldIbL0F*nU};W4iAzypIYfkH5}Z-M1b(fcbk6W1X0$zs zXsdt%43u|aG&&o`N0tYPjkX67VF(Hj%dAG|$y0oopfwi7{iB4ekZ;M~+i`rS`b5l8#>AX46fdKEbiAm`_e zo;L#x8Z?TLi5YV;1bp5AEDRyxH+udcTELBRM?+vV1cq@42!Q+sZ4ZK&s2DW92bxPx zOG^W_R3*yfEv z?GDgOy}uaR{)4v%pFrD#&~_roPGsy96r7isovPrGpPx-;n-H9Ah;0wf zNE~esLi$^vbODM9WE!0fLFGh+J@LEqu zdVtkUAR3_p-X4U88^!HGX!{S|9()IF4?^3C2%8}+r=Z~cG|=_MblP96kxcvcAZFVX z6y`8IIz9-AdF+W=5HXV{TK`}QEF6OiLzv^|I!J_wP~_8=lG zMp>gFFd71*Api*h8sAR>u0_E%f$B*T=8IA5Hn0g`g1Gh|tUjh$dl0%$7VM-EPaww? zG8+*v@b(}y+$e4jLfe1v_8?Oo52&ri0c|HDY=*F$fjzOo2*w+255huXlpYO%(GVC70ays2j1O|aL}4_( z`C@wAUko~P285yWkwl$01FMg*wFjxOzxc$P(fMLn8iB?O(s(YcU4l>nYY)Q04Oe@R z==Fop_8+W02(yU;+D?S=VYE|FNJeRH5}8W}!KQ$lf|zYEupBZ0ZV%o_r+s@6*-{7_ z7VaQ=bbJsJCfLc*_8|6f85JE3fzc2c$squ)=D_O*A#!H0weXe<&Uj=rD7qjq#Z2`FSB7!+>UFhmwa z!rFtda3i-p=o8Gq0BQqfWJ20oX-rrSQ3qLwhJAv4GV@Y{ODc0x(PT*D644%np2z6m z099+xqycdwh!5$DoNz+1)j`G$l+TdGKx#o4kv5TKA#8{|ggw;BjMqHi`@mr|D7|Db zFfhRQ;W*+sI5D>%Co?adT>pdi%Ynie5-%WA6dXaMi=U&RMI0l;g&+S|VBrj+gI)X_ z{TzK=rwTAIXyv6=lrU%&6s49iXr&~UBr<5FWfm2eFlgl@7MCzoFjO*BF;wJc<}p;{ zCRQ+1f>@OxmR3Q2W?o5Z5kq=WerW+iSz-1_C5bs8hE`r`d1eZOR!(LTRIynsLrG#fLqTFne6b-zX)!}) za(-SsNKHXeenDzcNoHy>1BjcJnUe}O5NwH|fssip14yhOu_PlJ!qqBBEK1D-`7tp$ zJ2eF)%TSVQ$xqG(2Sj2@ zQF4AtD#Uw+Mi#LQT1f>AT1lx@B@DTV6-CJoKNQUB!{POJ7 zN`~Chl2nj!ARiax7lVS=kfA6wC$S{6EEQybYEEh{LuqCTLm4 zQ%V@Lic-@+rh+sTmlQ=C8^tn!*_lfo#)CE6UFWnGRB1keFh`kPHe`kUiV;*$IVkYHj?d`@a!dPxRDacW+1ei1`nX>NQ{PGU-GF+)aXdPaOniW1AA0S5|^_zGyy#8)yDXJn?8R6wXohDf*gl>9VMK!80PpP$5#UQh}W zgXu`iEMX`vNi9mvXV5B6PR&bYNGnRrP0cHU(8Ub-X=%l&B@D%BMTrb)nW^!axrq$P zmB~2_`PmG)r8y;;Wtpkv@u`)mU|&Flpg9>N!;q6$nOel4m6(^A%b=B*{>oB|U@ z3L$V1mZVlB=QHFc7L-8Aywr4X4o(3(Q!76yD>b=dR>c6C-(&CKx+{6Ni^B`PEf`+@-D3&2Vtr(QyKuHor7v+~Q6eZ@RSwGY?eW6o7+IKqQt!79FSmQZW4$}&d-4^KQi~Zj1W(@OGEi;EeG5>qlu!S$s9)P2wbB0nh}oXFy#{F3|hG zp`f@DLd1g$p?FA21E~jy3zG;{JZ zi&NvlPR;`}A>M(oGxO4NNQ3-W@T%+w-=;*!jqoOnnf3kk${OUukDNi72F z%}tN@V8~66&q+)!%}Xo-)$+ON@%hOmiDjw9APH#gl$#!(o|u`(0IKQY6La%R^GX=< zia{j^q{1xAi!V210Fg#u(ilvdfXLj`iUJS~(wYlmfHE^EtiV1%icN4z1Pel<5y3P9 zC4EQ%SCn4>Zks0;Rp$=kz+v%Xf5bQ&S#57RL1XOROCYFG!E)boZk(!*H zS_E$hvXKJ7=#OLLqRxTAA^c(P}z_QYE-0@7cmrPq?D(F$s{ld zYP_cAr52@Ef`gx-xFEj-9C;uH*dT_C#LT=BhQyK*Ll9xaker{ImKL9!pI2N0W#?q( zL0N^Ri78Mf$Yf9p6PhI$k}?yE89-$K1E>*Mlv-R|l2MdeoB^uhQd7XP1&Jx93`wPF z5Cg5AekkxC^a#@ zI3uwjl>x#8HDBSZN`zn)Lt;u|K}kH+g)o!jb5lz)@>3Wfr81~u1-qamwF0#093+~N zn3G>zl3Kt}T$&f3nwFNDTmrGWIJ*)YnqUnX`9+yk`FZh>Tm>!@iwlZU6H~z2kVQ-L zAf;1MVsbXLPD)LQ&jDvfkQJcPBd-{gvl2^k<3X7A5#pp0FdT^XNRQIKC;T9gX)e0*9_X>mzuF2s2t1>lk!QZ5%H zrkH@5Y+AV`sTI+N7O@NkMe)!M9;lIS2C8L1)gj2KskxcO#o&fLq|ODkTtIbhD%gn( zFlkU)2c>jyRSnew6GJG6i9ij9mdfCAAU?UYBtI>UA+fkJH#fDUs1nq2E-22dN`=Ny zMq&!2O$v%gs9*u8W=qaUjR%+4rJz8AYh%a-b$HU!Kr|vAa*N}kaS3j+#DilU)VoQI z&o9bM%`1VFnp%(+90R1+oSRsZT9lcX19eG3YH|?+sDYCXCX*OIEgBG!4kD5m5_6M^ zKm?eT4q}0Vse~ah52B%@C=s0ULE7?*AWc+;qSQ37X$)1MVwWK?C4~VTmN})#sd>qj z3}yK_4C&yWVo_>wUTRK!ZYHQ30cXc&GNeIeK;|Q{K{Ajsv7{nCCo?y*grTG&9+vMx znFkyJU?+iD@gM^-5{np$Q&Uq6!K4vGdQN_EG1yWF3#0~=uj3(HkZX{*AX(%*3f71s z09KKgS)7k#04R}zRi-7Tq?Y7^nUL597b&39GCqd^L>WQI_#9BjxhOT6p|~WmC>h*w zPG%^|%u7#Z$Vdbw9*8`cRa}|`rqgl~i&B&F^NT^9Gf-1H9@L{L28DJ?Jh)PaG82na z8KA<&rA29Z`Jf6MtN}bg08v$*nNpGgaxY9NB;|ms>tb-RnFA(4{)h*sIfmlY0#GNR zC_Sk-H3yvcKviNvQG5=lOwG-K^p`AoV}qNn;KHdWHLWNy znV}%DC@~k5b&GO~8B!99vcZyCMTxlupnS&wVS&;u14t}04=f60!iB*Z0xkpL!6oBC zgDapS!We8sT4FL>C5R1Hrv)BOVMr^=gp?3z8KAVC1L_;4Wq@Lsp`sEj$&gZ+mk5eX zhT`Jlcu1=gRD^(d$&l6;h?!bc1Pb`#VrXdr63c{&Bpd`Np%mBAbO+cQ@16NC+(YCx2a09qF+A&L9GPw7iUQh}vjzE3Q+=BRmGzP7tB=G1^ehw(R<|OCm7%>!zlG2n^hJw_h%={EkIs-)j$TX8!hTO!G_`D*9g1nOAQZQKt zX{DD!s4|B9qLkF4QV3NB%J=D|V6u!sD?2YAqzgiqF_dKHl*EJTgrWjaSY(zK!+6OV ziA9+y6%5&_MR^S63>gf0rA0}_3|iT#m5{0c+&swxjgu86L4pdT0yMT+mYwFoB=x5AJVKV&o4>=YhftO0go-_WI$rCB0r6xGCvJm#6sLroSFkFbxS}g z4^(XCq~^t!g8~pVmQn->oHS5QOiRqo%&7z?a;-A32!u*vfY6yxIw_Mut0W1O(vtEk zKpp^5TE!(rnR#jXpdnB&os?RZmY8hF0HKYbv>|991v0DxmN$a)L4&Z6)=qIMxD?XL zEy&NQWYEejfzmno`2`GGxge^v49Wndb*IU88eibFr=n{#`zeM zi&8mcL3SF&GNdtNG89J}nVQBj z6oUqzL0Um0Obj`xWvMv~8d@Muv8IM5gH}dnN=j-T1IVcixuAi1a6Ez{qnJSpQuc#J znn9sg%%BB|h+>E-PzqXrCYKh0=S1>S%X7+d7(mKFbU|hwh=LSkAQosw100PY72r@U z2BqTk)Od)$VM8Mz{}q=cCTBy61T9Dnm7AZEnFi|QgUV~rTnVUrEr^E>3zn9F$7;bv zJ~$`91WIxXKtp)Bi3Q-)3yH=MP=f&CFdtB;6oY%A`30$Y5P1fz)LduK&4D6zk{G8MxP#=at3)1oh z8ChJAlUV{C$t+9EDFqL`facbq;h&S43uUE3X;7tAP?Qgz*-8Qh4petaYFc_x0V064 zQu1>_!xma;Ir-(_;?#q?D0 zWC%hAG{~HqTml|!PE9VUWB?C;R6wXoP^Fa&nt96vO%tZ1LK@nz&P+Tw1i*v4ps`kv zL!n(hP-=#zQ&3;7D764IP5~WF1{nxy_LU?Sf#w}RR3!tnK+a1nD#|Yh^%=m^jJXA{ zVLh-fL2utY3LyJI zv8)A7>4`<4yb5MAq~(LA478GS@=G%Op(EeLnYr-=iAA}P%$WmYgU1LV1A`0&CE&5G zVg@bHXc@Tp12N*$i!xI{6MP`ckOUIJBPs}iqEzr$I6@#fH75t$2GJ_c&nZhS0(AsS zb4nPrDj2jX@>0tgv?}s*QW!u39iSp09wG)U5aKHk5@ifpB}JJGxu8NMKCd*Fp`<7i zLTBct##eyD6skL^ECVu91e!z6Wk?21-sF{nbrv&#=4&BcNQi?NQu0faa#Eo~6(F~i zr51r&|0Ve)h!ISX_aWW@O`X8Siy5>)d{A7bmOweliRr1y`Ng1^05L(PF=(Y!=7Ed= zGmv$sRDx#JN{T^EZIA-69VwN0pkRZJT0wb`Djj4SVq6PsIiysFS)O0apaB+6E6qy= zm(k#%U#*nf__WNt#2f|?D+Qd|Qd2-~OaX@rgas;AAuLd$XDG-o&II?^L0zi++;})& z3nX2T2%VP&&6<>edJmu?x;PnhB_)Vel3xO%iZgQyazHbx#l@h;7bqn&XeE|bgn$z@ z)CfeOke!-Z;F1aI`DGMk=4FG+*=8 zndzB%4B*@is*NCV1FDswlX)O!d|5h-mkjRHLF$kA%)C6%R5iE~1&yB~I7OMc;0A7f zS}}}{2Z?FrCqar1(5O{0d>XGLwV;@xIJqdbJRYP&3p_~70HMGc4ALHi4u}*amVgE? zz>!~`nU@k@mYS2F3>w@4w>VRaOXABD%TgIYL_D~am1B6y;ZdGC(Cn0fGyvJirsVF!}tX zcu38`keitYp0fw7?SL?}k`wdF54} zAzdI)w*;xmOf3fWVpCw_x_RmOc`$ZPVs27OA_IhqPXhP-phZ)Baz3aN11gI3%dQ2?> z6$7x;S6r0LkOc1j7bSxu116DDTmq3uDTY+Fpn4e^#yN@5&`!%QDo-p*f#mqo0tlU! zlL=)(d#sS+6`~hBM+6$bDk_1jDS!@=q?RSZ=9$1ukZlZL7PQ%sn3tT9Ulfm$hQUje z;z2bEv^5Q$@rJA`h%c@zE=kRW_5k1+C_f1{83?M&!2w&$PzK6X;4Wt>oRtG-fo7#4 zjt2`RR)CWXxLpVm0F6gN#)23!i*pk5Qi|h2qr92mF=%kXQ5+BH9>o_IC4(9%sDhyI z1&tPDf`&LjEjk8JA_te(;AEa=2wf==4{kw1n&-%~aG-&HaB%@z6jo9K9%?9O$cKzO zfT=PFuN=Jks}xL@fyr`E4=t&HA+3}lt&Ab9oFS!@A*GBVrJO-4B{dDym&h#1Nh~P= z50F@Z=Wn&3DG=0x28Tg@QU)lbL8C0ipj9KF`VKU-2kyxgBo-NhI7T4C7({@or;;K_ zQUe{XlMQOx9H@O;Q3)+5K_gcAd7z2b;#ANgG_8XC;#3B$^nw(I#4^yR z5U8{U%_V}yJ~Q)5oFS!IF#}}61XP?PfqH?k4iBhWDlW+{N`=HKXv`=nv!oal7NFi# z3Ut~GRC9uwcPXHH2*QAMB2u7JYALWWtD^i8P~{6&g~SFiK?{BuKpGsuto$TIdj&k_ zg=oBjX30SVBA|}0Ni1ls45+gUb{e?13o6k-H9n|u0cL~456mis487*%B!aoc$#A+X zvluLtl3D;^fR?fNrKYC%LOXCNr3LwU3?MQs4Mc&)mQzX#KviLGVlil7HW%E{%gh5U z>`MeSq(Q?Bpv6^1poI#cA}}|x2-L{PO{@S_)!_0K)HMe26Z6u+%*;Gcw+F<`PXhHt zb5esq^HU|M1@X}SK~`yQK|FZ!8(bkmnIJPjGT;$OBTxW?1~eh51jGW>Knz9sCE)Cv zlwX<$S>2MHpOXX5g7FBkloE#2+=7zIc+iR|aPmZOL2(T7J*XvDoSX;><^t%dsA5pk zDk;j($pOtACMK7ZCYIzE6*Cm4fl>@8pMa)0z<~^77%^xifu|-xWj1JB87vDD0W%Uo z(+DL+`30HDZXnsreDHiMI5`x725CVH>k>iZNCm|V8Tt9yAkP<-WG3gNLQ6F*kXZ~` zDWwI_43m_fQVA~2K=Ww@ka;Jqw4Bn+l;X_XVA$d!P`9Ei6;f+}vN&idVu}m6^$X{^ zft$skRN|6YlIROs&X`zj6wp$- z(t@1K98j}W3)K8f0lN-Taxox@AUq73GY7Q{!BrDvhC3%8($@ub&LHC}im>%e44{{PNTy zP}>4jMuIW}n1+hSgJp^mQ$P|RssJ=71vUrF0_Q0PFtZ@FC>O$lOh14Hi;&pGC7H>P zNt48+;{2k563`d{SXFTn!o=dF%(N1SImJo&X(bHcbw;3OKa^FFUk>qPT2X2tgasZo zhA=@>JZVL#soK`RYbt3n#8(S|0mpb5C7#GH8O@+5{L z@FIkg{1Q+)g4F$>z7@E$4O!a^TK5M^p&&XHw5ArU64a4kD9+3Uw;aIJW+f12Y94gO z38=jc5dx*!c*yKIm|2#XlbHfv9{>)WqSP`(?+P?N3$BVlH3+o54{1K6Ko-3eGvub` z!tx8q9tI69NMNL7mVnw_IhlFEC7GaU;JkDQqbxtCG&hx@3^c3)?pPNy6dF&Tb6ZE&&YLF76E3K5h)z z0YMDeVa^QME^Z9jz99_R&K^Mw+1?-`7(_UF1c7Q7NFfO-m5LeiN^_HQNA`6;R3+5^<^PYH96_f0G= z28T2#IWXj=rer2U5^_;Cw5gL(S)7>+n(PKItjtf$DTbJyo}ZWlQJR~X2jYNo7MKS0 zB=SKE+f$25(!tBzVYYz|at0{@+n82bRaFU|TFlIYnwgmgF%hmFY*oBBSUqTR60+tO zv|c+WKRGdn0WvlM2_`Mj!yoSlk@XZpoS;s=OiWO8;a4rNfiouDb zI4K!Yuq37y<%35Tax?S5W6mH?K^Vyy`Pr#Z3*$Xq7z#isIWw67VtPSQYEFJ)3aFt~ zlvt9S!2q5Mfta3|S5R7<0cs~@=0S$7Aft$odJqyqT97tTei5`qT+EP@oSzG-R&yY2 z8ZZ;w>xqUe*aKM)$qWo-so*7MT4}i{;4V^PN-=o#dVFF^8K^Cok`FF|!0oGiNN2vH zvWfw;dm%HmyePF8#4Acogp7ctmu9+T78m3sR{DaLN<&7EkwwZfi<3b^E|p>6aaK4N ztQ^jBttiOP19ksFDGTI!(1PM%(8wdWGH}gH0eA8tBB1U*NCaG5_(K*mr-O!^LE#^i znwFWD%8;3t8J3z;0i`RUbQJ?=dID4;1t2yrBqf231=*UE6r5R=3Sxm;7H&C->BS6? z0bRfRveabIT6##y;F*_M0v^TzE%6S{$t-~QE*-RLDzPLrq$n{N)XsqM0}`PXKiK}n zdrGS%@MqkJT0-v4YUvxEUN{Y=m~?2 ztAMs^Bo`EiWag%V{lfs|fI=#{pg0h^q#m>oGBLRXTwMmkhVPLDgCGkrVWTyu3Qj)NjD2-LF3&4jEH&B!k*V#vrZN(T{13{{|o=vAqC=^$1TXm%K~f(W!` zuLv|l4Vvo%jY;R^gVzs&5(H?_2;5Z2EU9$LuYlTHoLvcuC5HTDP=S}3pBI!`%uoO+ zfn4*_L8+i5Gr0)tmc)vj{PfIZa5V%{Qkn#2<|bBvc%ZdextYb83?Mgyn$92^T;GEj z8JXY;3$zR)u_ztPP6CtJU=rNu1f{;*%sj9j5F5@&&d-6=t||FxAd^$_(?E^#l>9W% zY7P*USiz8(4^|JMKz>im2PLHRN`}OI@G_3Xd~nM+F(0(pg&{FNHxr}@yts-XF+U!8 zi3@@cZiRze2p}Z|ph1;*$fOa1pPXL=o0dq-2d(i3&r-z0ZI4gQD?{Re1|&chfP4zl z2X2=qrxt_6Kuh})^TDg`V8bPe`SIzAB^jwjNCJrvhk*A-6f=%1KQuOND4k zEXz#JPf1M%RWQ+z4MoW*5G%DnzD-U6XTrh~G*w_O*hOGgFk~bY<^Zr51DJ$Z430(@ z@RDh;Xh>>qL4HwU4opLCW*(XmxtV$Bin5{J1!uja%n~r2SelZV4>1!owFl;cH^QYN zq@6NLAa;Xg;k|AM59E7@Bf)$pWOL)e1~ZgprljV_CuNp^Ga6VK8ZS4q0!a?E=_@Za zr7l9UwXn_}2BKV+j zvnp^83dBmSNX`K*9?40p1T`!eKm0*gS_?jVirf|{SjpiQRE`FUxX=?ulC zX=#}i;Fb$$RXx}Q(2O+53P{$^OH9wHEXaU#55Z${IiM{k;1V!17fco8B!c#F!8T99 zR@5@2Run-aD>*YSH9rqB&IDzbXJnS7GC(;=If=>HFiv`6Zf+t&R)G;jJ%|B`a!@M> zY9OecnVOH-z5;SQXlxg<4F=`|_`Vp>v??SwgJzN9Q!7e}O2I>HpkM)DE6vFPO^c-F zF;swBLJXB)64Vg`GeEU#W)j%Q)Oc{c0|_>8#HM8Crsjdd0JK09vPi5VGZ$Q`6eOmY zF;o;MXE0QPhzd|!qnM!*LX~9Zq=F_0b5bio)2YxT01a`l$)Gs_P>UY2$_O+j0vd`m zXDCii1sXz4Cw!6;Z`esLm0S`lbKG#MNM zpq1doiD{`Nl?>1!agZ}W^#f@53)BuuOfCWK56Ml+DJ=rm5TJ6tBC)uDp%O$u4T}d4 z@TDh~7K27>a`KDfbJI&8iLW5PxCD|OK`hW777$&WSi+E!39ev3IRdig8PqzA2RRYU zfb2W~Hy$C01|kaDGYe*+BrUKAXtjDgc!2;^S7HUIe1LF3wK0MRs*OQD0qX;mWMBqp zX+Ly89Lz6BOfh6A$V`TIO~E@|K`n>ef_TufB+!;yuvmO4C{;$An_0v%q@{xfWpWEZ zBh5)j?Bdiy(7<#Vq!tuf*g=E zQ~)$;3103An%o47gZCN1JXw&KVu{cLN`&B{EG$A81|{YfgQ65%_#l@z$i)pLc0q*< zbg?9e30@e?P*jkZVhn1Br-Bk=N`5XR{el?KwGE&-yv&>um>SSNRnS6=RM7HrPA-izMbl8*HGZgP_S(u*X0f;=mq*E>{IjtAoo65Cb|4o0y)OSCX4pQJj+x z+SdT(CFf-3CNY5JkkvsaK0pOqZej(ftb;Nkt;M3$^vwLc+{`?%B~Tt{A1s&;p13JU zEdsA(eK63XXwaTku!_{mRPgRv@X!ncXgPjy322}bG>Z)`qEag|OF(`4vf|3TWCqw^ zb#P{GDQG8lejWp8!xE?oQIZdyK?X0#@qny3Oi2azHNa+rXRtu&B(VrAjF?kQ%u5ID zB}Nm?$xi`0usAstc|s*QF*mg+5j1$2lUh=e3YrT7?e>GF4K46GTM!4d7aExZTMZ1_ z9}OB9D1jHA@cBxRb;aNnbn%c?0ifP1*bGo_2DHvK9#pI_6sIPF_E>|)WuRpqB=0~f zF3jSLV9 zoGC%W5Lz(hu<`CPaFBw_UIwjlBo4$=hKAs!!qCx{(mc>Yj@0Cm)D+lqfTHvykTW4; zOo>I6@lXL!=Q+M8F&liw0h|MxWyyi;jRp-==VzzJLqB%|E&(lAC@0u5BafP%ajw8sb(0;Q?YVST7-P%|8~(jgwMAGAO-zX-CH7+mr~>PB!y z0x9}I3()3NaG4Ah1+Tb1m|q{s2g|&F~10uenDjoWDP55IX5(!fIXj`3SCG6@&$+kay3JCY9**@gKilE zuYW8`Eslq*q=h8P;%w020^mjV&^1$F0eBq)X}E*dw?R}QBvLC%Qi~80kcGCO?r~;5 z14J!U2r?`W5dxR@(5+Yy5%A~_q(VdyhZdlfD1t?)kcBspbPOGNhS~;~gIWtsFA!Vc zlAvS=?q;J%!+IYO#h_+=K@rRsP#(Cg1sWLwhYutO!QkM33xnpCVP=31jsea5 z=B0zC!62>y)!_&+PzwuE9>H1hIhkdt@z7=P#d)w38o(^jR18Epm|I$g!~rKaurMTo zP!cVe15pe*)(4)JA@v$~?O_325LBFkHNZtcg?)Y=s#qGhTm|h*&W_JbEXoFT@IXC8 zP?rOg1>zxv11PhABL$MBAaM@r8$k;dP_H8uveCJ;43-(;EW{uJLZ~D^KZl_dwA~~p zu>v-v2+76qU`r61P((}fKuhGIRUB3sEEP6Zb&#EOF!Rvt1P2R-LrM}$$}+(dO`!cb zp!K7mx!98YlKiAB&_=wH{1UK6P}2!Cnh&BALFe>LhD>xqnolK}B{|?~6%vo2Y6mP7k61$nkwFsBD$g$hEnWtVMSwfx zT1kn;psmbW`AOi(Q%JiIWM4@+$Q%d@y0EvTJQuQjIw!FbqzN>D1vz>p1+)^0K?@X# z@X;78&?1Cl2GHO^JZQ@`bX1T5maHHvX7Y=2A%{7D+JKJO}hzXi4PRxM{fc>15#GnOg z?&W~aFaV89q!z_PI@REyF3Bhct@kPgwThC9QbFfZ6@ymo!pi3RbXW8%Ovpay?2m<6db!Ax+N zmXw1XUQ!P3)|Hfl1wn){Lt+}J<5!ee4%+UWS6qN3P*IdviN*!z{{n_8(6|R!8Z;6F z8WT$cuONnuGJ}>GLeHy<2dxMMtq2FLe1vaUg^ad>2B|^AesCVNQ;y&x9R>znuL_rg zOinOzf!8pB0{}EO0-E&%FS!OS6#}I_Q2A&S3*vzjZ*F1* zm@ZC+G$6oKd}$^FXwyJRehHWcs{jdr*4;yzwB?z36`-P^k|94Q1LiEE!N+1k@}7EjKI9F9J=BLz!WqEhC9Vp!5db22jiZra()AK~)NT z!vm-Z1DdY_?LW_Bs7g&LN@M^>1*n4t%9h|*24yHn7pFKmzW_7`otR<-8s^Xfhcs9k ztPrLPoGZX7*))~`TpveUnt?`AilPk-EDd5o!}Oqq@kWqy7Ndrn|ice6v21(Vh)CgLB< zQzWm5At^sU8`ONrD}uI^;EZ@ADe!PCI9x#oW`cJ9Wu`EcmS(2JgU;;(RX`A4Sz=LU zVjhBDlv)Pvc!0_vEs*+RhPNsl~}fnc!773@{5I<|25B$)F)4$Im4H^TfLsV>fLdFn#h`Q6K%RnF0rerctphrY4J5+=G9R>_1f&xS8#+^$ngUi> z8K0R_0UZhfDTeSt;~+)(`6aMf56GxCC^yGvfYy{k>Kssk2#UB0@UDhRh62!`L8V2Y z$t`dPgCV6PzO)Qm;MC4>W7xCvS_1H*^3ebwbywbcP z2G~CG0ql0X3Jw3e$7)lM-`MGLs=k zGlE+wAfq!2O2C-|a1HGWY2RBO~n^VAD zRV8=k%;G(nw)W8ItO#r3ARU61tu+AE2 z`+-p`Xqpdct3YWU=qOYq0qFQfGNk$dm5SgXfP{TgP8w)#urw1kOIQ?Nk{_SLkdc`O zYWOgK7cLfq4~+ngYJk#OJUFpsmL%q6f_4Puz|I%}Es0J6kNu^9&JzV49|&o$fWkGu z9J~UBp&&6YH3wWBLCzb_NlZ!w9leo~o?3#;hA0HrgP?_vAXT9A7m7hmn(|DLY6v$O zw1zehlCWSyF%Vu-eg%{PPNQIU1p_3(f;p8CJHTuRGrttHG$0?+9srfC;9ZSy2555* zm{XDpK8yy`P66>jG)xZUSI{sv=tw6}VFBUim*+vIw&TI4v@w9qjR&n_1L;TbV5UGs zvQsM&(x5TF;?x|30Qhv^Jaj(HgpAb0l++@SEGRRAXi)ni9wH1bk>WuT4C$bu=2S@K z13ncOSpcjBB)|ZQz4)S3@N5)>1L|T!S)hZbAqo;xGV>vVknt-ByCgq7Jtq~y2JJrv ztIaFT1)q3a1QE|o%`1hl3QBWwK*vl%cp!0zOToIp+)U7JEif14h?2|#h*Hpz8emaq z@d#!Y6y>LbPJDwX0c|vhM`$m|1Rb^uvlvuyfli|ZZEu7mvG~;7r2OJyQ0Rdz21RCm zIcVa70htde_CXC%Q09WJTXfSTW+0hY2LfL4liU1Tr)uGbghI>={tM7$gEN z^`R|W5WhUL2rLhx<3R;HNDwmc4`P9Kn1JYF$fyj63Esa0Vn8}%AQmEwzzd#1LSP2; z+#?Vl+%*K9F970zI$Eg}2o@--fsPS3iDiID#h2z4fldtvo!prMQU@A!h0#c=LBjE% zsZxX-XqE)d1FfQgW_7Sq$QEmmG)M+UBN+%1jt31Jn8Y%GmOCZJgZ1U4f{OfQ}r<1;;J8DGQt60GR_8NH2&-7K1NwgZLQKCI=}+2!p){69%1U6kiHz zih&e?d1WvjsO<|{kdp_t94rT_s8LmeMBq9=-4>7lxQYZB2pMXL2U(891@#b-xMk2J z162&}XCq02RL6sN)~A9)5~>Vj51P3kA&_b$%^)E(^Fc!Bc7Vl7OY)KJNhtqcuVPc@PlnRM6m{3wtYGO915C<6s6U@p4Emc7lfyE?J z{KFJO4aFh@Hyeu_#0pdi$fy<6S_lV80ceUIbmn?K_|RyODwqg(DFmuOT0Sx#Je7+q z0PSs@E4LHO@>J3l|O#vOI1{w&+%Lnac1Fh0112wlG{R42N z4`G7qA_x;Sg3174g0ne<2|C^cDheKNg@}Ta5`+nE6M&k{$vKI|;G=E}O2HKiLJZmj zHHl?Fh=Gz-KAK)or3Jb;0YxFW7)MhGY0!g$3SnRY_?T<3%MpS(iJ*QqNMUY%Std9q zf*GKpV6bRnaW;s~1g)P0F~DQ=AO?7OFNguzwE|*+3vci-93Wn9Y6-YV134PhL(T*j zKZq0vo&*6ciw9LFpg9tx(h8ahA#n&Y3`GDbHKB=vVie?b(5_hMM*etXa9n^&q|_qN zK^d^}2OF zfbmm6TU|j0f>nS{h=(UmR1r|{!qmZ%El353jVxCT8b60A1an}rpb-lYI~BA#2&4i< z0JN9|oaMoy@L~+XLsd|oSOi)`2R8=FM^yyU3|9f-ph|;RGs5M;Jh%eL3@3PgG9G*j z21p&UAS73TL_r|{T4U=&C`l~JjW#lfg^hNWWTfV%f~Ofl$GDc}KrYMy&mMrstsyIKL1Ppk7lT(6 zLAS4$C+1{hFhLmzw0QvB0ERB71nqH$?SwB$%}E7Kt%CM6M;|D0#~9SPk>h0 z$Afn`z`S0}kdl-WpPU1lq6Vp8fbFv{W+=}{P0az7w$ScjX(o7B6G9m=z=mi*$I%sm zV;U6Z&;f`F(2`kDX%4PtQc}w@lT#skOTfE8z@ngTLShL-6xwnsW&n+gE#UJvYj-v?;m4>URkx=RPNF`$?M!~(5vE~*5T_qmCA8KBA-vau|^ zAU?G;8FW`rB0``j5peXv8oDw0Hrsj0mzRqBymv477r{sDvRu2{as>3c8~wk)a4Q-d&Xn zq9Ny>gQgom!;PSPQw%+iG9Hu|N-7xAbBa=nAvS_qd*GA^?$gE>WP(oLhpf5EEXa=s zozRw@S_vt;iosma6*`bA2DYvQWGZCkDMTX@AJ#G{2G1}<6+u>Zg3rfFPAo1-gB+Cw zVwNXnmVgdXO;0U}2d@}FIynM5k`7AQ@rGteptB4iS6+eBQ9Q_5xtXA|YZ&rUK)aVf zTSY+k^ORIV1oDeOdO)`*Wg-iwq$Z|R<>#eB6oI2RKRpL>Cj@MzASAnk;t=NL^c?V@ zAf)h2tpJVif+m+4Kz9qk*L#7FLW8byfp+^reN)vP9!6FQxF(=SIk|I#cBtH*g zB1A9~e3lug*aGDQkQk_Fgm?j26g>6>&fB0Xa;zGAJj|(GeFB`zzon0Z{RjJXjV8gg`p@F6t~5Yp=HqcD`=4} zNC-s34mwN82hUc=r>7Q!rgTA4ASICa1!bfBBDfeRk24gPCl)XiXJ-~b3JY*g2(;WL z3B&?TD3@pEfp#^N!@?YLPZTJOia;CL^FRd(=tjKqGSGQM3|eJ|3|eJI3|dfc=B4I< zhrmIlVo72WoDFgnoRgncTmf3oQON*`#R@Q4$p9Xs22GF`mF9u$gZMldbUR6Y4g+{5 zxH!M41afGX7I@67Br%CW3l!UBkYjR@rXav$WSNi)P#}FDNO}N^L+dFpJH05gfC0<` zjXHqF|B-kQvooPrRm3NO&K`%fJ0Lwdh#R47kn11DWMNw1YC)HKfp(yP;67W@HAaSs_ zKy4~eZ3?;q5#GE4%}797S|BD!4RmQb=!6oeOCe0~HEEeS;4^oMp{JgtF(j2{=A?jf zVlJp;hFwz#6$Y(308ik8&X|IZ7=W43#$Zx@NlAV#1GxHSr~oC*N)VBgnFc;Y1-#)2 zTx=#nZgPRQ%1V-t&9Mzc}W2k_~6+q@P$7Nsi29* z%$yw1NxMavkh7n)KzG)F4joO*D+aZSKv@#B(Jm=52edMmK?`&+FxU)`Q$d$Xfscj+ zt(yhy{75V+0d4IA84adE8}M>VbHIrTfp^M4h6=z3E`l$;NKJvVwTe><4MEov78-#`V}|0?LP+@s zZrZ}kfp7{yJzdZQ5_t1MQYwQM#9(le0hQp8X={*Q!91vk!3*vnRTG4n4?4WOq>@1^ zKPLrbSpjG(PZ6kt0t$wB@VNz`scewzAo8H@5a@)gY;gG!4^j#mJOEd^pooUF-$6oP zmm-8f+w?0zGn>#_4wTP8lbzs<77rSOg|I+z51PoVsDv+i0xN|Kqk;EjhJ)w4p~w3% zlxG&Cg7b2kZ)RR5Lz**aD4rqB34A3*3ix=^6xf#YB)@#;{M-VDV9?M@g=bzSgjES* zfw^E-QGN+X09<7jRGJC)$xUbLy9Q7o7RX@!E@aiCrqXb3C69MrCWjCg_OJE2(*x*njQ6nY*sm=7v5 zphsX9LziAcx!@y(kdr>x4oDNJAP01pSy35i7hVBqga~wfT?u#(PAPapGHALRoPWVb z%s}>?f)8N;w+KKRK0v!)K}QvVZtzSk0!=%_XM$F-X@OS}LD`_gO~HW$kt$9t03V5p zBm^1TgDMA4U#Ax(=0f2k|K?gN6fY0{;6+rt=0Jzaz+)99 zsTH}21)%wM(0XssoOcQIsEvHkvDu(F0G&My-h&TffRe5e=z>7dpb}(WrwqC%9A3pk zZbt=i1$NsRY^5Pw8|cI! zkhhD#XLf@83p#f=725X%n+F=JC;^`n2j+rraD^UeU0e!2+8QhlI&=-p0N>unP*9pv z47$$~G&GVAS{s*L%%G(OS_1)Ezf!=El@Gl!0yK>o58C~glL~PIsIdTA50a5s!jO?z zk_Ot|nhajc1S%V$$6Mr9g8D|_;dStm^Sz=B;IDSDnqZm@QLAr1OMfn9_ zcY+JdOwg7A=-nl$c`2aHv#H>FZ!%L-K`sMXnVFIb*)0NE*P04D$_P|XLoR*;of!ze z0S-QK2U?#8xk(lz2a0WQodsGq3A$Ghx@I#ObPy_JmL5ER20HjJ6*Qa+-+~2J0bWo5 zv8gyO1$4znVu~@S3)dbr%oJgDiQtBxVdlyehHK)C=CEu|%(<7YrOAcD@n$OKL9B|&x_fo=;-EJ}|z z1QllSAeIqBT26jq37Bn�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 - worldPosition()), HMM_Vec3(0.0f, 1.0f, 0.0f)); + rotation = HMM_Mat4ToQuaternion(look); + printf("New stuff:\n"); + printQuaternion(rotation); + printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f)); + printMat4(HMM_QuaternionToMat4(rotation)); + // return; + + rotation = HMM_QuaternionFromVectors(HMM_Vec3(0.001462f, -0.449079f, -0.893491f), HMM_Vec3(0.0f, 1.0f, 0.0f)); + printf("Newer stuff:\n"); + printQuaternion(rotation); + printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f)); + printMat4(HMM_QuaternionToMat4(rotation)); + // return; + + printf("nighttime genius:\n"); + hmm_vec3 right = HMM_Cross(to, up); + hmm_quaternion tiltUp = HMM_QuaternionFromAxisAngle( + right, + HMM_PI / 2 - HMM_ACosF(HMM_Dot(HMM_Normalize(to), HMM_Normalize(up))) + ); + hmm_vec3 tiltedFwd = (HMM_QuaternionToMat4(tiltUp) * HMM_Vec4v(fwd, 0.0f)).XYZ; + hmm_quaternion pointAt = HMM_QuaternionFromAxisAngle( + HMM_Cross(right, to), + HMM_ACosF(HMM_Dot(HMM_Normalize(tiltedFwd), HMM_Normalize(to))) + ); + rotation = tiltUp * pointAt; + printQuaternion(rotation); + printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f)); + printMat4(HMM_QuaternionToMat4(rotation)); + // dot products make this bad :( + + // rotate around up vector first? + + // just look, forget the up direction for a bit + hmm_quaternion justPointAt = HMM_QuaternionFromAxisAngle( + HMM_Cross(fwd, to), + HMM_ACosF(HMM_Dot(HMM_Normalize(fwd), HMM_Normalize(to))) + ); + hmm_vec3 newUp = (HMM_QuaternionToMat4(justPointAt) * HMM_Vec4v(up, 0.0f)).XYZ; + hmm_quaternion backUpright = HMM_QuaternionFromAxisAngle( + to, + -HMM_ACosF(HMM_Dot(HMM_Normalize(newUp), HMM_Vec3(0.0f, 1.0f, 0.0f))) + ); + rotation = backUpright * justPointAt; } }; diff --git a/example/src/debug.h b/example/src/debug.h new file mode 100644 index 0000000..18e6ed4 --- /dev/null +++ b/example/src/debug.h @@ -0,0 +1,26 @@ +#include + +#ifndef DEBUG_H +#define DEBUG_H + +#include "HandmadeMath.h" + +void printVec3(hmm_vec3 v) { + printf("%f\t%f\t%f\n", v.X, v.Y, v.Z); +} + +void printVec4(hmm_vec4 v) { + printf("%f\t%f\t%f\t%f\n", v.X, v.Y, v.Z, v.W); +} + +void printQuaternion(hmm_quaternion q) { + printf("%f\t%f\t%f\t%f\n", q.X, q.Y, q.Z, q.W); +} + +void printMat4(hmm_mat4 m) { + for (int r = 0; r < 4; r++) { + printf("| %f\t%f\t%f\t%f |\n", m[0][r], m[1][r], m[2][r], m[3][r]); + } +} + +#endif diff --git a/example/src/main.cpp b/example/src/main.cpp index 5e7a054..339366f 100644 --- a/example/src/main.cpp +++ b/example/src/main.cpp @@ -75,7 +75,7 @@ int main() monkey.renderComponent = new MeshRenderComponent("MonkeySmooth.obj"); FollowCam cam = FollowCam(&monkey); - // cam.position = HMM_Vec3(3.0f, 3.0f, 4.0f); + // cam.position = HMM_Vec3(-3.0f, -1.0f, 0.0f); cam.position = HMM_Vec3(3.0f, 3.0f, 5.0f); // cam.rotation = HMM_QuaternionFromAxisAngle(HMM_Vec3(0.0f, 1.0f, 0.0f), HMM_ToRadians(90.0f)); @@ -90,6 +90,10 @@ int main() root.AddChild(&c1); root.AddChild(&cam); + Entity axes = Entity(); + axes.renderComponent = new MeshRenderComponent("Axes.obj"); + root.AddChild(&axes); + bool hasTicked = false; high_resolution_clock::time_point lastTickTime;