Should I switch to Open GL?

Started by
49 comments, last by GameDev.net 17 years, 7 months ago
It sounds like you might benefit from switching to a renderering engine like Ogre that takes care of the low-level stuff for you. It would certainly be beneficial to master one of the APIs, but it isn't necessarily requisite to making cool games and stuff.
Advertisement
Quote:Original post by Anonymous Poster
Because al the directX you learned, is no longer easily ran by your potential clients.


If your clients run Linux or OSX, then that may be true. But if they use windows then that's is bollocks.

I think with DX 9 they're just playing around now, and trying to sell DX 10 to developers. DX 10 will probably be amazing, but that means we'll all have to upgrade to Vista :(

My personal reccomendation though: Learn both. Companies that develop for Windows will expect you to know D3D, but OpenGL allows you to program pretty much everything else AND can also be used for Windows.

One thing to note though: D3D has this weird thing about doing all the maths opposite to OGL. Why, I don't know, but since this is true I'd recommend learning one first, then go back to the other. Since you've started in DX, I'd stick with that for now.
I think you should strive to more precisely identify why you and D3D are not getting along. It is likely that the problems are not related to D3D and are actually far more fundamental.

OpenGL lets you get by with less comprehension of what's going on than in D3D -- for a little while. But sooner or later (generally sooner) you have to come to grips with a lot of critical concepts, which are completely identical in OGL and D3D (occasionally with minor quirky differences that are irrelevant).

Quote:COM initialization of D3D objects is IMO a lot more tedious than initializing an OpenGL context
That's bullshit. It actually takes more code to start up OGL than it does to start up D3D.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
I dont have any expireience in D3D, and very little in OGL, but my advice is too try out both API's and see which you prefer....
the way i see it both are good opengl is my fav but youve purchased several directx books and begginning anything is always slow..when you get better yull have realised that everything comes together personally i think there both the just as good as the other,and overall i believe direct x has many more tutorials plus your books and it might be a little faster but im sticking with my ogl

d3d in my opinion ITS CRAP

but i said opinion and i know ill get flamed from about 4 or 5 members flaming me over this
Quote:Original post by firewall1
the way i see it both are good opengl is my fav but youve purchased several directx books and begginning anything is always slow..when you get better yull have realised that everything comes together personally i think there both the just as good as the other,and overall i believe direct x has many more tutorials plus your books and it might be a little faster but im sticking with my ogl

d3d in my opinion ITS CRAP

but i said opinion and i know ill get flamed from about 4 or 5 members flaming me over this


The only reason I'm saying anything is because "ITS CRAP" isn't an opinion, it's an insult. Why don't you try to atleast name a few reasons why it's crap (even if they're your opinion.) What exactly makes it 'crap'? In my opinion it has a nice structure, great support, and is pretty easy to use once you figure out how it works.

@OP: Another route is to write your own 3D renderer. No, I don't mean try to compete with DX or OpenGL, but if you wrote your own 3D renderer (on top of an existing 2D system like GDI) you'd learn how the transformation pipeline works as well as a good chunk of the required math. Also, I'm not recommending you write a 3D renderer for a game because writing a 3D renderer on top of GDI and such would be extremely slow.

Also, if you're going to be doing 2D games then there are other options like Allegro or SDL.

Also, if you think OpenGL is easier then try it for a couple days and find out if it really is.

Quote:Original post by Promit
I think you should strive to more precisely identify why you and D3D are not getting along. It is likely that the problems are not related to D3D and are actually far more fundamental.

OpenGL lets you get by with less comprehension of what's going on than in D3D -- for a little while. But sooner or later (generally sooner) you have to come to grips with a lot of critical concepts, which are completely identical in OGL and D3D (occasionally with minor quirky differences that are irrelevant).

Quote:COM initialization of D3D objects is IMO a lot more tedious than initializing an OpenGL context
That's bullshit. It actually takes more code to start up OGL than it does to start up D3D.


Promit is a genious. I couldn't have worded it better[smile].
Smitty's proposition is a really good one -- if you don't like all the messing around with low-level details of getting the system running -- if you want them abstracted away: decide what you need to use 3D for, and maybe you can find more simple utilities.

If performance is not a super huge issue, you could always use freeglut to get your window up and running -- it abstracts some annoying parts of getting OpenGL up and running (window routines etc), but it isn't great for large projects (because it includes stuff you may not need or want and thus can bloat unnecessarily).

But that said, if performance is an issue, and you -are- creating a game (this -is- gamedev.net!) why not try Ogre, or Irrlicht, or even Torque if you want to spend some money (it's not that expensive)...Plenty of functionality, and the chance to get a game up in 3D in much less time than you will take if you roll your own engine (why waste 1-3 years if you aren't creating secret cutting-edge technology?)


Either way, make up your own mind -- but don't ignore all the alternatives.


~Shiny
------------'C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.' -Bjarne Stroustrup
Quote:Original post by Promit
Quote:COM initialization of D3D objects is IMO a lot more tedious than initializing an OpenGL context
That's bullshit. It actually takes more code to start up OGL than it does to start up D3D.

If you are using the straight windows API, fine, but if you are using a wrapper such as SDL (and you probably will be, for cross-platform compatibility if nothing else), it is a tiny bit shorter.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Quote:Original post by swiftcoder
Quote:Original post by Promit
Quote:COM initialization of D3D objects is IMO a lot more tedious than initializing an OpenGL context
That's bullshit. It actually takes more code to start up OGL than it does to start up D3D.

If you are using the straight windows API, fine, but if you are using a wrapper such as SDL (and you probably will be, for cross-platform compatibility if nothing else), it is a tiny bit shorter.


Exactly, besides I said more tedious (IE: more things to take into consideration), not nesesarily more code (IE: More typing).

This topic is closed to new replies.

Advertisement