Add new tests and functionality for image processing and geometry handling

- Introduced color_image.py for preparing standalone color images for tests.
- Added hdr_image.py to create HDR textures for testing.
- Implemented test_image_depth_panorama.py to evaluate panorama topology, UVs, and depth discontinuities.
- Created test_shadeless.py to validate the opacity and HDR color endpoints of the Shadeless group.
- Developed moge3_export.py for exporting dynamic MoGe-3 backbone and ONNX graphs.
- Added material.py to inherit material slots onto generated geometry.
- Built image_depth_panorama.py to construct a quad panorama with depth separation and sampling.
This commit is contained in:
2026-09-10 14:42:17 +08:00
parent 27ca25224a
commit 489003c2cc
136 changed files with 5758 additions and 1083 deletions

View File

@@ -194,18 +194,19 @@ def prepare_model(model):
if model.build:
build_model(model)
return
if model.key == "PISA_SR":
if model.key in {"PISA_SR", "MOGE3_VITL"}:
model.destination.parent.mkdir(parents=True, exist_ok=True)
with TemporaryDirectory(prefix=".pisa-sr-", dir=MODELS_DIR) as directory:
exporter = "pisa_sr_export.py" if model.key == "PISA_SR" else "moge3_export.py"
with TemporaryDirectory(prefix=f".{model.folder}-", dir=MODELS_DIR) as directory:
subprocess.run(
["uv", "run", "--script", str(Path(__file__).with_name("pisa_sr_export.py")),
["uv", "run", "--script", str(Path(__file__).with_name(exporter)),
"--destination", directory],
cwd=PROJECT_ROOT, check=True,
)
models = [item for item in MODEL_FILES if item.key == model.key]
for item in models:
if not verify_file(Path(directory) / item.filename, item.size, item.sha256):
raise RuntimeError("PiSA-SR export differs from the published catalog")
raise RuntimeError(f"{model.key} export differs from the published catalog")
for path in Path(directory).iterdir():
path.replace(model.destination.parent / path.name)
return