o f2@sXddlZddlZddlZddlmZddlmZddlZddl m Z ddl Z ddZ dS)N)get_tri)Meshc Cst|d}t|dddddfd}|ddd}|ddd}dd}||ddddd|} ||}||}t|dd dd d}t|dd dd d d}tj||gdd |} |t } |j d krd } tj | | d| j dgtj | jd} t| dd} |j| | | } t}t|| | }Wdn1swYt}||}td|dn|| }t$ddg| |d}|||\}}|d|d<||d<Wdn1swYddlm}||dtj|dtjdddd\}}t| !|d<t| !|d<t}t{t"j#ddj$}|j%| ||d|d|dt&j'|ddd d!}t"j#ddj$}|(|d"t)*|d#d$5}|(|d|+d%d&d|(|d'|+d%d&d'|(|d(|+d%d&d(Wdn 1swYWdn 1swYt}||}td)|d|d"|d#fS)*N)rrrrc Ssng}||ddddddftddD]}||ddddd|dd|fqtj|ddS)Niirrdim)appendrangetorchstack)color color_listir)/home/gustavo/Documentos/CRM/inference.pyget_imgss  .zgenerate3d..get_imgsT)r blenderscale)r rrfixr )dtypedeviceg?z unet takes s) resolution triview_colorvertsfaces) clean_meshFg{Gzt?)repairremesh remesh_size)suffixdelete)rr)res tri_fea_2z.objg?z+z)bound front_dirz.glbz.zipw/z.pngz.mtlz uv takes ),r from_numpypermute unsqueezetorcatevaldrRasterizeCudaContext denoisingrandintshapelongr randn_like scheduler add_noisetimeno_gradunet2printdecodekiui.mesh_utilsr"squeezecpunumpyastypenpfloat32int32cuda contiguoustempfileNamedTemporaryFilenameexport_mesh_wt_uvrloadwritezipfileZipFilesplit)modelrgbccmr color_trixyz_trirxyzrtriplane_colortriplaneglctxtnew noise_new start_timetriplane_feature2end_time elapsed_time data_configr r!r" mesh_path_objmesh mesh_path_glbmyziprrr generate3d sp   $      F  rk) rGrIr r?nvdiffrast.torchr6 util.utilsrrNrhrrTrkrrrrs