I'm piecing together the beginnings of an extremely basic engine which will let me draw arbitrary objects (
SceneObject). I've got to the point where I'm creating a few sensible sounding classes, but as this is my first outing into game engines, I've got the feeling I'm overlooking things. I'm familiar with compartmentalising larger portions of the code so that individual sub-systems don't overly interact with each other, but I'm thinking more of the low-level stuff, starting from vertices working up.
So if I have a
Vertex class, I can combine a list of those with a list of indices to make a
Mesh class. How does the engine determine identical meshes for objects? Or is that left to the level designer? Once we have a
Mesh, that can be contained in the
SceneObject class. And a list of
SceneObject can be placed into the
Scene to be drawn.
Right now I'm only using OpenGL, but I'm aware that I don't want to be tying OpenGL calls right in to base classes (such as updating the vertices in the
Mesh, I don't want to be calling
Are there any good resources that discuss these issues? Are there any "common" heirachies which should be used?