• Advertisement
Sign in to follow this  

Assimp Indices and vertices are the same size?

This topic is 1657 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement