

Carmack: Direct3D is now better than OpenGL - bhrgunatha
http://www.bit-tech.net/news/gaming/2011/03/11/carmack-directx-better-opengl/1

======
Zak
I find it odd that there was no mention of working on multiple platforms as an
advantage of using OpenGL. I've bought a game or three I wouldn't have
otherwise because they offered a Linux version, and I suspect I'm not the only
one.

~~~
melling
Yes, Java definitely has an advantage over C# because it's multi-platform.
Granted C# really has done a great job of adding nice features that I wish
were in Java...

This kind of story seems to happen when committees are involved, and there is
an overarching need for backwards compatibility. Closures in Java arrive in
2012. 2013 at the latest.

~~~
icey
What platform does Java run on that C# doesn't? Perhaps you meant to say that
DirectX isn't multi-platform?

~~~
melling
Mono does give you the ability to run C# code everywhere. So, correct, it's
not the language itself that's preventing you to write C# once, run
everywhere. Perhaps you understood where I was going in the first place?

Anyway, people choose Java because they can write once and deploy everywhere.
If you write in the C# .Net ecosystem on Windows, it won't run everywhere,
which is fine if Windows is your only target.

~~~
icey
I don't understand where you're going, no. I write C# on Windows and deploy to
Linux and Mac pretty regularly. I know someone who writes C# on Windows and
deploys to Arduino.

C# seems to be roughly as portable as Java does to me these days. I'm sure I
could be wrong, which is why I'm asking which places you can run Java that you
can't run C#. Yes, you can write non-portable C# code, but you can write non-
portable code in every language.

~~~
ZoFreX
Can you run C# on FreeBSD?

~~~
viraptor
<http://www.mono-project.com/Mono:FreeBSD> <\- that should be really a lmgtfy
link...

------
malkia
Call of Duty does not use OpenGL. Poor journalism.

It's so simple - take depends.exe and run it on the executable, or use
procexp, then Ctrl+D and see what DLL's are being used.

Even more simpler - look at the Redist folder - it has DirectX in it.

I'm not really taking sides here - for my personal projects I use OpenGL, and
find it easier to use (especially from Common Lisp, Lua, JavaScript), also it
has structure that I like better.

~~~
zokier
Are you sure? CoD used Quake 3 engine (idtech3), which had iirc only opengl
renderer.

~~~
jra101
Only the very first Call of Duty game used the Quake3 engine. Call of Duty 2
and on use DirectX.

------
bhrgunatha
Interesting that he says OpenGL has been more concerned with backwards
compatibility than Microsoft has with Direct3D which is surprising considering
Microsoft's normal compatibility fanaticism.

~~~
stonemetal
I think you are misinterpreting what he is saying. Direct3D is built on COM so
the DirectX 1.0 COM interface still exists and code written against it should
still work. However Microsoft has tried to make each version of the API
internally consistent and as good as possible, so new versions of the API
don't keep legacy junk sitting around.

OpenGL on the other hand has made sure that OpenGL1.0 code is still valid in
current OpenGL(Pallet swapping FTW). Though I find it a bit odd that he is
making that comment now. OpenGL 3.0(back in 2008) started the transition to a
modern API. It deprecated the cruft and started building for the future.
OpenGL 4.0 was released a year ago with all the deprecated stuff removed, and
is now a nice clean API that is actually pretty close to DX.

------
rch
There are some interesting things happening in the graphics space, driven
mainly by low-power/mobile device proliferation. It would be a good time to
invent something that changes how real-time rendering happens altogether.

------
jessedhillon
5-10 years ago this headline would have been more likely to appear on April 1,
as John Carmack used to be a member of the OpenGL architecture review board.

~~~
PassTheAmmo
Yes, but already in 2007 his position had changed quite a bit. From
[http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct...](http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D):

In January 2007, John Carmack said that "…DX9 is really quite a good API
level. Even with the D3D side of things, where I know I have a long history of
people thinking I'm antagonistic against it. Microsoft has done a very, very
good job of sensibly evolving it at each step—they're not worried about
breaking backwards compatibility—and it's a pretty clean API. I especially
like the work I'm doing on the 360, and it's probably the best graphics API as
far as a sensibly designed thing that I've worked with."

------
drawkbox
id software Rage HD and engine would now have been as easy to port to iOS if
it wasn't for OpenGL.

Maybe technologically DirectX is ahead but platform support and inclusion is
the reason it is not winning on mobile.

Also WebGL is coming and OpenGL ES 2.0 for mobile and web will be a very
similar platform.

Where is DirectX for the web and mobile in that aspect? And why doesn't
Carmack try to port Rage to WIndows Phone...

~~~
Strom
Carmack said that a port of Rage to WP7 is unlikely due to its lack of support
for native code. It's .NET only for now.

~~~
drawkbox
Exactly, what I was trying to get at is OpenGL ES is winning on mobile.
DirectX really has no answer and even Windows Devices right now are pretty
much XNA/.NET/Silverlight locked as you say no native. Android has the NDK now
(year or so ago) because iOS SDK was native and allowed for the performance
needed.

If Carmack only built in DirectX which is so much farther ahead, he wouldn't
be on mobile. OpenGL is much different after 2006 when Khronos took over.

------
alttab
When he eventually does make the switch, it will be awesome. And unlike DNF,
he ships games.

------
rbanffy
It certainly is if all you want to target is Microsoft platforms.

------
zdw
Multi-platform support is key - for example, where's Direct3D for Android and
iOS? All the viable gaming platforms, other than the Xbox 360, are running
some OpenGL variant.

PC gaming is dying the slow death of piracy and activation - while games can
perform better (aren't held back by 5 year old console/mobile hardware), and
have better input (keyboard + mouse for FPS), the game vendors can't make as
much money on them.

That said, Microsoft did push the envelope on this - they weren't held back by
the committee model like OpenGL is.

~~~
NickPollard
> _PC gaming is dying the slow death of piracy and activation_

No. No it is not, will everyone please stop spreading this unfounded
misinformation.

The PC market is in rude health and growing. Last year total PC gaming
revenues were estimated at over $16 billion, growing 20% year-on-year[1].
Growing the market 20% in one year is generally not described as 'dying [a]
slow death'.

Lots of developers and publishers are seeing increased opportunity in the
market, such as EA (Electronic Arts, the 2nd biggest games publisher) which
has suggested the PC may soon become it's primary platform[2].

I think it's safe to say we should hold off on the obituaries for now.

[1] [http://www.joystiq.com/2011/03/02/pc-gaming-sector-
enjoyed-s...](http://www.joystiq.com/2011/03/02/pc-gaming-sector-enjoyed-
significant-revenue-growth-in-2010-the/) [2]
[http://www.gamasutra.com/view/news/33394/Interview_Frank_Gib...](http://www.gamasutra.com/view/news/33394/Interview_Frank_Gibeau_on_EAs_Expanding_Focus_in_the_PC_Space.php)

~~~
Shorel
I would say that lots of software developers of PC games died because of
piracy.

PC gaming was in life-support for about three years because of that.

And it has recovered thanks to Steam.

