I am working on a game engine (I know, I've take the road less traveled). I am using c to handle the game logic and simulation side and OpenGL to handle the rendering. I have a very textbook knowledge of OpenGL. So far, I have been able to render 2D sprites that can be textured. I have some questions about the overall place that OpenGL should take in the engine and was hoping that someone on here would know a thing or two about game engine architecture.
Here are some specific questions that I have about how and where to use OpenGL:
1. How many VOA's should I have? Should each sprite have its own? If so, how and when should I update the buffer bound to it? Should I keep that around or just update it when it needs to be? How do I render multiple VOA's with a single draw command? Is that possible?
2. With Buffer Data, when should I fill that up? Only on a change or every frame for every object that is being rendered? Should I do it right before a draw or later on?
3. Do you know any books that talk about how a rendering engine fits into a game engine? I feel like I have a million questions and most of them I don't even know how to frame...
Thats it for now. Any help anyone can offer is appreciated.