| 321 | | FFATAL (( "IndexMask unmatch, can not create geo\n")); |
|---|
| 322 | | meshIndexMask = 0; |
|---|
| 323 | | break; |
|---|
| | 321 | // consider this real-world example: |
|---|
| | 322 | // [...] |
|---|
| | 323 | // f 1603//1747 1679//1744 1678//1743 |
|---|
| | 324 | // s 1 |
|---|
| | 325 | // f 9/1/10 5/2/9 1680/3/1748 1681/4/174 |
|---|
| | 326 | // [...] |
|---|
| | 327 | // Some faces contain texture coords and others do not. |
|---|
| | 328 | // The old version did just skip this geometry. |
|---|
| | 329 | // This version should continue if there's at least |
|---|
| | 330 | // the vertex index |
|---|
| | 331 | // I've seen the change in the maskIndex only after a smooth group, |
|---|
| | 332 | // so it's perhaps smarter to not ignore the smooth group further up in this code |
|---|
| | 333 | if( !(indexMask & 1) ) |
|---|
| | 334 | { |
|---|
| | 335 | // if there are vertex indices there's no reason to get in here |
|---|
| | 336 | FFATAL (( "IndexMask unmatch, can not create geo\n")); |
|---|
| | 337 | meshIndexMask = 0; |
|---|
| | 338 | break; |
|---|
| | 339 | } |
|---|
| | 340 | else |
|---|
| | 341 | { |
|---|
| | 342 | // consider the minimum similarities of mesh masks |
|---|
| | 343 | meshIndexMask &= indexMask; |
|---|
| | 344 | } |
|---|