• ### Announcements

• #### Wondering what's new and changed at GameDev.net?06/20/17

Check out the latest Staff Blog update that talks about what's changed, what's new, and what's up with these "Pixels".
Followers 0

# Assimp Indices and vertices are the same size?

## 1 post in this topic

I use assimp to load mesh data for my game and I was recently doing some optimization work on my rendering engine and I figured I should check to see how many vertices were actually being loaded. As it turns out I'm actually using more data indexing the meshes than I save by using indexed buffers. Here is my code:

#define IMPORT_OPTIONS	aiProcess_RemoveComponent|\
aiProcess_OptimizeGraph|\
aiProcess_JoinIdenticalVertices|\
aiProcess_OptimizeMeshes|\
aiProcess_Triangulate|\
aiProcess_FlipUVs|\
aiProcess_CalcTangentSpace|\
aiProcess_SortByPType|\
aiProcess_ImproveCacheLocality

Assimp::Importer importer;

const aiScene* scene = importer.ReadFile(fname, IMPORT_OPTIONS);

numTriangles = scene->mMeshes[0]->mNumFaces;

numVertices = scene->mMeshes[0]->mNumVertices;
numIndices = numTriangles * 3;


It seems that somehow numVertices and numIndices are almost the same give or take 100 vertices. For example I had 34907440 vertices and 34907512 indices. Any closed mesh should have three times as many Indices as vertices because a vertex should be shared by at least 3 triangles. I'm guessing that Assimp is doing something quite sinister behind the scenes and isn't merging vertices properly even though I specified aiProcess_JoinIdenticalVerticesEverthing is rendering properly but I feel this might be eating away my performance. Does anyone have any Idea what might be going on?

Edited by ic0de
0

##### Share on other sites

Ooops. It would appear that Visual Studio's debugger was playing a dirty trick on me, the values it reported weren't correct at all. I manually fprintf'ed the values to a file and the numbers are much more reasonable: 5228 Vertices to 15426 Indices theres the 3 to 1 ratio I was looking for.

Edited by ic0de
0