mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-04-15 04:52:31 +08:00
texture fixes
This commit is contained in:
parent
937faafe21
commit
243691c258
@ -1270,6 +1270,8 @@ class Trellis2(supported_models_base.BASE):
|
||||
latent_format = latent_formats.Trellis2
|
||||
vae_key_prefix = ["vae."]
|
||||
clip_vision_prefix = "conditioner.main_image_encoder.model."
|
||||
# this is only needed for the texture model
|
||||
supported_inference_dtypes = [torch.bfloat16, torch.float32]
|
||||
|
||||
def get_model(self, state_dict, prefix="", device=None):
|
||||
return model_base.Trellis2(self, device=device)
|
||||
|
||||
@ -620,6 +620,19 @@ def fill_holes_fn(vertices, faces, max_perimeter=0.03):
|
||||
|
||||
return v, f
|
||||
|
||||
|
||||
def make_double_sided(vertices, faces):
|
||||
is_batched = vertices.ndim == 3
|
||||
if is_batched:
|
||||
f_list = []
|
||||
for i in range(faces.shape[0]):
|
||||
f_inv = faces[i][:, [0, 2, 1]]
|
||||
f_list.append(torch.cat([faces[i], f_inv], dim=0))
|
||||
return vertices, torch.stack(f_list)
|
||||
|
||||
faces_inv = faces[:, [0, 2, 1]]
|
||||
return vertices, torch.cat([faces, faces_inv], dim=0)
|
||||
|
||||
class PostProcessMesh(IO.ComfyNode):
|
||||
@classmethod
|
||||
def define_schema(cls):
|
||||
@ -651,11 +664,13 @@ class PostProcessMesh(IO.ComfyNode):
|
||||
if simplify > 0 and actual_face_count > simplify:
|
||||
verts, faces, colors = simplify_fn(verts, faces, target=simplify, colors=colors)
|
||||
|
||||
verts, faces = make_double_sided(verts, faces)
|
||||
|
||||
mesh = type(mesh)(vertices=verts, faces=faces)
|
||||
mesh.vertices = verts
|
||||
mesh.faces = faces
|
||||
if colors is not None:
|
||||
mesh.colors = None
|
||||
mesh.colors = colors
|
||||
return IO.NodeOutput(mesh)
|
||||
|
||||
class Trellis2Extension(ComfyExtension):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user