Original Post
hey. ive been working on my engine for a while now and its finaly begining to look like something, but ive pretty much neglected performance ultil now and i would like to have some pointers as to how i can improve it. im going to try and explain how i currently go about it (try not to vommit at it plz ;p) i have 3 threads. 1 for resource loading, 1 for rendering and one for game logic and whatever else my engine loads models and textures dynamicaly as my application requests it. each static mesh goes into its own VBO (thats probely bad...) my render loop goes through my scene graph and where ever it encounters a visible node(static mesh) it binds the apropriate VBO for that mesh,loops through all the textures that the mesh uses and calls a glDrawArrays each iteration (when loading my meshes i sort the poly's by texture and i store the offsets and lenghts of these 'texture ranges' for this purpose) im not even going to mention the weird way im doing lighting. anyway. what i think i should be doing firstly is to change DrawArrays to DrawElements (obviously changing the way i load my meshes) and at the same time use one VBO for more that one mesh (is it a good idea to put all static meshes in one big posible 30meg or more VBO? should it be interleaved?) and then i think i should batch my glDrawElements together by VBO/texture is my line of thoughts going the right way? i just want to know what i missed/got wrong before i start making any changes Thnx in Advance!