Jump to content
  • Advertisement
Sign in to follow this  
Migi0027

API Wars horror - Will it matter?

This topic is 1767 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys,

 

as you know, there is this war called the api wars, which will probably stay there for quite long. When looking at the popular companies now, such as CryTek, Epic Games and so on... Their game engines are focused on DirectX (Direct3D), weather it is because the marketing or because d3d has an advantage I'm still not quite sure off yet.

 

As a lone developer, or a shy one, I personally use DirectX. I can't exactly remeber why i picked dx, but this may be why:

 

As I was younger, the way I discovered Game Engines was to find a popular game on Wikipedia, and then read the page, and almost all the games I found used Directx/3D, so I guess that's why I chose it.

 

I have a small engine myself, which has been through alot, using C++ and Directx, and I have had a great pleasure in programming it, as a hobby. But then I became so worried when I started reading that OpenGL is better because it is portable and sometimes faster, blablabla... And then another one where James Camarack admitted that D3d is faster that OpenGL. But my real worry is, that when going to high school/university, I've read that they use OpenGL, so will I have to relearn it all? Or will it be easy as I'm already familiar with D3d? And how easy is it to convert a D3d project to opengl?

 

Actually one night I dreamt about this descision, and chose opengl, I think, which scares me happy.png .

 

So my questions are:

 

  • Why is Direct3D preferred by the large companies? (Dice, CryTek, Epic Games...)
  • Should I port my engine to OpenGL. (I have no thoughts of making my engine cross-platform)
  • Should I even worry about this? unsure.png
  • How does the future look for DX and OpenGL?
  • What API does PS3 use?
  • Is it normal to dream about API Wars? wacko.png

Well, thank you as always!

 

PS. My engine is in the signature if you want to know.

PS. I havn't spell checked this, going to do that the next morning.

Share this post


Link to post
Share on other sites
Advertisement
And then another one where James Camarack admitted that...

roflmao hahahahahahaha That one is saved for posterity.

 

EDIT: People, "James Camarack" sounds funny. That's all I have to explain about this post. I don't know why people keep upvoting/downvoting it, it just sounds funny, that's all.

Edited by TheChubu

Share this post


Link to post
Share on other sites

Why is Direct3D preferred by the large companies? (Dice, CryTek, Epic Games...)

 
I'm not sure because I don't work in a large company, but I'll guess that's the API they used in their previous projects and since it works and OpenGL won't give any big advantage why bother switching to OpenGL?
 
Also I'm guessing that the XBox 360 Direct3D version is more similar to Windows Direct3D than OpenGL is to PS3 OpenGL-based LibGCM.
 
Or it might just come down to preference...
 
 

Should I port my engine to OpenGL. (I have no thoughts of making my engine cross-platform)

 
Unless you want to learn OpenGL or a new version is released with awesome features that Direct3D doesn't support why waste time that could be used to add a cool new feature to your engine?
 

Should I even worry about this? unsure.png

 
No. If you know Direct3D learning OpenGL is really easy.
It's mostly functions with different names that do the same thing. They both use shaders, vertex/index buffers, render targets, etc. The differences are small and it's easy to google the answers.
 
I would say its like learning Java when you know C#, it mostly works the same way.
 

How does the future look for DX and OpenGL?

 
As you can see from the new versions of Direct3D (11.1 and 11.2) the changes are mostly small improvements, nothing revolutionary is being released, and the same goes for OpenGL.
I'm pretty sure we won't see a completely redesigned API update like Direct3D 9 to 10 anytime soon.
 

What API does PS3 use?

 
A modified version of OpenGL (more specifically OpenGL ES if I'm not mistaken) called LibGCM, but I never used it. I'll let someone else give more info.
 

Is it normal to dream about API Wars? wacko.png

 
You might be wasting more time thinking about it than you should xD
 

 

And then another one where James Camarack admitted that...

roflmao hahahahahahaha That one is saved for posterity.

 


Its a crossover of James Cameron and John Carmack happy.png

Edited by TiagoCosta

Share this post


Link to post
Share on other sites
Well, luckily there's a great answer already posted regarding GL vs D3D.
And like the article explains, it's a history lesson, and epic failure on OpenGL's part.
Though today Microsoft is pulling some very irritating behaviors lately of having DX 11.1 for Windows 8, and DX 11.2 for Windows 8.1; not to mention their API documentation has became worst on every iteration of the API.
If they keep doing it (and Khronos Group doesn't fall asleep AGAIN) then GL may get a boost once more (but a redesign is needed).
 

What API does PS3 use?

 
A modified version of OpenGL (more specifically OpenGL ES if I'm not mistaken) called LibGCM, but I never used it. I'll let someone else give more info.

LibGCM is a library for very low level GPU access. The provided (partial) OpenGL implementation for PS3 built on top of libGCM is very slow and useless, to the point developers just prefer to work with libgcm directly (and it's more flexible btw.)
 

Is it normal to dream about API Wars? wacko.png

Actually, I dream of some day making a game called API Wars where two transformer-looking robots called Direct3D and OpenGL fight in a match to the death; shooting triangles bullets and recharging their Z Buffers for powerups. Edited by Matias Goldberg

Share this post


Link to post
Share on other sites

Microsoft likes to use DirectX to launch the newest OS they have for sale.  Microsoft has almost unlimited resources and lines of credit.  They can dump a billion dollars a year into the newest version of DirectX if they want to. 

 

Also if a game company wants to use some obscure new DX function they can call up somebody at Microsoft and have a programmer leased to them until the issue is solved. 

 

If the drivers for a major hardware company is having problems with a new DirectX API, You can be sure Microsoft will throw money at the problem to make it go away. 

OpenGL doesn't have this vastly wealthy champion to ride in and fix problems in a timely fashion.

 

If DX didn't run at least a little bit faster, then I'd have to ask, "where is all that money going?"  Of course newer features are often faster and more consistent across GPU's.

 

Personally, I'm not going to help MS black-ball people into buying a new OS. 

 

If you choose one or the other, I'd say you should choose which ever one feels most natural for you, I modify this point with a few more as follows.

 

I started with OpenGL because it made sense to me sooner than DX did. 

 

Now I also consider cross-platform issues.

 

I also now consider this to be an ethical issue as well. 

 

I do not like how Microsoft does business and I am not going to help them any more than I have to. This is no different then the idea of voting with your wallet.  If you do not like how they do business then don't support them any more than you have to.  If money is all you think about, then team up with MS and you'll likely be very happy as well.

 

If you feel that DX is the better API then use it, otherwise don't, or learn both. 

 

There is no "war", this is drama and rhetoric for people who are upset at having to learn more than one thing, sort of like-> "Use what I prefer or you're a stupid-head!"

Edited by Josh Petrie

Share this post


Link to post
Share on other sites
Also if a game company wants to use some obscure new DX function they can call up somebody at Microsoft and have a programmer leased to them until the issue is solved. I'm sorry, but this world exists only in your mind. A lot of us are annoyed because DX support from Microsoft is the worst it's been in literally decades.

 

Really. This only exists in my mind.... If UbiSoft offers to pay Microsoft for one of their DirectX consulting programmers, you don't think that this will happen?

 

As for the rest of the insulting things you said to me, I'll respond with the following.  Promit, you're an idiot.  People like you are the reason sites like this have such bad reputations for being overpopulated with arrogant, condescending, know-it-all, half-wits.  You're one of the big-fish in this department.

Edited by Josh Petrie

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!