Add tests for foreground preservation and refactor geometry node asset
- Implement test to ensure foreground preserves source RGB and Ben2 alpha in WorkerTest. - Remove outdated tests related to background distance and original background depth. - Update geometry node asset to reflect new naming conventions and structure. - Introduce validation for depth plane asset, ensuring correct input/output configurations and attribute handling. - Adjust confidence and edge parameters in geometry node asset to support a wider range of values.
This commit is contained in:
@@ -33,7 +33,7 @@ FACE_ATTRIBUTES = {
|
||||
"o_edge_stretch": ("FLOAT", "face_edge_stretch"),
|
||||
"o_background_face": ("BOOLEAN", "face_background"),
|
||||
}
|
||||
NODE_GROUP_NAME = "O Refine DA3 Mesh"
|
||||
NODE_GROUP_NAME = "O Refine DA3 Surface"
|
||||
NODE_ASSET_NAME = "O_SnapForm.blend"
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ def load_image_mesh_data(npz_path):
|
||||
missing = [key for key in required if key not in archive.files]
|
||||
if missing:
|
||||
raise ValueError(
|
||||
f"Mesh data is missing: {', '.join(missing)}"
|
||||
f"Surface data is missing: {', '.join(missing)}"
|
||||
)
|
||||
vertices = np.asarray(archive["vertices"], dtype=np.float32)
|
||||
faces = np.asarray(archive["faces"], dtype=np.int32)
|
||||
@@ -81,19 +81,19 @@ def load_image_mesh_data(npz_path):
|
||||
}.items()
|
||||
}
|
||||
except OSError as error:
|
||||
raise ValueError(f"Unable to read mesh data: {npz_path}") from error
|
||||
raise ValueError(f"Unable to read surface data: {npz_path}") from error
|
||||
if vertices.ndim != 2 or vertices.shape[1] != 3:
|
||||
raise ValueError(f"Unsupported vertices shape: {vertices.shape}")
|
||||
if faces.ndim != 2 or faces.shape[1] != 3:
|
||||
raise ValueError(f"Unsupported faces shape: {faces.shape}")
|
||||
if uv.shape != (len(vertices), 2):
|
||||
raise ValueError("Mesh UV and vertex counts do not match")
|
||||
raise ValueError("Surface UV and vertex counts do not match")
|
||||
if intrinsics.shape != (3, 3):
|
||||
raise ValueError(f"Unsupported intrinsics shape: {intrinsics.shape}")
|
||||
if len(image_size) != 2 or min(image_size) <= 0:
|
||||
raise ValueError(f"Unsupported image size: {image_size}")
|
||||
if not reference_depth > 0.0:
|
||||
raise ValueError("Mesh reference depth must be positive")
|
||||
raise ValueError("Surface reference depth must be positive")
|
||||
for _name, (_data_type, key) in POINT_ATTRIBUTES.items():
|
||||
if len(attributes[key]) != len(vertices):
|
||||
raise ValueError(f"Point attribute has the wrong length: {key}")
|
||||
@@ -394,7 +394,7 @@ def build_image_mesh(
|
||||
|
||||
class BuildImageMesh(bpy.types.Operator):
|
||||
bl_idname = "snapform.build_image_mesh"
|
||||
bl_label = "Build Image Mesh"
|
||||
bl_label = "Build Image Surface"
|
||||
bl_options = {"INTERNAL"}
|
||||
|
||||
snapform_source_object_name: bpy.props.StringProperty(
|
||||
@@ -438,8 +438,8 @@ class BuildImageMesh(bpy.types.Operator):
|
||||
|
||||
class ConvertImageToMesh(bpy.types.Operator):
|
||||
bl_idname = "snapform.convert_image_to_mesh"
|
||||
bl_label = "Convert to Mesh"
|
||||
bl_description = "Convert an Image Empty into a perspective textured mesh"
|
||||
bl_label = "Convert to Surface"
|
||||
bl_description = "Convert an Image Empty into a perspective textured surface"
|
||||
bl_options = {"REGISTER"}
|
||||
|
||||
snapform_model: bpy.props.EnumProperty(
|
||||
@@ -529,7 +529,7 @@ class ConvertImageToMesh(bpy.types.Operator):
|
||||
|
||||
source_object = context.object
|
||||
if video_total_frames(source_object.data) != 1:
|
||||
self.report({"ERROR"}, "Convert to Mesh currently supports still images")
|
||||
self.report({"ERROR"}, "Convert to Surface currently supports still images")
|
||||
return {"CANCELLED"}
|
||||
try:
|
||||
process_res = scaled_process_resolution(
|
||||
|
||||
Reference in New Issue
Block a user