Hey guys.
Whats the best way to organize the draw calls.
What I mean:
I'm currently trying to implement a game engine.
I can draw multiple meshes etc.
But now I want to improve the performance of my engine.
At the moment my draw calls are looking like this.

pseudo code:

drawmesh()
bind_vao();
use_program();
gldrawArrays(...);

I have thought of a way to improve that, but I know there must be a better way.

My thought:

drawmesh()
bind_vao();
draw_all_meshes_using_this_vao();
bind_next_vao();
....

I hope you understand my problem. And sorry for my bad english :P

Thank you