You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduce OBJ-focused mesh inspection and native image codec backends with Python bindings and example updates.
- Add MeshInspectionRequest/MeshInspectionResult types and InspectMeshFile API to report OBJ bounds, UV range, group spans, and usemtl->material ID mapping.
- Parse OBJ material IDs in mesh loader, store per-vertex materialId in TriMesh, expose material IDs to GPU as layout(location = 4) uint attribute and propagate into shared mesh resources.
- Update example RenderObjPerspectiveBaseColor.py to use rawgl.inspect_mesh_file, bind material IDs as uniforms, and select textures by material ID.
- Add nanobind bindings: MeshInspectionRequest/MeshMaterialInfo/MeshGroupInfo/MeshInspectionResult and high-level inspect_mesh_file() helper in Python.
- Implement selectable native image backends (JPEG/PNG/TIFF/OpenEXR) with compile-time detection and OpenImageIO fallback; add backend selection logging and stricter native writer error reporting (native writers now fail instead of silently falling back).
- Change output writer and runtime APIs: save_image_output now returns bool with errorMessage, IoRuntimeService::saveImageOutput signature updated accordingly.
- Update docs and README to describe native codec behavior, options, and mesh inspection usage; add tests and CMake entries for new smoke tests and scripts.
These changes add pre-flight mesh inspection utilities, improve image codec control and error handling, and wire the new features through the Python layer and examples.
0 commit comments