Direct3D library for OS X in the works

Posted:
in macOS edited January 2014
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>

Comments

  • Reply 1 of 11
    amorphamorph Posts: 7,112member
    That's basically what Westlake Interactive has already done: They have a Direct3D-to-OpenGL layer that's accreted over several years' worth of work so that they can port games more quickly.



    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).
  • Reply 2 of 11
    In a sense it's encouraging; on the other hand, you're going to end up with ports of games that'll run even slower than the ones we have today.
  • Reply 3 of 11
    [quote]

    <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>
  • Reply 4 of 11
    amorphamorph Posts: 7,112member
    [quote]Originally posted by Brian J.:

    <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.
  • Reply 5 of 11
    [quote]Originally posted by Amorph:

    <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>
  • Reply 6 of 11
    One thing going for Open GL, John Carmack refuses to use Micro$oft's proprietary 3D APIs, and instead supports Open GL--although a big reason for this is that Open GL is superior in Carmack's opinion, but I still get the feeling he has no love for Micro$oft.
  • Reply 7 of 11
    bungebunge Posts: 7,329member
    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....
  • Reply 8 of 11
    [quote]Originally posted by bunge:

    <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?
  • Reply 9 of 11
    I'd like to see that interview as well. That's too bad that Open GL is lagging so much. I guess Apple simply doesn't have the resources to keep up with M$ on every front.
  • Reply 10 of 11
    It sucks because OpenGL,for all its weirdness, is superior and apps ported from Windows will run slower because of the extra layer.3D apps need every bit of performance they can get.
  • Reply 11 of 11
    bungebunge Posts: 7,329member
    Sorry, I disappeared for a couple of days. I'll search out the link (although it's been a long time). If I can't find it, I remember it's in relation to DOOM III and possibly at arstechnica. I'll be back with a link if I can find it.
Sign In or Register to comment.