texture fixes

This commit is contained in:
Yousef Rafat 2026-04-10 19:18:14 +02:00
parent 937faafe21
commit 243691c258
2 changed files with 18 additions and 1 deletions

View File

@ -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)

View File

@ -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):