זה יסביר את זה:
Portability Direct3D is tied to one specific platform (if you do not count the Xbox, which uses a modified D3D-like API), namely Microsoft Windows. OpenGL is available on a vast amount of platforms, including both Windows and several UNIX and UNIX-like (such as Linux and Mac OS X) platforms. In general, almost all modern operating systems capable of displaying graphics will have an OpenGL driver in some way or another. This makes Direct3D a more limiting choice; however, it is up to the programmer to decide if this "lock-in" is a problem or not. For instance, the games market on non-Windows computer platforms is rather slim at the time of writing, so for many games publishers this might not be a big problem. Low-end cards (such as cards found in a lot of inexpensive laptops) tend to have better driver support for Direct3D than OpenGL; however both ATI Technologies and nVidia, by far the two biggest players in the market at the time of writing, have excellent OpenGL drivers for all their modern cards (on both Windows- and non-Windows platforms).
לי לדוגמה, אין לחלונות (חלונות של מיקרוסופט, בקירות למזלי יש חלונות) בבית, ולכן אם אתה תכתוב תכנה שמשתמשת בDirectX, אז אני לא אוכל להפעיל אותה, ובעצם אתה "נעול" על מערכת הפעלה אחת (מכאן, גם על פלטפורמה x86. מק לא יוכל גם להפעיל את התכנה שלך, עף על פי שהביצועים הגרפיים שלו עולים בד"כ על מחשבי x86). לפי מה שאני רואה, יותר ויותר חברות מצטערות שהם לא פיתחו את התכנות שלהן מהתחלה פורטביליות (זה לא כולל את מיקוסופט, דרך אגב), ועכשיו הן מנסות להשתמש בכל מיני טריקים בשביל להריץ את התכנות על מערכות הפעלה אחרות (ראה מקרומדיה, שתוציא גרסה של מקרומדיה פלאש MX ללינוקס בנויה על ה"אמולטור" wine). גם מספר משחקי המחשב ללינוקס גדלים בהתמדה, כמו גם מספר המשתמשים.