what do you recommend?
#1
Posted 14 February 2003 - 05:08 PM
My question is, I would like to start learn game/graphics programming, and I don't know which API to use. Should I use DirectX, or OpenGL? Please give me a good and convincing reason to use one API rather than the other.
Thanks
#2
Posted 14 February 2003 - 05:14 PM
#3
Posted 14 February 2003 - 05:20 PM
#4
Posted 14 February 2003 - 06:15 PM
I assume you run windows, if you run anything else there is no option of directx :).
Reasons for OpenGL:
- If you want to target multiple platforms or think you might move platform yourself
- You don't like COM
- You don't like C++, or wish to use C without using those silly vtable things
- You don't like hungarian notation
- You happen to like OpenGL better
- if you don't really care about other platforms
- You like COM
- You like C++
- You like hungarian notation
- You happen to like DirectX better
- Your graphics card supports DX better than OGL
btw, generally these posts (because there is no definate one that is *better* at everything for everyone) cause flame wars. Tread carefully.
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.
#5
Posted 14 February 2003 - 06:17 PM
#6
Posted 14 February 2003 - 06:32 PM
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.
#7
Posted 14 February 2003 - 06:35 PM
abcd_z said:
that is a false assertion. many of the industry uses DirectX because most of the population uses windows. and believe me, games that only use directx aren't as popular. i haven't come across a game that used only directx. I have, however, came across games that only had opengl, mainly because it's cross-platform. take quake3arena for example.
#8
Posted 15 February 2003 - 05:29 AM
1. All of the ID games: GLQuake, Quake2, Quake3, and soon to be Doom3 + all Games based on the ID Engines (a shitload of them)
2. Bioware games such as Baldurs Gate2, Icewind Dale2, and Neverwinter Nights all use OpenGL.
3. Warcraft 3 uses OpenGL (it is done through an abstraction layer, WC3 was written for BOTh DX and OGL).
4. Diablo2 uses OpenGL.
5. All Unreal Games and games based on those engines use OpenGL (same as WC3 an abstraction layer was written, the render code was written for i think 3 APIs.
There are many many other games, but those above are TOP games which i could think of. Also, consider just how many games there are based on the Quake engines and on the Unrel engine.
It is true that OpenGL wasnt designed for games, it was deisgned for encellent graphics, and it doesn this very well. Also, it gives you the flexibility to use any other library for other things such as sound and netweorking, whereas DX basically foces you to use DX exclusively.
#9
Posted 15 February 2003 - 07:46 AM
However, if one woud have to speak in terms of power and performance, yes DirectX (especially now) is powerful and there is no difference in performance between OpenGL & DirectX. Nowadays, performance doesn't depend API anymore, but depends on hardware and drivers.
In industry, you MUST know both to be considered as standard. Knowing one and not the other is not that attractive to potential employers.
#10
Posted 15 February 2003 - 09:01 AM
apex: Although porting DirectX 7 games to DirectX 9 is a headache, you'll still be able to run the DirectX 7 game in DirectX 9. Even if you have DirectX 9, you can run games written in DirectX 3
That's how MS works, they break backwards compatibility, but include the entire old release with the current. That's why DirectX is so bloated. OpenGL doesn't, because as they keep backwards compatibility OpenGL 1.4 is OpenGL 1.3 with a bit more, and 1.3 is 1.2 with a bit more, etc.
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.
#11
Posted 15 February 2003 - 12:09 PM
and gl is bloated as well btw.. its just hw vendors "forget" to implement quite a bit of it, because its not doable in (gamers) hw. but gl is big.. ever looked at the specs? :D (okay, nvidia extension specs are bigger than the gl specs.. hehe :D )
anyways. i don't vote. i know both, and i can suggest both. i prefer personally opengl, espencially in small scale stuff. but both are great currently, both have great features, and are easy to use. if you code in windows, you can choose from both.
actually, dx is much more structured than gl.. code gets quite a bunch cleaner. on the other side, gl code is more "simple" most the time. shorter, and more easy to follow. depends on what you look at..
and currently the ARB is working on a general cleanup of gl.. hehe
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#12
Posted 15 February 2003 - 03:40 PM
baldurk said:
i'm not sure if there are ways to 'cut the fat out' -- if you can just use DirectSound without Directi3D or what have you.
can you? enlighten me! :yes:
#14
Posted 16 February 2003 - 09:57 PM
#15
Posted 17 February 2003 - 05:39 PM
so its
OpenGL or Direct3D
OpenAL or DirectSound
OpenNL or DirectPlay
etc.. sure, there are even more libraries for nongraphics stuff.. for sound for example the bass.dll or others, too.. for network you can use {your operating system here} base network libs. (winsock in my case). etc..
you can even have opengl and direct3d. just not in the same window:D
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#17
Posted 17 February 2003 - 06:16 PM
isn't Direct3D, DirectSound, DirectInput, DirectPlay, DirectWhatever all bundled into DirectX?
OpenGL is NOT affiliated with OpenAL nor OpenML
they merely have the same interface...
#18
Posted 18 February 2003 - 04:58 AM
OpenGL cannot be compared to DirectX since its a graphics only library, but usually on these kind of forums when people say DirectX they really mean Direct3D...
On another note, here is a reason to use OpenGL: John Carmack uses it, and he is a GOD!!! :-) Dont you want to be a god like him? If you do, then use OpenGL...
#19
Posted 18 February 2003 - 11:06 AM
#20
Posted 18 February 2003 - 08:56 PM
Second: it is easier to learn (at least because of the less functions)
Third: The best games use OpenGL
Forth: Linux becomes more and more popular, but DirectX is only for Windows
Fifth: There are many OpenGL related libraries like GLUT and GLAUX for examle
Sixth: There are many Open-source OpenGL applications (including games)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











