I would stick to a DirectX 9 and 10 compitable engine, so it runs on almost all Windows platforms. I find Direct3D a little easier in its command set. It does also handle a lot of vendor/hardware specific things.
A reason to that i won't be using OpenGL is, that it requires that you handle all the vendor-specific extensions that can be a big hell of hardware-compatibility, and DirectX does also provide a high performance and very stable extension library (D3DX) which OpenGL doesn't. I know GLUT and all the others, but not nearly as efficient as D3DX.
But in my engine, i write both a Dx9, DX10 and OpenGL renderer, so it is compitable with most OS'es, API's and hardware.
A reason to that i won't be using OpenGL is, that it requires that you handle all the vendor-specific extensions that can be a big hell of hardware-compatibility, and DirectX does also provide a high performance and very stable extension library (D3DX) which OpenGL doesn't. I know GLUT and all the others, but not nearly as efficient as D3DX.
But in my engine, i write both a Dx9, DX10 and OpenGL renderer, so it is compitable with most OS'es, API's and hardware.