Ë
    òaÇjÑ  ã                   óŽ  — d Z ddlmZ ddlZddlZddlmZ  ee«      j                  Z
 ej                  e
dz  j                  «       «      Zd„ ZdZej                   de…de…f   ez  \  ZZej&                  j)                  d«      Zed	z  d
 ej,                  dej.                  z  ez  «      z  z   d ej,                  dej.                  z  edz  edz  z   z  «      z  z   Z ej2                  e«      j5                  e«      d	z  Zedz  Zej=                  ddd	«      e   Zej=                  ddd	«      e   Z dd ejB                  dej.                  z  ee z
  z  «      z  z   Z" ej,                  ej.                  ez  «      dz  Z# ejH                  edz
  dz  dz   «      Z%dd ej,                  dej.                  z  dez  dez  z   z  d ej,                  dej.                  z  dz  ez  «      z  z   «      z  z   Z&dd ejB                  dej.                  z  dz  ez  d ej,                  dej.                  z  ez  «      z  z   «      z  z   Z'dd ej,                  dej.                  z  edz  d ej,                  dej.                  z  dz  ez  «      z  z   z  «      z  z   Z(de#z  de'z  z   de(z  z   de%z  z
  Z)dd e#z  z   ez  d!d"e"z  z   z  d#d$e&z  z   z  Z*e*dd…dd…df    ejV                  g d%¢«      dddd…f   z  Z,e,e&dz
  d&z  dd…dd…df    ejV                  g d'¢«      z  z  Z, ed(e,e)dd)e#z  z   d*dd+«       ed,   d(   j[                  ddgd-¬.«       d/Z. ej2                  ee.z  «      j5                  e«      Z/ee.z  d0 ej,                  e/dz  ej.                  z  d1z  e.z  «      z  z   dz  dz
  Z0ee.z  dz  dz
  Z1 ej2                  ee.z  d0 ej,                  e/dz  ej.                  z  d1z  e.z  «      z  z   «      j5                  e«      e.z  Z2 ej,                  e2d2z  e/d3z  z   «      d4z  dz  Z3 ejh                  e0d5 ej,                  e3d6z  «      z  z   d7d8e3z  z   z  dz  e1d9 ejB                  e3d:z  «      z  z   d;de3z  z   z  dz  z   «      Z5 ejH                  e5d<z
  d"z  dz   «      Z6 ejH                  e5d=z  dz   «      Z7d>d?e6z  z   d
e7z  z
  d@dAe3z  z   z  Z e dd…dd…df    ejV                  g dB¢«      dddd…f   z  Z, edCe,dDe6z  dEe7z  z
  dd)e6z  z   dFd=dG«       dHZej                   de…de…f   ez  \  ZZdd ej,                  dej.                  z  ez  dIz  «      z   ejB                  dej.                  z  ez  dJz  «      z  z   Z8dKdLe8z  z   dd…dd…df    ejV                  g dM¢«      dddd…f   z  Z, edNe,dOe8z  dd@d)dP«       ed,   js                  «       D ];  Z:e:j[                  e:dQ   dR   e:dQ   dS   e:dQ   dT   e:jw                  dUd«      dd¬V«       Œ= e
dz  jy                   ejz                  ed¬W«      «       y)XzQOriginal tileable reed and leather maps; registered analytic height normals, CC0.é    )ÚPathN)ÚImagezmaterials.jsonc           
      ó  — |j                   d   }t        j                  |dd«      t        j                  |dd«      z
  |z  d|z  z  }t        j                  |dd«      t        j                  |dd«      z
   |z  d|z  z  }	t        j                  | |	 t        j                  |«      gd«      }
|
t        j
                  j                  |
