Coderus, a UK-based company is now offering MacDX, an OpenGL wrapper API for MacOS based on Microsoft’s DirectX gaming API. While the company have not make public any technical details as to which parts of DirectX are actually supported, it might be safe to assume (and this is just a guess), based on the fact that their package only takes 10 MB of hard disk space as opposed to 120+ MB of Microsoft’s full DirectX SDK, that only the critical and most used parts of DirectX have been wrapped so far. On a similar note, the open source DirectX OpenGL Wrapper from Real-Tech for Windows, Mac and Unix enjoyed a new released version just a few days ago.
I’m not familiar with either product, but why wouldn’t 10MB be enough to wrap DirectX? Also, do the 120+ MB of DirectX include demos?
As I said, this is a wild guess. It is not easy to wrap something that is way more than 120 MB SDK (that was for DirectX 7. DX 8 is bigger). Yes, the Microsoft SDK has some demos in, indeed.
This is the sort of thing that implies that Direct3D (the 3d api in directX) is the “real” standard and that OpenGL is not. I’m sure that MS loves this kind of publicity.
It can be ok for quick port and I’m sure that will be used for it
but developers MUST keep in mind that linux user and mac uses DON’T like M$ stuff and prefer to see application native.
They are not recreating the SDK, just the API. The difference? If you only have the runtime API, you still have to develop on Windows to use the SDK.
There are a lot of functions in DirectX, but 10 megs is plenty of space when all you have to do is translate to OpenGL (which is oversimplifying, I know, but you get the point).
As far as which is the “real” standard…they’re both standards, developed by different people. A lot of software is written for DirectX, and I would having a choice as to what platform I run it on. And if you’re just out to get big bad Microsoft, realize that this allows people to use a platform other than Windows. Rest assured that this is *not* what MS wants, in the long run.
A comparison of the sizes of the DirectX SDK and this wrapper API is not valid; you’re comparing apples and oranges here, pardon the pun.
Most of the DirectX SDK is documentation, code samples, tools, utilities, etc. Hence “SDK”… it’s a Software Development Kit. There are even two versions of the DirectX runtime in there (debug and retail).
For an idea of size, the Microsoft VB ActiveX library for DirectX8, an API wrapper, weighs in at a little over 1MB. A 10MB OpenGL->DX wrapper sounds pretty reasonable to me.
It sounds as though they have written wrapped the runtimes, not the SDK. The SDK as is pointed out is much larger, but the windows binaries for the runtimes are in the 10-20 mb neighborhood typically so I think that 10MB is pretty reasonable for an API wrapper.
Besides the fact that Direct3D is proprietary and supposedly less stable/mature than OpenGL, if the API is that much easier to use, what’s the harm in programming with Direct3D now? Does the Direct3D -> OpenGL process result in any performance loss?
> what’s the harm in programming with Direct3D now?
> Does the Direct3D -> OpenGL process result in any
> performance loss?
It’s not a performance issue — it’s a control issue.
MS wants to get everyone using D3D so they can more easily muscle video card / chipset companies to support D3D rather than OpenGL. With OGL out of the picture, all of a sudden D3D apps run fine on MS platforms but slow (if at all) on competing platforms.
If everyone used D3D, do you think MS would just happily share every juicy detail of their api to you? Do you think they would allow hardware vendors to make specs available to hackers to implement any drivers they pleased? If a hardware vendor were to begin supporting a competing 3D api, you’d find that, coincidentally, all-of-a-sudden, their hardware would be poorly supported under Windows.
Hey, it’s just business, right? :/
OpenGL is the currently accepted open standard. That’s what makes it the real standard.
“MS wants to get everyone using D3D so they can more easily muscle video card / chipset companies to support D3D rather than OpenGL. With OGL out of the picture, all of a sudden D3D apps run fine on MS platforms but slow (if at all) on competing platforms.”
That’s exactly right. That’s their usual MSFT modus operendi. Don’t forget the part about using the XBox to try to sucker talent away from OGL toward D3D. The whole plan might have worked, if we all hadn’t sen them pull this same stuff over, and over, and over again.
This is the sort of thing that implies that Direct3D (the 3d api in directX) is the “real” standard and that OpenGL is not. I’m sure that MS loves this kind of publicity.
I’m not sure how MS feels about it, but the last time I downloaded an OpenGL wrapper for anything was for Glide support on my nVidia cards (granted 3dfx went ballistic and shut most of them down, but that’s another story). Seeing where Glide is today, I don’t usually think of such things as stating that the API being emulated (or whatever you want to call it) is the real standard, more that it’s the exception.
As for others implying that MS is trying to muscle the video card companies into supporting D3D, where have you been? nVidia’s been working with MS to help define Direct3D, just as they work at trying to get their implementations built into the OpenGL spec. ATI’s pretty much just getting their OpenGL support into shape, while their Direct3D support has been respectable for some time. Every other 3d chipset maker is pretty much small potatos (except possibly Intel, since they’ve been putting video into more and more of their chipsets). You won’t see OpenGL die out as long as there’s some money to be made on other platforms, people like John Carmack keep touting it for gaming (which will basically require OpenGL to keep up with what the hardware and software developers want), and professional 3d graphics stay with it (how many pro 3D apps use D3D? Not many, if any at all, last I checked).
mauerj wrote:
A comparison of the sizes of the DirectX SDK and this wrapper API is not valid; you’re comparing apples and oranges here, pardon the pun
You forgot – you’re talking in reference to DirectX here. The appropriate analogy would be:
A comparison of the sizes of the DirectX SDK and this wrapper API is not valid; you’re comparing apples and lemons here.
Even John Carmack recently said he was going to move to directX because it was better.. but decided not to for the moment.
Opengl standards are non existant atm .. its all done through propretry extensions because opengl has barely been moving at all in recent years.. and with the great advances in graphics technology thats the real lemon here.
DirectX is awesome (it is the most complete and upto date multimedia sdk ever in existance and its free for developers) , that is unless youve got a mac and your jealous and have to call it names.