Jump to content
  • Advertisement
Sign in to follow this  
Ex777

Should I switch to Open GL?

This topic is 4394 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, well I have been programming in Direct X for about a year now, I have about 2 or 3 books specific to direct 3D, and at this point, I dont think its for me. I really didnt want to switch to Open GL, because I'm a total fan of the way Direct X is object oriented, but I need something that is easier to program, understand, learn, and produce results, Direct X is just consuming to much time to understand, and produce results. I have absolutely 0 books on the subject of Open GL rendering, but have examined code, and it seems to be easier, to me atleast. So all of you reading this, do you think that I should switch to Open GL, or stick with Direct X. I don't care if Open GL, or Direct X is your absolute favorite thing, and you would gladly give up your first born to stay with it, I want an honest answer about what you think I should do.

Share this post


Link to post
Share on other sites
Advertisement
openGL isn't really any simpler than DirectX. In my experience the only really confusing part about the APIs comes about if you don't know how rendering works or if you don't know the ins and outs of Linear Algebra. i.e. it's not really the API that's confusing but it's the concepts of rendering itself that's the confusing part.

What in particular is confusing you about DirextX?

-me

Share this post


Link to post
Share on other sites
You should realize that DirectX != Direct3D. DirectX is the total package of objects and functions that will make your life easier. OpenGL can't be compared to DirectX, it compares to Direct3D. The difference between them is not that big. You can use Direct3D without DirectX, or you can OpenGL. Also keep in mind that OpenGL doesn't provide the ease of use that DirectX does. Loading meshes, fonts etc, you need to program yourself, while DirectX provides this functionality.

I myself use OpenGL, but expect it to be more work to get something complicated running then in DirectX. (I am still working on my mesh importer, while in DirectX importing .x files can be done in only a few lines of code).

Greetings.

Share this post


Link to post
Share on other sites
Check out the tutorials at NeHe's, if you think its easier, switch, if not, stay, down the line, they do the same things.

By the way, its not obvious whether or not you know this, but you don't compare DirectX to OpenGL, you compare Direct3D to OpenGL.

Share this post


Link to post
Share on other sites
Quote:
Original post by Limitz
I myself use OpenGL, but expect it to be more work to get something complicated running then in DirectX. (I am still working on my mesh importer, while in DirectX importing .x files can be done in only a few lines of code).


I somewhat disagree, if you're using any other format other than .x, you still have to write an importer, COM initialization of D3D objects is IMO a lot more tedious than initializing an OpenGL context, and keeping track of whether you still have control over devices is something I much rather not have to worry about.

Share this post


Link to post
Share on other sites
Yeah, yeah, yeah, I know Direct X does not equal Direct 3D, and not to compare Direct X, to Open Gl, simple mistake, so my bad. I will learn the basics of Open GL, and see witch ones works better for me.

Edit:

@pali- No "specific" part of direct X is confusing me, its more or less, everything about the api, it just pisses me off some times, I dont know if you can understand this, but I hate having to constantly refer to a book, online tutorial, or other source code, to complete something extreamly simple, that I have already done in the past. Most of the time, its just one measily function, or object I forgot to use, or properly initialize, but still, anoying. Eh, sorry if that makes no sence, I have the concepts down (very down if u ask me :P ), but aperently you are right, I dont understand the underlying systems, or w/e very well.

Share this post


Link to post
Share on other sites
Or alternatively just implement the same thing in opengl and d3d and see which one do you like more :)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Id say go with openGL, mainly because direct3d has become foo bar'd with the direct39.0 versions. Now differnt (monthly) versions have to be downloaded to the clients machine. I used 8.1 for a while and visited the most recent version 9.0 a couple of days ago and was totally not happy.

I downloading the latest 9.0 sdk from MS. Lets just say, that any tutorial off the web that is labeled for 9.0 does not work because of this stupid problem of having (I assume)the static/DLL correctly dated versions for D3DX (the original reason I never got aroudn to using 9.0). It defeats the whole purpose of the direct3d com architecture of being backwards compatable with previous versions.

Basic point is, I downloaded directx 9.0 SDK and I could not run random directx 9.0 apps that I found off teh web. This is BS in my opinion, and is enough reason to not use the API. (BTW: im a pretty die hard windows fan, but direct3d 9.0 just is not user friendly, which is the whole point of windows)

so yeah, move away from directx, because they are mutilating it. Maybe when 10 come out, but then, it probably isnt backwards compatable with half the card people will have.

So yeah, OpenGL all the way... wow, i thought Id never be saying that (not that theres anythign wrong with opengl). Because al the directX you learned, is no longer easily ran by your potential clients.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Id say go with openGL, mainly because direct3d has become foo bar'd with the direct39.0 versions. Now differnt (monthly) versions have to be downloaded to the clients machine. I used 8.1 for a while and visited the most recent version 9.0 a couple of days ago and was totally not happy.

I downloading the latest 9.0 sdk from MS. Lets just say, that any tutorial off the web that is labeled for 9.0 does not work because of this stupid problem of having (I assume)the static/DLL correctly dated versions for D3DX (the original reason I never got aroudn to using 9.0). It defeats the whole purpose of the direct3d com architecture of being backwards compatable with previous versions.

Basic point is, I downloaded directx 9.0 SDK and I could not run random directx 9.0 apps that I found off teh web. This is BS in my opinion, and is enough reason to not use the API. (BTW: im a pretty die hard windows fan, but direct3d 9.0 just is not user friendly, which is the whole point of windows)

so yeah, move away from directx, because they are mutilating it. Maybe when 10 come out, but then, it probably isnt backwards compatable with half the card people will have.


That has absolutely nothing to do with Direct3D. The DLL problem has to do with Direct3DX, which you don't have to use.

Quote:
Original post by Anonymous Poster
So yeah, OpenGL all the way... wow, i thought Id never be saying that (not that theres anythign wrong with opengl). Because al the directX you learned, is no longer easily ran by your potential clients.


That's wrong too, since the API comes with an installer which can easily be included in your download or installer.

Also, AFAIK the DLL problem is being handled in Direct3D10, but that's just heresay from a friend.

As to the OP, go with what the other's have said and find out which one you like/can use better.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!