Sign in to follow this  
ic0de

Assimp Indices and vertices are the same size?

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this