Repository navigation
v1.3.0
Highlights
- Fixed tiles generating without textures/colors for materials with only diffuse color (
Kd) and no texture map. - Added support for quad and n-gon faces via fan triangulation.
- OBJ files with line elements (
l) are now processed without errors. - Negative/out-of-range UV coordinates are now wrapped instead of throwing an exception.
- Fixed crash caused by orphan
usemtldirectives with no subsequent faces.
Added / Changed
- Added fan triangulation for quad and n-gon faces (
fwith 4+ vertices) in the splitting-stage OBJ parser (MeshUtils.LoadMesh), resolving issues with models exported from Blender and other tools (#60). - UV coordinates outside the
[0, 1]range are now wrapped via modulo instead of throwing an"Invalid texture coordinates"exception (#35). - Line elements (
l) are now gracefully skipped instead of throwingNotSupportedException(#64). - The default material inserted by
ObjParsernow carriesName = "default"so thatGetMaterialIndexOrDefaultresolves it correctly in the glTF converter. - Material lookup in the glTF converter (
Converter.cs) now searches by name instead of relying solely on the index, which could diverge when the default material is inserted at index 0 (#36). - Fixed the
vn(vertex normals) parser branch that incorrectly requiredsegs.Length == 3instead of>= 4. - Bumped assembly/file version to
1.3.0. - Improved nullable annotations across
ObjMesh,CommonUtils,MeshT,Material, and other classes to eliminate compiler warnings. - Significantly expanded the test suite with new test classes:
ObjParsingTests,MtlParsingTests,BoundsTests,SplitMultiAxisTests,RecurseSplitTests,ObjMeshParsingTests,ObjParserGltfTests, and corresponding test data files. - Updated publish profiles.
Fixed
- Fixed tiles generating without texture when the OBJ material uses only
Kd(diffuse color) without amap_Kd(texture map) — the glTF output was incorrectly falling back to a grey default material (#36). - Fixed
"Invalid texture coordinates"exception when UV coordinates are negative or exceed1.0, common with 3ds Max exports and UDIM workflows (#35). - Fixed
"Element not supported: 'l ...'"exception when OBJ files exported from Blender contain line elements (#64). - Fixed first LOD level not writing tiles during the splitting stage when quads/n-gons were present in the OBJ file (#60).
- Fixed
"The number of sub-mesh material names does not match the count of sub-mesh index arrays"crash caused by trailingusemtldirectives without subsequent faces (#54). - Fixed orphan
usemtlentries inObjMesh.ReadFilethat caused a mismatch betweenSubMeshMaterialsandSubMeshIndices, crashingWriteFile. - Fixed various nullable reference warnings throughout the codebase.
Full Changelog: v1.2.0...v1.3.0