Interesting topic. (Please note that I know almost nothing about D3D and the D3D API... just in case I say something stupid.)
Quote:Original post by Daaark
I don't care about Mac and Linux. Doesn't bother me that my stuff doesn't run there. I don't own a mac and I never will, and I'll probably never install another Linux distro again, because it's useless to me as a desktop OS. So what is so bad about being locked to windows? Also, the flavor of DX that I have been using lately also works on the Zune and the 360.
Personally, I stopped using OpenGL because I got fed up with it. It falls short in many areas.
When I develop, I
do care about the
users of my work, which means caring about what they may be using(or prefer to use), not what
I prefer to use. I'm a Linux user and, not surprisingly, I know many other Linux and Mac users. It always bothers me when people answer the question of why they didn't develop cross platform with the answer, "Because I use Windows." (Sometimes there are good or strong arguments for why they didn't, but that one certainly isn't.)
There are wrappers for OpenGL. I'm currently developing a small 2D engine that's module-based, and the default module I ship with it uses OpenGL. (If the engine gets far enough, I want to attempt a DirectX module for the Windows platform, actually!) For this, I've had to wrap some of the API, which I actually prefer because I can define my own interfaces. C APIs are very flexible. The sky's the limit in regards to how you want to wrap them! I think coercing DX's already OO API into a module is actually going to be more of a challenge. I'll also have to coerce (convert) my math types (vectors, matrices, etc.) into DX's. Yuck.
It would be great if D3D magically became a cross platform standard someday. Too bad.
I think an interesting project would be to wrap the entire OpenGL API in a very D3D-like object-oriented interface, not exposing a single raw OpenGL function as is.