Sign in to follow this  
NathanielBennett

Need advice on Graphic API's

Recommended Posts

Hello there, my name in Nathaniel, and as you probably guessed already -I'm new here.
I Have previous experience with Unity3D and found it a pleasant experience to use, how ever I'm not really all that Artistic- I'm more of a Coder/Programmer, I love logic and how things work.
My origin isn't really focused on Producing 3D graphics, but more of Developing a "Case" which will retain all of the positions and data for these objects and to make them intractable by passing input to the application. A usual GameDev (I'm guessing that's you) will call this "Case" a Game Engine.

So that's what I want to make, and Improve -A Game Engine.
So Now where the questions come in...How do I get there? -My answers..."I don't really know"

At the moment I am reading a Book, about developing Games with Direct X on (Obviously) the windows Platform. I'm enjoying it- it's a good book. I'm just very doubtful whether DirectX is the way to go, but I keep hearing that OpenGL is 'Dead' and the war is over, -DirectX is better?

But I also Hear that DirectX it's very platform specific, ie, it only works on Windows, WP7 ,Xbox and PS3... However Indie development is Booming on the GPMP (General purpose mobile platforms) like ios and android.
-these only have support for OpenGL ES...

So my question ls whether DirectX is worth it? Am I going the wrong way?

Share this post


Link to post
Share on other sites
I've read somewhere on tom's hardware that PS3 uses Directx - I haven't really looked into it that much. It'll take me a Long, Long time to reach anything like UDK at it's current state or any other AAA game engines. Thats why I'm focusing on indie games (What most individuals like myself should be focused on)- and It's clear to see that indie games are booming on the GPMP devices...which use OpenGL ES....
is OpenGL easier to learn? should I learn DirectX first?

and I really don't get it when people compare the differences of games when they turn Directx off and on? -Sure they game wouldn't work?

As you see I'm really puzzled about Components of a game engine and Graphical API's. it'll be nice to have an explanation! -all of the beginner tutorials tell you that games use Graphical API's but they don't tell you a broad meaning of how they work!

Also there was another post stating how to put openGL in a DirectX window? does this mean you can use both? -I thought the Libraries where Massive! surely you can't learn both(in a realistic time)?

I am however certainly impressed by the DirectX 11 UDK trailer... UDK certainly looks great...shame you need a decent size team of experts to get any other then "Hello world" out of it :C

Share this post


Link to post
Share on other sites
[quote name='naf456' timestamp='1310855809' post='4836165']
Hello there, my name in Nathaniel, and as you probably guessed already -I'm new here.
I Have previous experience with Unity3D and found it a pleasant experience to use, how ever I'm not really all that Artistic- I'm more of a Coder/Programmer, I love logic and how things work.
My origin isn't really focused on Producing 3D graphics, but more of Developing a "Case" which will retain all of the positions and data for these objects and to make them intractable by passing input to the application. A usual GameDev (I'm guessing that's you) will call this "Case" a Game Engine.

So that's what I want to make, and Improve -A Game Engine.
So Now where the questions come in...How do I get there? -My answers..."I don't really know"

At the moment I am reading a Book, about developing Games with Direct X on (Obviously) the windows Platform. I'm enjoying it- it's a good book. I'm just very doubtful whether DirectX is the way to go, but I keep hearing that OpenGL is 'Dead' and the war is over, -DirectX is better?

But I also Hear that DirectX it's very platform specific, ie, it only works on Windows, WP7 ,Xbox and PS3... However Indie development is Booming on the GPMP (General purpose mobile platforms) like ios and android.
-these only have support for OpenGL ES...

So my question ls whether DirectX is worth it? Am I going the wrong way?
[/quote]

OpenGL is not dead, I believe the "war" was started by Microsoft's campaign for DirectX, trying to convience everyone tha DirectX was better, while in reality OpenGL was faster than DirectX ( but Microsoft has improved the speed of DirectX and they're just as fast now, I think. ) OpenGL has been update several times the last couple of years and now supports all the features that DirectX does.

After what I've heard, DirectX is more object-oriented than OpenGL, but I have only used OpenGL so I don't know. OpenGL isn't too hard to use, and there's a few tutorials on the newest versions + a very usefull API on the official page of [url="http://www.opengl.org/"]OpenGL[/url].

If you want your code to run on more than just Microsoft's platforms, OpenGL is the way to go.

Share this post


