123
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|567|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> C/C++/C#/Other -> OpenGL or DirectX?

Page : 1 2 Next
Prev
Sun, 11 Feb 2007, 15:24
garand
I am trying to get back into learning C++ and I want to learn 3D graphics. What do you prefer and why? OpenGL or DirectX? I was leaning toward OpenGL because of the multiple operating system support and some other things but what do you people think?
Sun, 11 Feb 2007, 15:31
Jayenkai
Personally I'd stick with OpenGL. It has it's set of commands and they pretty much stay as they are. But from what others have told me, MS keep redoing the DirectX libraries so if you want to upgrade your engine to Dx10, you'd need to relearn a whole lot of stuff*.

Companies (if you're heading into coding full time) would much prefer you know Dx than OpenGL, I'd imagine, so maybe that's something to consider.

Of course, there is always the fact that you could use a premade engine/wrapper to do all the hard work for you.
When coding for the DS, I tend to use PALib, which gives me a much easier Blitz-like command library, so I can type PALib_Init() instead of 3 pages of "Start DS, Initialise Hardware, turn on screens, set up memory, etc" stuff. Much easier, and I really can't be bothered faffing with what isn't really needed.

* Again, that's all 2nd hand info, though, so feel free to shout at me. I dunno what goes on with all that DX stuff, I just stick with engines and the like.

-=-=-
''Load, Next List!''
Sun, 11 Feb 2007, 15:37
garand
I think I'll go with OpenGL even though I would like to work for a game company. Once I feel ok with OpenGL and C++ then I will learn DX. Thanks for the speedy response. Im downloading all the NeHe tutorials and the OpenGL SDK.
Sun, 11 Feb 2007, 16:48
JL235
OpenGL is meant to be much easier (and what little OpenGL I've used was incredibly easy to implement), and learning it will help learning how to program generally with graphics, and so will probably make DirectX far easier to learn then if you tried now.

I disagree with Jay. The new Direct3D is pushing the boundaries and this would be the perfect time to learn. Microsoft are trying to build Windows as more of a games OS then it used to be, and generally that's where the company has slowly extended too with the X-Box and XNA framework.

I wouldn't worry too much about multi-platform unless you really require it. People don't use a non-Windows OS for games, it's a simple fact. All Mac and Linux games are either a niche or extremely popular (such as Unreal), which are aiming solely at the small percentage of Mac and Linux users who would want to play the odd game. If said users really wanted to play games regularly they would have Windows.

I'd recommend using OpenGL with SDL. You could try GLUT too just to try something different, or XNA Game Studio which was officially released not too long ago.

You could also try getting to grips with OpenGL through an easier language. There is an interesting quote I read in an article by Mike Vanier, 'C++ : an octopus made by nailing extra legs onto a dog.' It's really put me off learning C++ any time soon.
Sun, 11 Feb 2007, 16:52
Jayenkai
Jay likes the C++ Octopus quote. Sounds about right

-=-=-
''Load, Next List!''
Sun, 11 Feb 2007, 16:57
hyruleknight
openGL, it is fast, solid and easy to learn. plus it is also used for gaming consoles.

after you feel comfortable with C++ and OpenGL you should learn directX

also GLUT is just an openGL utility tool box(hence the name), there are a lot of them out there too. also for openGL you don't have to install a SDK for windows. you just need the platform SDK which yo ucan download from microsoft's website.

as for learning directX 10 i would put off learning it till vista gets a little mroe stable and you get it

-=-=-
i like green haired girls...
Sun, 11 Feb 2007, 17:19
JL235
Hyrule: You could turn your argument around, that you should learn DirectX 10 in preparation for Vista becoming more popular and stable.

There is also Free GLUT, which is a far more up to date remake of GLUT which more importantly solves a lot of the problems with GLUT. But then you could just use SDL.
Sun, 11 Feb 2007, 17:57
hyruleknight
that is a valid point but without having vista yourself you could not compile anything to test

if you can get vista now and have it running well then go for directX 10 after you get settled with C++

-=-=-
i like green haired girls...
Mon, 12 Feb 2007, 06:32
garand
Well do you think that game companies will go over to D?
Mon, 12 Feb 2007, 12:32
garand
I dont see how C is in second. I know that it is a bit faster but C++ is OOP and C is not.
Mon, 12 Feb 2007, 13:04
mike_g
OO dont necessarily mean better, its kind of down to personal preference. I'm half surprised that Java is in top position, tho I have noticed a hell of a lot of jobs require it. I'll be learning Java soon. Should be fun
Mon, 12 Feb 2007, 15:44
JL235
First, not everything revolves around speed. Any real project also wouldn't use one single language, C/C++ is used for the slow bits and then a higher level language for the bulk of the program. That's simply because the development time is faster, easier, creates less bugs and so lowers costs. It makes your life a lot easier.

For example I was writing a game in Ruby some time ago which used a Vector Image class I had made but it was quite slow if I had over 100 images on-screen. So I was planning to re-write that one class as a C extension, and then keep on writing the rest in Ruby because that single class took up the vast majority of the programs processing time. That is why people really use C, to do the slow bits fast.

Mike_G is also completely right, OO is not better, it is different. Personally I cannot see me going back to procedural after learning Java and Ruby, but that doesn't mean it is better. The overhead of C++ object-orientation is minor and a technical slowdown rather then a practical one. It would be just silly to say that overhead is a good reason to use C over C++. That would be like saying 'don't use functions, they add overhead and slow down the program'. Something I have sadly heard multiple times.

Even then OCaml can be as fast, and sometimes faster then C. So why don't you all use OCaml?

C, C++ and Java are also the common industry languages, everyone uses them. Regardless of if you write in D, OCaml or Ruby you should learn them if your going to be interested in ever getting a real job.

Finally I notices Ruby has gone up 10 places, and is now ranked 10th. With C# falling, maybe it will catch up and overtake it. I know in Japan Ruby is more popular then Python.

Anyway, learn OpenGL.
Mon, 12 Feb 2007, 16:01
Jayenkai
Although, of course, at the end of the day the language should really be decided by the project.
Learning OpenGL for the sake of learning is one thing, but if I'm going to do a half-decent project.. I'm using Blitz*! It's just not worth the hassle!

(* unless it's a DS game, then I've less of a choice!)

-=-=-
''Load, Next List!''
Mon, 12 Feb 2007, 17:35
steve_ancell
I understand that OpenGL in for doing graphics stuff, but what happens when you want to do audio as well as graphics ?, does it mean that you have to use a mixture of both Direct-X and OpenGL ?. And in reference to what hyruleknight stated (OpenGL is used on games consoles), do games consoles have some other sort of audio library ?.
Tue, 17 Apr 2007, 09:21
JL235
I've recently started learing Managed DirectX, which is now incorperated into XNA, and I think it's amazing. Far easier and more straight forward to learn then OpenGL.

I also read this on the comparison of OpenGL vs DirectX, from Wikipedia earlier. Very interesting. Says in some sections that OpenGL is more designed for professional use (like 3D Rendering programs) where as DirectX was designed purely for games.
Tue, 17 Apr 2007, 12:25
steve_ancell
Ere !... On the subject of XNA, does anyone on here know were to get a decent beginners tutorial that is actually easy to understand. Microsoft never taken into account that not everyone knows how to program in C# when they designed XNA. If only they had made some sort of language similar to Blitz or something.
Tue, 17 Apr 2007, 12:41
power mousey

how about downloads that are easy on the computer
to download?
you don't have to download this or that.
just the language itself!??

non-bloated apps and languages for a bloated
Windows. Too many drapes and curtains!


Tue, 17 Apr 2007, 13:46
JL235
Java is almost identical, so you could try learning that. I have no C# experience and I found it very easy, straight forward and pretty instant to pick-up.
Tue, 17 Apr 2007, 13:49
power mousey

Java!??

ackkkkkkk!!!


good night and God bless you.
back to bed.

cheers
sleepy mousey
Wed, 18 Apr 2007, 18:10
steve_ancell
@ Diablo...
I have no C# experience and I found it very easy, straight forward and pretty instant to pick-up.


Yeah, but I'm getting old, going bald, and brain rot is starting to set in.
Wed, 18 Apr 2007, 18:32
power mousey

the Spirit is willing, but the flesh is weak.

true!

another old adage:

as you get older....easier to put on the weight,
much harder to take it off. Thats for sure!


Thu, 19 Apr 2007, 04:54
steve_ancell
@ Kent...
as you get older....easier to put on the weight,
much harder to take it off. Thats for sure!


Yeah, tell me about it Bro. I weigh about 15.5 Stone, which is about 217 Pounds. That means for my size, I'm about 4.5 Stone overweight. About 7 years ago I weighed about 11 Stone, then I decided to quit smoking which is when the weight accelerated.
Thu, 19 Apr 2007, 05:00
power mousey
whoa!!

well, hey my brother Mark has to lose another 30 to 40
pounds. All those rich foods he eats.
The fat cat lawyer that he is...

I have noticed although, when I'm walking
and especially doing my laundry and also coding
it helps me to perspire and burn those calories.

So, coding is good for you.
And fundamental to help you burn off
those little excess calories too.
Not many but it sure helps. Thats for sure.
True.

new editey: and this and next week...I'll be doing more
walking and using more mass transit. My car will be in the shop to get fixed and tuned up and smog checked too.
I have a penchant to hop back onto the bus with C/C++
Page : 1 2 Next
Prev