Why learn dx or opengl?

Started by
12 comments, last by johnnyBravo 19 years, 5 months ago
Hi, I have been programming with opengl for about a year now for non game stuff like modellers ect I would now like to make a game and have been hunting around for a game engine. It seems to me, when you use a engine it takes care of graphics api stuff so why bother learning graphics api's? Would it be possible for someone to make a game without knowing dx or gl? With the use of a good engine Thanks for any comments :)
Advertisement
Quote:Original post by one mind
With the use of a good engine
A well designed one, absolutely.
I spent some time learning DirectX, however, eventually I decided to look for another solution that was cross platform, and which I did not have to spend alot of time learning. So I switched to OGRE, which I would recommend you taking a look at. You can still use OpenGL or DirectX with OGRE, but goes against its rendering abstraction.

edit - OGRE is just a graphics engine, not a complete game engine.

www.ogre3d.org
opengl and direct3d is like linux and windows.

opengl you have to do alot of functions yourself, or download extra libraries, but direct3d comes with alot of its own helper functions eg d3dx.

The main reason to choose opengl over direct3d is, that people do not always have the latest version of directx, unlike opengl where everyones always got it. And cross platformness, but most of the time I guess you are going to write windows code with the opengl anyway...

edit:

btw opengl is quite small to use, even if you download other libraries. directx is bloody huge!
Quote:Original post by johnnyBravo
opengl and direct3d is like linux and windows.

opengl you have to do alot of functions yourself, or download extra libraries, but direct3d comes with alot of its own helper functions eg d3dx.


The DirectX SDK is huge compared to eventual add-ons you need to download for OpenGL. To simply use OpenGL, you need nothing at all, besides maybe some good graphics drivers, and the header files that come with all major compiler suites.

Quote:The main reason to choose opengl over direct3d is, that people do not always have the latest version of directx, unlike opengl where everyones always got it. And cross platformness, but most of the time I guess you are going to write windows code with the opengl anyway...


The DirectX part is not quite right IMHO: wheither people have got the newest version or not, they probably will get it, to play their new games and such.

Cross-platformness is probably the best reason to choose for OpenGL - and no, you won't have to write any platform specific code. SDL can take care of that.

-- on-topic

You could indeed learn to use an engine instead of the raw graphics library, but it really depends on what you like to do. If you like to write your own graphics engine, or you like to program the quite low-level graphics API (low-level is compared to an engine ofcourse), go with OpenGL or Direct3D. Elsewise, grab an engine somewhere and play with it.
Quote:Original post by Sijmen

Quote:The main reason to choose opengl over direct3d is, that people do not always have the latest version of directx, unlike opengl where everyones always got it. And cross platformness, but most of the time I guess you are going to write windows code with the opengl anyway...


The DirectX part is not quite right IMHO: wheither people have got the newest version or not, they probably will get it, to play their new games and such.



Oh what I meant by that is, sometimes I write a program with direct3d9, and I want to show some people, but so many times I've couldn't because the computers are all installed by image and don't come with directx9 installed.

So usually if I'm creating something small i'd write it in opengl, unfortunetly my opengl knowledge is quite poor, and I just use it like a windows api :)
Yes it is possible. But if you want to be a game programmer, graphics of course, you must know DirectX and/or OpenGL.

And they also give you the background for chosing one or another engine and even extend the engine to your own needs. The engine will not have everything you need always...
[]sTúlio Caraciolo
Quote:Original post by johnnyBravounfortunetly my opengl knowledge is quite poor, and I just use it like a windows api :)


What does "use it like a windows api" mean?
Quote:Original post by petewood
Quote:Original post by johnnyBravounfortunetly my opengl knowledge is quite poor, and I just use it like a windows api :)


What does "use it like a windows api" mean?


set pixel type calls :)

Although I sometimes do 3d stuff
Quote:Original post by johnnyBravo
Quote:Original post by petewood
Quote:Original post by johnnyBravounfortunetly my opengl knowledge is quite poor, and I just use it like a windows api :)


What does "use it like a windows api" mean?


set pixel type calls :)

Although I sometimes do 3d stuff

I see.

This topic is closed to new replies.

Advertisement