Original Post
Hello. I'm trying to decide on a way to store and render my models for an OpenGL graphics engine, and I'd like some advice. Right now I'm storing my models as lists of vertices, triangles, meshes, and materials, with appropriate indices from one list into another (e.g. each triangle stores three indices into the vertex list, etc.). This representation makes it easy to deal with animated joints and such. It seems like a pretty standard method -- I see it used everywhere. However, I'm finding it difficult to render these models efficiently. Normally I'd use VAs or VBOs with glDrawElements, but since I have lists of triangles pointing at lists of vertices I don't think I can use this method. Since the whole point of storing models this way is to make it easy to apply joint movement or fancy shader effects, I can't use drawlists either. My question is: am I stuck using immediate-mode rendering for these kinds of models, or is there a standard way to draw these models quickly in OpenGL? Or, alternatively, is there a better way to store my models that solves this problem? Thanks