When to switch to D3D/OpenGL?

Started by
32 comments, last by Ronald Forbes 23 years, 11 months ago
I must say, I am very disappointed to see people arguing about this silly matter. Direct3D is a beautiful piece of kit, that blends in with the rest of DirectX, generally, if you know one part of DirectX, it''s not too hard to learn another part (eg. DDraw and DSound). OpenGL is also a lovely API. Now, I am not saying anything important here, but this is what happened with me (Call me an idiot if you like, I knew no 3D math or theory before I started learning any 3D)

So, here''s my experience (I''ll put a little note at the bottom, read it!)

I decided one night, that I was getting quite bored with makig 2-dimensional games, so I tried to make an Isonmetric world using Direct3D. It wasn''t too hard. I used the article here on gamedev to help me. Then, however, I wanted to enhance it to use dynamic lighting and such, but I failed miserably. The next day, I decided to go with an all 3D approach. I managed to make a triangle from scratch using nothing but my own head (I was so proud), then I enhanced it to make other shapes. It took me a while to work out which order to put the vertices in, but I got there. Then, I tried to make a cube. And man was that annoying. All along I was trying to make it with a triangle strip (told you I didn''t know anything 3D) and I got really annoyed, eventually I managed to sort out the problem though.

The next day, I went to nehe.gamedev.net and read the first tutorial. Personally, I think that all that talk about OpenGL being easier to initialize is crap. You still have to initialize it, it''s just more win32 init than gl init. Whereas in dx, you initialized the window, then all dx stuff. Anyway, I thought the 1st tutorial was mega, and made an OpenGL class straight after, which initializes everything (very useful). The next tutorial was amazing. It was so simple to do everything. I made a cube in no time, and I thought the gouraud shading was cool (didn''t get that far with d3d). Then, I continued thru the nehe tutorials, they were brilliant.

Basically, what I''m trying to say is, I found OpenGL easier than d3d. That is, the actual rendering stuff, not the init. However, before anyone has a go at me, I must point out, that openGL was probably easier due to my experience with drawing the 3d shapes in d3d. Despite this however, I found it easier to use.

All I''m trying to say, is that the APIs are very similar. Just use the one you want, don''t try to convince other people to use something else.

Man, grow up, and code for yourself. If you''re happy with it, it must be right. Just don''t show it to anyone else

Just my $0.02,

Magicdude
Advertisement
First of all I never attacked d3d, all I said was I find OpenGL easier.

I only mentioned the article because I found it interesting and I thought others might as well, I didn''t say "This article from John Carmack states that d3d is rubbish and you should all program in OpenGL" and I didn''t expect anyone to take it as gospel.

My experience with 3d programming is very similar to Magicdude and after having experience with both API''s I have to say IN MY OPINION OpenGL is easier to use than d3d.
"I have realised that maths can explain everything. How it can is unimportant, I want to know why." -Me
>One thing that I''ve noticed about OpenGL programmers is that they do tend to spew out random insults when you even mention D3D and OpenGL in the same sentence (OK some D3D''ers do too, but it is much less common). Not sure why.

The reason is simple. It is obvious that M$ will imitate any profitable original games, too.

M$ imitates any original products to extends its Windows monopoly position. Imitate, imitate, and imitate, killing the true innovators.

That is the Microsoft way in the past and the future.

UB
Chris: I never attacked your opinion. I just got a bit annoyed that you posted a link to something 4 years old --for some people it could have been misleading.

Just clearing up the misunderstanding .

(and yeah, I agree that GL is easier to learn mainly because there are much better resources. I wish someone would write a decent (full) book on D3D.)

Anonymous: that doesn''t even make sense. Write something coherent.

--TheGoop
stop jerking off and start programming.

ao
Play free Java games at: www.infinitepixels.com
>that doesn''t even make sense.

Then look at Microsoft Real History of imitate, crash others, imitate crash others,,,,

http://biz.yahoo.com/msft2/

As long as the monopoly company controls both the system and applications, it will dominate applications as well by imitating the applications and taking the advantage of the system developer. It is obvious that M$ will have incentive to imitate any profitable original games crashing original game companies.
Okay, some body explain to me what that last post has to do with when someone should convert from 2D to 3D.

I''ll admit that for Windows programming I prefer to use D3D but I''ve used OpenGL.

Firstly the original question was about when to switch from 2D to 3D. The answer to that is when you start getting bored, or when you feel ready.

Secondly, why start an API war. We''ve had API wars more times than I can count. The real answer to which API you choose is which ever one you feel most comfortable with. There are few intristic advantages to either. (Except that GL is cross platform).
Okay, some body explain to me what that last post has to do with when someone should convert from 2D to 3D.

I''ll admit that for Windows programming I prefer to use D3D but I''ve used OpenGL.

Firstly the original question was about when to switch from 2D to 3D. The answer to that is when you start getting bored, or when you feel ready.

Secondly, why start an API war. We''ve had API wars more times than I can count. The real answer to which API you choose is which ever one you feel most comfortable with. There are few intristic advantages to either. (Except that GL is cross platform).
Regards,Ralph Potterralph.potter@digital-magi.com, http://www.digital-magi.com
not unhappy, nor angry today, as I was yesterday.

I''ve been a bit out of my gear... (You know you say tings you don''t really think when your angry)

My problems with Direct3D are:
Lack of true understanding of the API cause of everchanging interface.
Windows only support. (And I really dislike windows, even if I think the OS is far from being as bad as many people say [Ever tried to make an OS working on millions different computers?])
Very long initialisations steps. (That''s where I found it as being more C style than C++. With C++ I would not have to intialise that way, just create new objects that will initialise themselves.)

Direct3D is not bad, it''s not good IMO.

The really BIG point I wanted people to think about is not if Direct3D sucks or not (cause it''s not the case) but if they really want to support only windows while they are unhappy with it, and why they wanted to support only windows, and not another OS ?!


Please correct me where I''m wrong.

About the ORIGINAL TOPIC :
Go to 3D if you understand 3d maths (not really hard) don''t limit yourself to polys worlds and learn other stuff (voxels...), think by yourself of how you would like to achieve one or another effect.
Learn how the hardware works.
Learn different implementations of the same FX and try to figure out which is the best and why.

Learn what are the bottleneck and find a solution or workaround to solve the problem.

<br><br>-* Sounds, music and story makes the difference between good and great games *-
-* So many things to do, so little time to spend. *-
War on!

I''m learning a fair bit here. I''m currently using the wildtangent engine but am looking at dropping that as I want a fairly specialised terrain renderer. So for me I''d like to hear more.

My current situation is that i have wrapper classes for keyboard,mouse,sound in directx and have just learnt how to put bitmaps on the screen.

One of the things I''d like to know about using OpenGL for platform independance is how the hell do I do all the other things non 3d if I go opengl. I''ve noticed that the terravox guy uses opengl with directx(no d3d).... So If i want platform independace how do I easily and generically support controls, sound and 2d? Currently I''m only thinking about a linux server process but if it''s easy enough I''d consider a linux client as well.
Or is it just too hard?

gimp
Chris Brodie

This topic is closed to new replies.

Advertisement