DirectX or
OpenGL?
DirectX looks kinda nice because it has everything you need right there for gaming(Directplay,Directsound,Directdraw). But DX is in for a major overhaul with 10, due to some problem with Vista, and I don't really want to learn a language that will become outdated to the next Windows OS.
OpenGL looks good too, because it's supposed to be easier to learn. But then what would I do if I ever wanted to network my game? Would I have to write my own... er.... thingy?
I'm learning C++ right now, and I just wanted suggestions for the future.
Thanks!
Which should I make an attempt to learn?
Started by the_night_ninja, Jun 04 2006 05:03 AM
11 replies to this topic
#1
Posted 04 June 2006 - 05:03 AM
#2
Posted 04 June 2006 - 05:25 AM
To put things simply, attempt to learn as much as you can :lol:
DirectGraphics or OpenGL will both render graphics and give you access to the video hardware. There are also many libraries available that provide alternatives to the rest of DirectX (Input, Sound, Play (networking), etc).
Learn as much as you can and then you'll be able to make informed decisions about which options will best suit your project's needs. You'll also learn which options YOU like better this way ;)
Good luck!
DirectGraphics or OpenGL will both render graphics and give you access to the video hardware. There are also many libraries available that provide alternatives to the rest of DirectX (Input, Sound, Play (networking), etc).
Learn as much as you can and then you'll be able to make informed decisions about which options will best suit your project's needs. You'll also learn which options YOU like better this way ;)
Good luck!
#3
Posted 04 June 2006 - 05:32 AM
Ok... Well, lets take this thing in a different direction.
Which should I learn first?
Which should I learn first?
#4
Posted 04 June 2006 - 05:36 AM
In that case, have a look at some DirectX tutorials and some OpenGL tutorials and go with the one that you find easier to understand.
Regards,
Regards,
#5
Posted 04 June 2006 - 05:39 AM
Mmkay, I'm going with OpenGL then, because I know more about it.
:yes:
:yes:
#6
Posted 04 June 2006 - 07:27 PM
I remember this topic! I was in it not too long ago.
Basically I thought there was a right or wrong answer to this question. The fact of the matter is, once I started actually programming and trying to figure things out for myself (rather than flipping through books and tutorials), it doesn't really matter what API you use.
I started with SDL because there was a perfect tutorial online for it. It walked me through everything, and I really got into the fact that I could finally display graphics and make windows. This was when i was in the: I can make a MMORPG stage...
Then I realized I totally sucked at game programming, but was quite good at C++. I put the two traits together, sucked it up, and began learning things for myself. Now SDL is as natural as C++ is for me, and I'm "figuring out" how to make a program/game work, rather than worrying about how to make it.
My point is that once you start programming it doesn't matter. Don't think you can't change your course. People think it's insanely difficult to learn DirectX and/or OpenGL, and they must choose one. The point is, once you really get into it, it won't matter because you're trying to use previous programming to help solve your problems, not help you make your game.
does that make sense?
Basically you have to initialize the api, know what functions to use on how to load/display/create windows, images, ports, etc. so you can use them in your game, and then use it to your advantage. It's like different languages: there are hundreds out there with different ways of saying the same thing.
Oh, and by the way, Directx is better. OpenGL is crossPlatform, yes, but who cares really? 90% of the market is windows anyway, and if you design your game good enough (with classes and such) you won't have to worry about relying on an API to begin with.
Jason
Basically I thought there was a right or wrong answer to this question. The fact of the matter is, once I started actually programming and trying to figure things out for myself (rather than flipping through books and tutorials), it doesn't really matter what API you use.
I started with SDL because there was a perfect tutorial online for it. It walked me through everything, and I really got into the fact that I could finally display graphics and make windows. This was when i was in the: I can make a MMORPG stage...
Then I realized I totally sucked at game programming, but was quite good at C++. I put the two traits together, sucked it up, and began learning things for myself. Now SDL is as natural as C++ is for me, and I'm "figuring out" how to make a program/game work, rather than worrying about how to make it.
My point is that once you start programming it doesn't matter. Don't think you can't change your course. People think it's insanely difficult to learn DirectX and/or OpenGL, and they must choose one. The point is, once you really get into it, it won't matter because you're trying to use previous programming to help solve your problems, not help you make your game.
does that make sense?
Basically you have to initialize the api, know what functions to use on how to load/display/create windows, images, ports, etc. so you can use them in your game, and then use it to your advantage. It's like different languages: there are hundreds out there with different ways of saying the same thing.
Oh, and by the way, Directx is better. OpenGL is crossPlatform, yes, but who cares really? 90% of the market is windows anyway, and if you design your game good enough (with classes and such) you won't have to worry about relying on an API to begin with.
Jason
#7
Posted 05 June 2006 - 01:30 AM
Thanks for your help!
I'm probably going to mix and match later on, but I think I'm only going to learn OpenGL right now.
I'm only fifteen, so I don't want to have to undertake some huge project right now.
Windows might have 90% of the world's computer's in it's grip, but Apple is just so much better!
:happy:
I'm probably going to mix and match later on, but I think I'm only going to learn OpenGL right now.
I'm only fifteen, so I don't want to have to undertake some huge project right now.
Windows might have 90% of the world's computer's in it's grip, but Apple is just so much better!
:happy:
#8
Posted 06 June 2006 - 08:03 AM
Nah.... Direct X has to be the best choice.... OpenGL has lots of problems
with dealing with modern concepts such as MRTs and has to deal with such
stuff by convoluted extensions ( I am reliably informed...). Also since XBox360 is DirectX it makes more sense for developers to stick to DirectX - since we can do without the hassle of porting and translating an OpenGL based system. I'd put my efforts into DirectX....
with dealing with modern concepts such as MRTs and has to deal with such
stuff by convoluted extensions ( I am reliably informed...). Also since XBox360 is DirectX it makes more sense for developers to stick to DirectX - since we can do without the hassle of porting and translating an OpenGL based system. I'd put my efforts into DirectX....
#9
Posted 06 June 2006 - 10:06 AM
Spudman said:
Also since XBox360 is DirectX it makes more sense for developers to stick to DirectX - since we can do without the hassle of porting and translating an OpenGL based system. I'd put my efforts into DirectX....
And PS3 use OpenGL ES and Nintendo Gamecube uses an OpenGL-like system ..
Don't think consoles should come into it because, lets face it, it costs too much for a hobbyist to buy a dev kit anyway :)
#10
Posted 06 June 2006 - 10:29 AM
Before you get to really learning OpenGL or DirectX it's neccessary to get a grasp of the concepts behind it. Computer graphics is an entirely separate topic (not related to c++ or whatever) with a lot of matrix math involved. If you don't understand this first, then you can't use opengl nor directx. After you get the basic concepts of computer graphics it will be rather easy to learn directx and opengl, which will become just ools to express your thoughts. It's a bit like learning to program really; once you know the concepts behind programming (oo design, debugging, etc) learning a new programming language is easy, and a language is just a way to express your thoughts to the computer.
#11
Posted 06 June 2006 - 10:29 AM
True.... (Plus you need to be a registered development company to get Microsoft Developer Status anyway... ) But there are those of us who just
hate Sony.....
hate Sony.....
#12
Posted 06 June 2006 - 04:34 PM
well, I'm planning on buying a book on the subject after I get into c++.
http://www.gamedev.n...p?productid=336
http://www.gamedev.n...p?productid=386
I'm planning on getting one of the two books.
http://www.gamedev.n...p?productid=336
http://www.gamedev.n...p?productid=386
I'm planning on getting one of the two books.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











