Direct3D library for OS X in the works
Read some news on Slashdot and thought I'd pass it along.
Awhile back, <a href="http://www.realtech-vr.com" target="_blank">Realtech-VR</a> started developing a Direct3D-to-OpenGL <a href="http://www.v3x.net/directx/" target="_blank">wrapper</a> for BeOS. Basically, the wrapper implements a Direct3D library on top of OpenGL, making it much easier to port Direct3D Windows games to BeOS. Since BeOS is basically dead, they've decided to open source it, and <a href="http://www.osnews.com/story.php?news_id=613" target="_blank">move it</a> to Mac OS X and Linux.
I'm kind of torn on this one myself. On one hand, this will facilitate the porting of Windows games to Mac OS X. On the other, this could slowly lead to the death of OpenGL, since Direct3D will be supported on Windows, Mac OS X, and Linux. And IMHO OpenGL is a far better technology.
What are your views?
[ 02-13-2002: Message edited by: Brian J. ]</p>
Awhile back, <a href="http://www.realtech-vr.com" target="_blank">Realtech-VR</a> started developing a Direct3D-to-OpenGL <a href="http://www.v3x.net/directx/" target="_blank">wrapper</a> for BeOS. Basically, the wrapper implements a Direct3D library on top of OpenGL, making it much easier to port Direct3D Windows games to BeOS. Since BeOS is basically dead, they've decided to open source it, and <a href="http://www.osnews.com/story.php?news_id=613" target="_blank">move it</a> to Mac OS X and Linux.
I'm kind of torn on this one myself. On one hand, this will facilitate the porting of Windows games to Mac OS X. On the other, this could slowly lead to the death of OpenGL, since Direct3D will be supported on Windows, Mac OS X, and Linux. And IMHO OpenGL is a far better technology.
What are your views?
[ 02-13-2002: Message edited by: Brian J. ]</p>
Comments
I agree that the threat to OpenGL is worrisome, but games are not the only reason for Apple adopting OpenGL (think Maya), and it would only be a threat if it was both reliable and fast. It will extract a performance penalty relative to OpenGL (on the Mac at least). The question is, how much of a penalty?
Also, the 3D API isn't the only issue. Game code optimized for the x86 architecture might run considerably slower on a Mac than naive (unoptimized) code, so code profiling and re-optimizing is also part of the porting house's job. If a PC game company decides to write a lot of tricky code to get acceptable performance under Windows then it might still be more sensible to ask a contractor to port it than it would be to adopt this layer.
Also, since this is a Microsoft API we're talking about, there's the distinct possibility that MS will keep tweaking the implementation to break compatibility. They danced that little dance with the Samba programmers for years (and for all I know, they're still dancing).
<strong>
it would only be a threat if it was both reliable and fast. It will extract a performance penalty relative to OpenGL (on the Mac at least). The question is, how much of a penalty?
</strong><hr></blockquote>
Yeah, at first, I too was very skeptical of how fast and reliable the Direct3D wrapper will be. However, the developers claim that the performance penalty is negligible since the processor spends mosts of the time performing the actual rendering. I am not a 3D expert, and certainly their claims are not unbiased, but this seems reasonable. Plus, I've played with Scitech's OpenGL-to-DirectX wrapper for Windows (everything in the reverse direction), and granted it's a little like comparing apples to oranges, but the performance and reliability are pretty good.
[quote]
<strong>
Also, since this is a Microsoft API we're talking about, there's the distinct possibility that MS will keep tweaking the implementation to break compatibility. </strong><hr></blockquote>
Actually, one of the features of DirectX is that it always maintain backwards compatibility. So DirectX 18.0 will still be backwards compatible with DirectX 3.0. They do this by always adding new interfaces instead of changing the old ones.
[ 02-13-2002: Message edited by: Brian J. ]</p>
<strong>
Actually, one of the features of DirectX is that it always maintain backwards compatibility. So DirectX 18.0 will still be backwards compatible with DirectX 3.0. They do this by always adding new interfaces instead of changing the old ones.
[ 02-13-2002: Message edited by: Brian J. ]</strong><hr></blockquote>
I'm not worried about MS breaking compatibility with their prior versions of DirectX. I'm worried about their changing things just enough to break this third-party equivalent. They did it with DOS and they did it with SMB. If they perceive this as a threat, they'll probably try it again.
<strong>
I'm not worried about MS breaking compatibility with their prior versions of DirectX. I'm worried about their changing things just enough to break this third-party equivalent. They did it with DOS and they did it with SMB. If they perceive this as a threat, they'll probably try it again.</strong><hr></blockquote>
Admittedly, I'm not familiar with history of DOS and only somewhat familiar with the history of Samba vs Microsoft, so I'm not sure what you mean by "changing things". However, what I was saying is that existing DirectX APIs are not tweaked. Microsoft has not changed anything in DirectX without releasing a whole new interface to go with it. If they tweaked an existing interface, they would risk breaking existing Windows games, which is why it is set up this way. I'm not saying Microsoft couldn't or wouldn't tweak a few things in the future, but it would go against the whole design philosophy of DirectX.
Plus, I'm wondering if Microsoft would even want to kill the DirectX wrapper. They have been working hard to make DirectX the dominant multimedia API, and Direct3D the dominant 3D graphics library. For instance, one of the major reasons why they developed the Xbox was to woo developers to DirectX.
[ 02-14-2002: Message edited by: Brian J. ]</p>
It made me sad to read the interview....
<strong>Carmack's recently stated that it's getting more and more difficult to avoid DirectX because it's becoming more advanced that OpenGL.
It made me sad to read the interview....</strong><hr></blockquote>
I'd be interested to read that interview. Got a link?