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, 2016 at 10:54
  • \$\begingroup\$ @Bálint: Already tried that and didn't change anything :/ \$\endgroup\$
    – CpCd0y
    Nov 28, 2016 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, 2016 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, 2016 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, 2016 at 12:31

1 Answer 1


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.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .