Jump to content

  • Log In with Google      Sign In   
  • Create Account

SDL+OpenGL vs DirectX


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 16 November 2012 - 02:07 AM

I just cant seem to decide which one. Its either opengl+sdl or DirectX
What I like about OpenGL is that u can use outdated code or techniques and it will still run. So I dont have to keep on constantly keeping up with changes(staying on top of changes is exhausting, especially when programming isn't your income). Also sdl is easier, than again lack of books


Then on the other hand, DirectX has all documentation. All the books I wanna read use DirectX. So that's also a big deal. But DirectX keeps on changing. By the time I get the hang of it, directx12 will be out. If I were to write an engine in dx9, it would one heck of a time to get it to dx11 and add its features.
honestly what would u guys do?

also is sdl + Direct3d(just direct3d, no directsound,input, etc etc) possible

Edited by ISDCaptain01, 16 November 2012 - 02:08 AM.


Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 6306

Like
0Likes
Like

Posted 16 November 2012 - 02:44 AM

SDL + Direct3D should work.
http://www.gamedev.net/page/resources/_/technical/apis-and-tools/direct3d-90-with-sdl-r2249

I'm not sure its a great idea though.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 mhagain   Crossbones+   -  Reputation: 8278

Like
0Likes
Like

Posted 16 November 2012 - 02:56 AM

D3D may use a different API every major version, but that doesn't mean that you have to. D3D9 is still well-supported and has been very stable for a decade or so now, for example, so if you wanted to learn that then go right ahead - there's nothing forcing you to jump to a higher version.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#4 PurpleAmethyst   Members   -  Reputation: 324

Like
1Likes
Like

Posted 16 November 2012 - 04:40 AM

IMO, learn OpenGL > 3.2. Everything except the Microsoft systems use OpenGL, better to learn 3D graphics via OpenGL and then learn Direct X when you need to.

#5 mhagain   Crossbones+   -  Reputation: 8278

Like
2Likes
Like

Posted 16 November 2012 - 06:09 AM

IMO, learn OpenGL > 3.2. Everything except the Microsoft systems use OpenGL, better to learn 3D graphics via OpenGL and then learn Direct X when you need to.


While this is in principle true, I generally advise that when you're learning you're better off just forgetting about portability, at least for the first few programs. Your primary task is to learn, not to be portable, and if you worry over much about being portable then you're taking on a whole slew of additional headache that is just going to detract from the job of learning.

Of course helper frameworks/etc make this issue fade a little into the background, but despite that I believe that the basic core of it still stands - focus on what you're learning, not on whether or not it's portable.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#6 PurpleAmethyst   Members   -  Reputation: 324

Like
0Likes
Like

Posted 16 November 2012 - 09:12 AM

I generally advise that when you're learning you're better off just forgetting about portability, at least for the first few programs. Your primary task is to learn, not to be portable.


++ to that

I wasn't really talking about portability - which is all well and good until you see a horrible attempt to hack a DirectX like interface over OpenGL sent from the US office and that creates even porting more headaches.

I would consider having OpenGL as your most familiar graphics API is better because of wider support and it is easier to get going with in my experience - It is more fun to learn with OpenGL and there are usually less "WTF is going on??" moments.

#7 mhagain   Crossbones+   -  Reputation: 8278

Like
1Likes
Like

Posted 16 November 2012 - 11:27 AM

I would consider having OpenGL as your most familiar graphics API is better because of wider support and it is easier to get going with in my experience - It is more fun to learn with OpenGL and there are usually less "WTF is going on??" moments.


I'd suggest qualifying this statement a little.

GL has wider support in terms of platform availability for sure, but in terms of driver quality and assuming Windows, D3D is ahead.

Regarding it being easier to get started, that could be said to be true if you're referring to glBegin/glEnd code, which D3D has no equivalent of. However, many people would advise that learning glBegin/glEnd stuff is actually a case of learning the wrong thing, and when you compare glBegin/glEnd to modern OpenGL, the difference between GL and D3D becomes virtually non-existent.

So if you're referring to glBegin/glEnd, then it needs to be made clear that you'll get started for sure, but you'll quickly enough hit a point from which you can't really go forward.

Isolating the discussion to the modern versions of each API (by which I mean we're talking about VBOs, shaders, render to texture and GPU computing), the APIs are equivalent with D3D being slightly stronger with documentation (I'd dock marks for the awful D3D11 documentation) and substantially far ahead for tools/etc.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#8 PurpleAmethyst   Members   -  Reputation: 324

Like
2Likes
Like

Posted 16 November 2012 - 01:43 PM

I did say learn OpenGL > 3.2, not the glBegin/glEnd rubbish.

I still, personally, think GL is easier to learn even with the modern way of doing things in GL is easier and clearer.

I'm not going to get into a row about OpenGL vs DirectX. They are both graphics APIs, they do exactly the same job.

#9 mhagain   Crossbones+   -  Reputation: 8278

Like
1Likes
Like

Posted 16 November 2012 - 06:23 PM

I did say learn OpenGL > 3.2, not the glBegin/glEnd rubbish.

I still, personally, think GL is easier to learn even with the modern way of doing things in GL is easier and clearer.

I'm not going to get into a row about OpenGL vs DirectX. They are both graphics APIs, they do exactly the same job.


True, I grant you that. :)

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#10 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 16 November 2012 - 07:55 PM

I dont care about cross platform, just about backwards compatibility

#11 powly k   Members   -  Reputation: 653

Like
0Likes
Like

Posted 17 November 2012 - 09:46 AM

As said, 10 year old DX9 code still works on DX9 today. With OpenGL you can build with new features on old things, but I think it's mostly a bad thing - it's why OpenGL is a terrible mess nowadays if you don't go for the strict core versions that don't have any deprecated features.

In the end there's not that much between them; I'd choose the one that feels more comfortable to program with - try a bit of both and then choose.

#12 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 17 November 2012 - 09:42 PM

As said, 10 year old DX9 code still works on DX9 today. With OpenGL you can build with new features on old things, but I think it's mostly a bad thing - it's why OpenGL is a terrible mess nowadays if you don't go for the strict core versions that don't have any deprecated features.

In the end there's not that much between them; I'd choose the one that feels more comfortable to program with - try a bit of both and then choose.


are you sure about that? because I want to read jim adam's advanced animations in directx. it uses directx9 but reviews says the code is incompatible with the current directx9.
Its these kind of things that make me angry about updates to APIs. If your gonna update, dont break it in the process

Edited by ISDCaptain01, 17 November 2012 - 09:43 PM.


#13 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 21 November 2012 - 06:54 PM

you know what? i think im just gonna go with allegro since its easier for a hobbyist like me. I think learning a full fledge 3d api will be more of a pain then pleasure. I might comeback to direct3d/opengl when i feel more confident, and feel like dealing with windows code

#14 3Ddreamer   Crossbones+   -  Reputation: 3165

Like
0Likes
Like

Posted 21 November 2012 - 07:35 PM

Captain,


You are the captain of your ship, but if you keep changing ships in mid ocean, then you might find yourself on all the same ships eventually! Posted Image Remember the saying, "The grass is always greener on the other side."? The next ship will always be better. Posted Image

This time, stick with your decision until you are relatively proficient at in that area. Posted Image


Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#15 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 21 November 2012 - 09:32 PM

Captain,


You are the captain of your ship, but if you keep changing ships in mid ocean, then you might find yourself on all the same ships eventually! Posted Image Remember the saying, "The grass is always greener on the other side."? The next ship will always be better. Posted Image

This time, stick with your decision until you are relatively proficient at in that area. Posted Image


Clinton


I havent chosen an api yet, im getting my data structures and algos down first. I wanna be comfortable in c++ first. Just thinking ahead
I havent set sail yet Posted Image

Edited by ISDCaptain01, 21 November 2012 - 09:33 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS