Archived

This topic is now archived and is closed to further replies.

Kenncoh

engines

Recommended Posts

Kenncoh    122
i am trying to decide wheter i should go with OpenGL or DirectX...i have no clue about either one...which one is easier to learn? which is more powerful? e.t.c if someone can answer these questions it would be most appreciated

Share this post


Link to post
Share on other sites
BinhNguyen    122
Hi Kenncoh!

I''ve started with DirectX because I felt that there is a lot of information out there that can quickly help me learn it. I''m currently working though Jim Adam''s Programming Role-Playing Games with DirectX. My goal is to develop my own 3d engine and then my own game as quickly as possible. I''ve spent a few weeks learning about windows programming before I started the book and then a few weeks into the book has allowed me to write a program which loads a 3d model which I can fly around and view from any position.




---
Today, is a good day to code.

Share this post


Link to post
Share on other sites
FtMonkey    122
lol This question comes up all the time...Ok a quick answer: It doesn't really matter which one you choose just choose the one you like the most. I like OpenGL most people say OpenGL is the easiest one to learn from the two but I think that depends on the person you might like DX better just choose the one you feel more confortable with. You might also want to consider that DX only works on windows unlike OpenGL but if you want to program for windows only that's not really a problem.

[edited by - FtMonkey on September 5, 2003 1:12:44 AM]

Share this post


Link to post
Share on other sites
starboarder    122
Yes.

I realy havnt done any programming with Direct 3D so i cant tell you anything about that. I will leave that up to someone else

[edited by - starboarder on September 7, 2003 9:19:16 PM]

Share this post


Link to post
Share on other sites
PlayGGY    122
Yep, DirectX has EVERYTHING, and it is slightly faster, but OpenGL is easier. OpenGL is still very powerful, though, which is why some commercial games use it. But either one, you will probably end up using Direct Input.

Share this post


Link to post
Share on other sites
PlayGGY    122
"no it is not. they are equally fast"

It is insane to think that to APIs would have exactly equal speed. You have slightly more control over the hardware in DirectX, but OpenGL has the advantage of cutting developement costs because it takes less work to get an equal product. With DirectX it is possible to make it faster than you can with OpenGL, but developers don't always do it.

EDIT: And, of course, OpenGL is cross platform, which is a huge advantage.

[edited by - PlayGGY on September 8, 2003 1:54:03 PM]

Share this post


Link to post
Share on other sites
CodeMunkie    805
You only have one GPU, both APIs access the same hardware. If there is any difference in speed it is driver related. Some drivers are more optimized for Direct3D and some are more tuned for OpenGL. There is no real difference.

quote:
OpenGL has the advantage of cutting developement costs because it takes less work to get an equal product


Where do you get that idea? Development time depends on the skill of the developers, not which API they are using.

[edited by - CodeMunkie on September 8, 2003 1:58:29 PM]

Share this post


Link to post
Share on other sites
PlayGGY    122
"Where do you get that idea? Development time depends on the skill of the developers, not which API they are using."

Look...

OpenGL doesn''t make you write as much code for the same result.

Share this post


Link to post
Share on other sites
quasar3d    814
quote:
Original post by PlayGGY
"Where do you get that idea? Development time depends on the skill of the developers, not which API they are using."

Look...

OpenGL doesn''t make you write as much code for the same result.


you need less code in opengl to set things up, but the actual rendering code is mych the same, first you fill in a vertex buffer, which is just a standard pointer to a buffer where you can place your vertices, and then to render, just a call to DrawPrimitive in dx, or a call to some function I don''t know (assuming you use vertex buffers), in ogl.

maybe if you draw vertices with glBegin() glEnd() blocks it might make a difference, but with vertex buffers, it''s exactly the same

and if the code to set things up in ogl would take a few milliseconds longer... who gives a fuck. thats only called once at the beginning of the program (btw. in my experience, directx takes much longer to initialize than ogl)

My Site

Share this post


Link to post
Share on other sites
zelda6486    122
Kenncoh, forget those two. I have used both OpenGL and DirectX extensively, and like them both. Here is the breakdown:

OpenGL is MUCH easier to use and quicker to set up. I think you will have a much smoother time learning graphics programming if you don''t have to deal with the sometimes confusing overhead of Direct3D. After that, you can try Direct3D and see which you like better, because many a war has been waged over which is best and still noone knows. Many deaths...

Share this post


Link to post
Share on other sites