I've been trying to use Assimp to load models and so far I got it to load a few obj models, but all of them have messed up UVs (and maybe normals).

Here's what it looks like :

enter image description here

I tried several combinations of Assimp's loading flags, but to no avail.

Here are the used flags :

const aiScene* scene = importer.ReadFile(path, aiProcess_Triangulate | aiProcess_FlipUVs|aiProcess_GenSmoothNormals|aiProcess_ImproveCacheLocality|aiProcess_FixInfacingNormals|aiProcess_FindDegenerates|aiProcess_FindInvalidData|aiProcess_GenUVCoords|aiProcess_TransformUVCoords);

I'm only loading already triangulated (with Blender) obj models with no submeshes.

Thanks in advance for any help.

  • \$\begingroup\$ Maybe remove the "genUVCoords" flag \$\endgroup\$ – Bálint Nov 28 '16 at 10:54
  • \$\begingroup\$ @Bálint: Already tried that and didn't change anything :/ \$\endgroup\$ – CpCd0y Nov 28 '16 at 12:04
  • \$\begingroup\$ Well, try to remove every flag, and add them one by one back, see which one's the problem \$\endgroup\$ – Bálint Nov 28 '16 at 12:09
  • \$\begingroup\$ Something I need to mention is that I just tried with no flags at all (0) and the same behavior happened... \$\endgroup\$ – CpCd0y Nov 28 '16 at 12:28
  • \$\begingroup\$ Also, I had already written a simple obj loader and it loads all of the above models correctly \$\endgroup\$ – CpCd0y Nov 28 '16 at 12:31

The problem actually didn't come from Assimp but from the way I internally stored assimp's UVs. I didn't take into account the fact that there can be no UVs some times and thus, I had random values when there were none.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.