d¬«      d d …d d …d f   z  }
t        j                  t        j                  ||j                   «      t        j                  ||j                   «      t        j                  |«      gd«      }t        dz  | z  }|j                  dd¬«       d	|fd
|
dz  dz   fd|ffD ]Z  \  }}t        j                  t        j                  t        j                  |dd«      dz  «      «      j                  ||dz   z  «       Œ\ dD �ci c]  }|d| › d|› d�“Œ c}||dd|dœt         d   | <   y c c}w )Nr   éÿÿÿÿé   é   )ÚaxisÚ	materialsT)ÚparentsÚexist_okÚ	BaseColorÚNormalç      à?ÚORMéÿ   z.png)r   r   r   z
materials/ú/ÚREPEATz	OpenGL +Y)ÚmapsÚ
resolutionÚtile_size_metresÚwrapÚnormal_conventionÚ
provenance)ÚshapeÚnpÚrollÚstackÚ	ones_likeÚlinalgÚnormÚbroadcast_toÚ
zeros_likeÚROOTÚmkdirr   Ú	fromarrayÚuint8ÚclipÚsaveÚdoc)ÚnameÚcolÚheightÚaoÚroughÚtiler   ÚnÚdxÚdyÚnormalÚormÚpÚkindÚaÚks                   úprepare_materials.pyr(   r(      sæ  € Ø	‡<�<��?€ä‡W�WˆV�B�qÓœ"Ÿ'™' &¨¨1Ó-Ñ-¨qÑ0°!°D±&Ñ9€Ü‡g�gˆf�R˜Óœ2Ÿ7™7 6¨!¨AÓ.Ñ.Ð/°Ñ1°1°T±6Ñ:€Ü
�‰�2�#�r�cœ"Ÿ,™, rÓ*Ð+¨AÓ.€¨v´r·y±y·~±~ÀfÐRS°~Ó7TÒUVÒWXÐY]ÐU]Ñ7^Ñ/^¨vÜ‡X�XŒr�‰˜r &§,¡,Ó/´·±ÀÀfÇlÁlÓ0SÔTV×TaÑTaÐbhÓTiÐjÐklÓm€ÜˆÑ�DÑ€˜Ÿ™¨°t˜Ô<Ø˜SÐ! 8¨F°2©I°b©LÐ"9¸5À¸+ÐFò F�V€Tˆ!Ü‡/�/”"—(‘(œ2Ÿ7™7 1 Q q›>¨#Ñ-Ó.Ó/×4Ñ4°Q¸¸V¹±_ÕEðFàHdÖ eÀ1  Z°¨v°Q°q°c¸Ð#>Ñ!>Ò eÐstð  IMð  U]ð  r}ð  KUñ  V„€[Ñ�$ÒùÒ es   ÇG<i   é»   éŽ   gq=
×£pÍ?r   gš™™™™™¹?é   é   r   g)\�Âõ(ä?gHáz®Gõ?r   gÍÌÌÌÌÌä?g¤p=
×£À?gìQ¸…ë±?çš™™™™™é?é   g      Ð?i—  é   g_ÎQÚ[?gü©ñÒMb`?g-Cëâ6*?ga2U0*©3?g¸…ëQ¸Þ?gÍÌÌÌÌÌÜ?gìQ¸…ëé?gR¸…ëQÈ?gáz®Gáê?g{®GázÄ?)g®GázÞ?gßO�—nÛ?gX9´ÈvÖ?g9´Èv¾Ÿš?)r   r>   g      ð?ÚThatch_reedgffffffÖ?gffffffî?zmOriginal periodic varied reed strands, weathered grey-brown albedo and registered analytic height normal, CC0r
   zV follows roof downslope)Úphysical_repeat_metresÚ
grain_axisé$   gHáz®GÑ?é   g_)ËÇú)@gôýÔxéŽS@gPüsÑ]å@ç¤p=
×£°?é   gÃõ(\�ÂÕ?g¸…ëQ¸¾?g
×£p=
§?é   g{®GázÔ?gÃõ(\�Âå?gš™™™™™Ù?g…ëQ¸…Û?g®Gáz®×?gö(\�Âõè?g333333Ó?)g×£p=
×ã?gÍÌÌÌÌÌà?gR¸…ëQØ?ÚThatch_reed_cutg/n£¼R?ga2U0*©C?g\�Âõ(\ï?zDOriginal periodic hollow reed stem ends with registered normals, CC0é   éC   éG   g333333ë?g333333Ã?)g¸…ëQ¸Î?g      À?rF   ÚLeather_browngñhãˆµø?z+Original dark brown leather fine grain, CC0r   r   r   r   r   )Úbaser3   r4   r/   Ú	roughnessÚ	metalness)Úindent)>Ú__doc__Úpathlibr   ÚjsonÚnumpyr   ÚPILr   Ú__file__Úparentr#   ÚloadsÚ	read_textr)   r(   r0   ÚmgridÚyÚxÚrandomÚdefault_rngÚrngÚsinÚpiÚphaseÚfloorÚastypeÚintÚidxÚfÚuniformÚcolorsÚendsÚcosÚlengthsÚreedÚexpÚsplitsÚweatherÚbundleÚfibrer,   ÚvalueÚarrayr+   ÚupdateÚcellsÚrowÚuÚvÚcellÚseedÚsqrtÚradÚwallÚcoreÚporesÚvaluesÚdÚgetÚ
write_textÚdumps© ó    r9   ú<module>r‰      sç  ðÙ WÝ ß Ý Ù	ˆ(ƒ^×Ñ€Ø€D‡J�J�Ð%Ñ%×0Ñ0Ó2Ó3€ò
Vð €ˆ2�8‰8�A�a�C˜˜!˜�GÑ˜QÑ�s€qˆ 2§9¡9×#8Ñ#8¸Ó#=˜sàˆ�eˆC��—‘�q˜Ÿ™‘w˜q‘yÓ!Ñ!Ñ! # f b§f¡f¨Q¨r¯u©u©W°a¸±c¸!¸A¹#±gÑ->Ó&?Ñ"?Ñ?€Ø€B‡H�HˆUƒO×Ñ˜3Ó Ñ#€ e¨A¡g AØ
‡{�{�3�t˜CÓ  Ñ%€Ø‡[�[��1�SÓ˜#Ñ€Ø
ˆ2ˆfˆb�f‰f�Q�r—u‘u‘W˜a ™fÑ%Ó&Ñ&Ñ&€Ø€R‡V�VˆB�E‰E�!‰Gƒ_�cÑ€Ø€r‡v�v��3‘˜‘˜aÑÐÓ €Ø
ˆ2ˆfˆb�f‰f�Q�r—u‘u‘W˜a ™c ! A¡#™gÑ& r¨&¨"¯&©&°°2·5±5±¸±¸1±Ó*=Ñ'=Ñ=Ó>Ñ>Ñ>€Ø	ˆ"ˆVˆR�V‰V�A�b—e‘e‘G˜B‘J˜q‘L  V R§V¡V¨A¨b¯e©e©G°A©IÓ%6Ñ!6Ñ6Ó7Ñ
7Ñ7€ØˆˆFˆB�F‰F�1�R—U‘U‘7˜A˜c™E " V R§V¡V¨A¨b¯e©e©G°A©I°a©KÓ%8Ñ"8Ñ8Ñ9Ó:Ñ	:Ñ:€ØˆT�z�%˜‘,Ñ˜v e™|Ñ+¨E°&©LÑ8€Ø
ˆ3ˆt‰8�|�VÑ˜S  W¡™_Ñ-¨s°3°w±;©Ñ?€Ø	Š!ŠAˆdˆ(�O�H�B—H‘Hš_Ó-¨d°4º¨kÑ:Ñ:€Ø €wˆr�z�4Ñšš1˜T˜Ñ" 8 2§8¡8ªKÓ#8Ñ8Ñ 8€Ù €]�3�v˜c # d¡(™l¨3¨qð  2aô  bØ €KÑ �Ñ × &Ñ &¸qÀ¸eÐOiÐ &Ô jà€ˆXˆR�X‰X�a˜‘gÓ×%Ñ% cÓ*ˆØ€U�7ˆ3ˆvˆr�v‰v�c˜!‘e˜BŸE™E‘k "‘n UÑ*Ó+Ñ+Ñ+¨QÑ.¨rÑ1€°Q°u±W¸a±KÀ±N°!Ø€R‡X�Xˆa�‰g�c˜&˜"Ÿ&™&  Q¡ r§u¡u¡¨R¡°Ñ!5Ó6Ñ6Ñ6Ó7×>Ñ>¸sÓCÀEÑI€Ø€b‡f�fˆT�'‰\˜#˜f™*Ñ$Ó% jÑ0°!Ñ3€Ø€B‡G�Gˆa��V�R—V‘V˜D ™G“_Ñ$Ñ$ s¨3¨t©8¡|Ñ4°qÑ8¸1¸TÀ&À"Ç&Á&ÈÈbÉÃ/Ñ=QÑ;QÐTWÐX[Ð\`ÑX`ÑT`Ñ:aÐdeÑ9eÑeÓf€Ø€R‡V�Vˆs�3‰w˜‰m˜aÑÐÓ € f b§f¡f¨s°3©w¸©l¨]Ó&; Ø	ˆ#ˆd‰(�l�3�t‘8Ñ˜c # d¡(™lÑ+€ØŠŠ1ˆTˆ�N�8�2—8‘8šNÓ+¨D°²a¨KÑ8Ñ8€Ù Ð�s˜5 ™: e¨D¡jÑ0°°S¸±X±¸cÀ"ð  FLô  Mà€ˆ"�(‰(�1�Q�3�q˜�s�7Ñ
˜AÑ
�c€aˆØ	ˆ"ˆVˆR�V‰V�A�b—e‘e‘G˜A‘I˜b‘LÓ!Ñ
! & "§&¡&¨¨2¯5©5©°©°2©Ó"6Ñ
6Ñ6€ØˆˆU‰�]’A’a˜�HÑ˜h˜bŸh™h¢Ó7¸¸TÂ!¸ÑDÑD€Ù €_�S˜ ™ a¨¨CÐ0]Ô ^Ø	ˆ[Ñ	×	 Ñ	 Ó	"ò  r€A 1§8¡8°°6±¸;Ñ1GÈqÐQWÉyÐYaÑObÐghÐioÑgpÐqvÑgwÐ}~÷  ~Cñ  ~Cð  DVð  WXó  ~Yð  deð  pq 8õ  $rð  rØÐÑ× "Ñ " : 4§:¡:¨c¸Ô#;Õ <rˆ   