Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Assimp Indices and vertices are the same size?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 ic0de   Members   -  Reputation: 909

Like
0Likes
Like

Posted 10 July 2013 - 01:59 PM

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, 10 July 2013 - 05:47 PM.

you know you program too much when you start ending sentences with semicolons;


Sponsor:

#2 ic0de   Members   -  Reputation: 909

Like
0Likes
Like

Posted 10 July 2013 - 07:08 PM

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, 10 July 2013 - 07:08 PM.

you know you program too much when you start ending sentences with semicolons;





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS