MCPcopy Create free account
hub / github.com/Meshcapade/difflocks / compute_scalp_data

Method compute_scalp_data

data_loader/dataloader.py:679–704  ·  view source on GitHub ↗
(scalp_path)

Source from the content-addressed store, hash-verified

677
678 @staticmethod
679 def compute_scalp_data(scalp_path):
680 scalp_mesh = trimesh.load(scalp_path)
681 scalp_mesh_data={}
682 scalp_v, scalp_f, scalp_uv = mesh_to_data(scalp_mesh)
683 scalp_v_tangents, scalp_v_bitangents, scalp_v_normals = compute_vertex_tbn(scalp_v, scalp_uv, scalp_f.astype(np.int32))
684 scalp_mesh_data["verts"]=scalp_v
685 scalp_mesh_data["faces"]=scalp_f
686 scalp_mesh_data["uv"]=scalp_uv
687 scalp_mesh_data["v_tangents"]=scalp_v_tangents
688 scalp_mesh_data["v_bitangents"]=scalp_v_bitangents
689 scalp_mesh_data["v_normals"]=scalp_v_normals
690 # #have it also on gpu to avoid too many transfers between cpu and gpu
691 # self.scalp_mesh_data_gpu={}
692 # self.scalp_mesh_data_gpu["verts"]=torch.from_numpy(scalp_v).cuda()
693 # self.scalp_mesh_data_gpu["faces"]=torch.from_numpy(scalp_f).cuda()
694 # self.scalp_mesh_data_gpu["uv"]=torch.from_numpy(scalp_uv).cuda()
695 #get also tbn for each vertex of the mesh
696
697 #compute also a rasterized map of barycentric coordinates and face indices
698 scalp_uv_maps_size=512
699 scalp_index_map, scalp_vertex_idxs_map, scalp_bary_map= compute_uv_space_data(torch.from_numpy(scalp_uv), torch.from_numpy(scalp_f.astype(np.int32)), scalp_uv_maps_size)
700 scalp_mesh_data["index_map"]=scalp_index_map
701 scalp_mesh_data["vertex_idxs_map"]=scalp_vertex_idxs_map
702 scalp_mesh_data["bary_map"]=scalp_bary_map
703
704 return scalp_mesh, scalp_mesh_data
705
706
707

Callers 2

__init__Method · 0.95
__init__Method · 0.80

Calls 4

mesh_to_dataFunction · 0.85
compute_vertex_tbnFunction · 0.85
compute_uv_space_dataFunction · 0.85
loadMethod · 0.45

Tested by

no test coverage detected