Spaces:
mashroo
/
Runtime error

CRM / inference.py
YoussefAnso's picture
Enhance generate3d function to initialize nvdiffrast context for mesh export, improving rendering capabilities. Updated export call to include rendering context and adjusted parameters for UVs and texture image, ensuring better integration with the model.
db2fd1d
raw
history blame
1 kB
import os
import torch
from mesh import Mesh
# Ensure the output directory exists
def ensure_dir(path):
os.makedirs(path, exist_ok=True)
def generate3d(model, rgb_image, xyz_image, device="cpu"):
output_dir = "outputs"
ensure_dir(output_dir)
prompt_id = "mesh_output"
base_path = os.path.join(output_dir, prompt_id)
obj_path = base_path + ".obj"
glb_path = base_path + ".glb"
# CRM export expects a data dictionary
data = {"rgb": rgb_image, "xyz": xyz_image}
# Get rendering context required by xatlas and nvdiffrast
try:
import nvdiffrast.torch as dr
ctx = dr.RasterizeGLContext()
except Exception as e:
raise RuntimeError("Failed to initialize nvdiffrast context: " + str(e))
# Export mesh with UVs and texture image
model.export_mesh_wt_uv(ctx, data, base_path, 0, device, 512)
# Convert .obj to .glb
mesh = Mesh.load(obj_path, device=torch.device("cpu"))
mesh.write(glb_path)
return glb_path