My objects don?¢_Tt know how to draw themselves and just contain their vertex and material data, when they are supposed to be drawn that data is passed to a separate scene manager which if that data passes a frustum check adds it to the what should be drawn list. Later before drawing that list is roughly sorted by distance to the camera and thoroughly by material. Setting materials often should definitely be avoided, especially changing textures, setting vertex pointers not that much, you?¢_Tre unlikely to have many static meshes in the scene anyway.