Link to post
Share on other sites
[quote name='zacaj' timestamp='1310856261' post='4836169']
I think the PS3 uses openGL, unless theyve switched....
[/quote]PS3 system/graphics software is LibGCM and PSGL (Playstation GL) which you can see as kind of "homebrew OpenGL ES 1.1 with instancing, primitive restart, fences, conditional rendering, and Cg tacked on"... or something :P

Share this post


Link to post
Share on other sites
The PS3 doesn't use OpenGL natively, it uses it's own proprietary API. You [i]can[/i] feed it OpenGL code but you'll get a small fraction of the performance.

These days D3D and OpenGL are more similar than different. There are still some unique selling points for each, but the general advice is that in the longer term it's more advantageous to learn both, so the question becomes not one of "which do I learn?" but "which do I learn first?" The answer to that comes down to which programming paradigm you're more comfortable with (procedural vs OO-like), which platform you're going to be learning the first one on, driver quality and whether or not you have any prior exposure to one of them.

Share this post


Link to post
Share on other sites
It doesn't matter which one you choose... the lessons you'll learn will apply later to both of them. Graphic engine code is 90% API indipendent.. The choice of an API can only be done in relation to a final set of requirements..at this stage you don't have these requirements nor the experience necessary to make a decision.
My advice is.. stop wasting time deciding.. throw a coin in the air go for whatever will come out and stick with it until you have something working.. once you're there, in 12-16 months, have a look at the other API and start evaluating a port.

Share this post


Link to post
Share on other sites
When I was searching for tutorials I found more tutorials for OpenGL(just saying)..

I agree with Kunos all you need to know is get the concepts the implementation in these 2 API's won't be much difficult to understand or switching from one API to another would be easy after that..

I think that(from People's review) DirectX has a "[b]slightly[/b]" more steep learning curve for a beginner but then it all depends on you..:D

Share this post


Link to post
Share on other sites
[quote name='naf456' timestamp='1310855809' post='4836165']I keep hearing that OpenGL is 'Dead' and the war is over, -DirectX is better?[/quote]On Windows, D3D is definately more popular than GL in games. GL is still used though.
On Apple or Linux platforms though, GL is obviously the winner ([i]seeing D3D doesn't exist, or only exists via emulation[/i]).

[i]Personally [/i]I like the modern D3D APIs much more than GL, with GL having many flaws --- however, they both do the same thing, and debating which is "better" is a useless activity that will just spawn a 3-page flame-war thread [img]http://public.gamedev.net/public/style_emoticons/default/wink.gif[/img]

[quote]But I also Hear that DirectX it's very platform specific, ie, it only works on Windows, WP7 ,Xbox and PS3... However Indie development is Booming on the GPMP (General purpose mobile platforms) like ios and android.
-these only have support for OpenGL ES... [/quote]Between PC, 360, PS3 and hand-helds, there's quite a lot of different APIs to cover: D3D9, D3D11, GL2, GL3, GL4, GLES1, GLES2, D3D-Xbox, PSGL, GCM...

As you can see, you don't just "learn DirectX" or "learn GL" -- "DirectX" covers D3D9/10/11 ([i]of which only 9 and 11 are needed[/i]) and "GL" covers GL1.x through GL4.x ([i]only 2.x+ is needed these days[/i]) and the different versions of GLES.

Regarding the consoles, they will always be similar to desktop or mobile APIs, but slightly different.
[quote]So my question ls whether DirectX is worth it? Am I going the wrong way?[/quote]It really doesn't matter that much which one you start with.
When you learn your first 3D API, you're not only learning the API, but you're also learning a ton of theory and concepts -- it's this theory that's the hard part (learning an API is a small task in comparison).
Once you learned your first 3D API, then learning another one is a simple task.
[quote]Also there was another post stating how to put openGL in a DirectX window? does this mean you can use both?[/quote]Technically it's possible to use both GL and D3D in a single application, though you'd only want to do that for some sort of strange compatibility purpose -- it has no use in a game.
[quote]I thought the Libraries where Massive! surely you can't learn both(in a realistic time)?[/quote]As above, learning [i]one [/i]is hard because you don't know the theory yet.
After you know all the theory that's common to these APIs, you can start productively using a new one the same day that you start learning it (and learn it as you go).[quote]and I really don't get it when people compare the differences of games when they turn Directx off and on? -Sure they game wouldn't work?[/quote]I have no idea what you mean..?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this