Quote:Original post by meeshoo
Well, the only thing i want is to for example to have a Rendering interface and more renderers that implement it (one for direct x, one for opengl, one for opengl es, etc). Of course, for start I'll have only one (direct x), but I want to keep it open for porting on other platforms. Same thing for the input system. I think this result can be achieved with static libraries, thanks for the tip.
First, I'd suggest dropping DirectX and go to OpenGL first if you really are worried about "other platforms", where the most common ones (linux, windows, iPhone/pad) all use OpenGL or the OpenGL-ES variant. (flame-war like subject... others will say stick with directX. You could port to the X-Box and it works under linux in wine, etc.)
Second, worry about hiding the graphics API from the game before hiding the graphics API from the engine. You should be making "models", "materials", "Effects" and other high level interfaces for the game to use. Then you can worry about being able to port those parts later.
Lastly, I'd say go look at SDL or Ogre or the like to take care of some of those abstractions for you.