opengl

Started by
24 comments, last by MJP 15 years, 6 months ago
Hy. I have some little experience with opengl. But this is my queston: why the professional programmers uses directx for create games ? 1)speed? but vbo is slower than directx? 2)documentation 3)help in vs and in all community book ecc...? 4)integrated shaders vs extensions? why?
Advertisement
Many reasons, the 2 main ones in my opinion being that OpenGL has been left behind constantly in terms of features and is constantly doing catch up to DX (this wasn't always the case) and the fact that ~97% of the PC game market runs Windows, so portability is really not an issue.
other
There are lots of reasons, but as with any choice of technology (e.g. Windows vs Linux, Java vs C#...) you're going to have to weigh up the factors important to you and decide based on that.

In addition to Kwizatz's points, the one key advantage D3D seems to have is its ease of use. The programming model (mostly true for v9, definitely true for v10/11) is incredibly clean by comparison - quite simply, its easier to write code against. Secondly, the tools, samples, documentation, support (from MS, IHV's, community..) are generally more plentiful and complete.

For me personally, and obviously I have a bias, being able to cleanly, uniformly and concisely express my graphics application is a huge win. I've done some OpenGL coding and I found it a chaotic and messy experience - I spent as much time fighting the API/technology as I did solving my problem, which is simply not good enough in this day and age.

When there isn't a clear winner on features (yes, D3D has a slight edge but you can argue via extensions), performance and X-Platform isn't a motivator then simple ease of use and speed of development will reign king.


hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:I've done some OpenGL coding and I found it a chaotic and messy experience

My experience is quite the opposite as I found directx messy and chaotic. I'm sure that is just because I'm used to opengl. If I started using directx I'm sure I would get used to that too.

I guess it just depends on what you are comfortable in using.
I must agree, our proprietary Graphics Engine at work was built in DX9 and whenever I look at the source code it is a complete mess, however when I look at my own OpenGL code it looks much neater (probably bias).

Also, portability is a key factor, even if you don't think you need it now, you may need in the future, which is the problem we're facing at work where we may want to start shipping our software on Linux machines.
Quote:Original post by AndyEsser
Also, portability is a key factor, even if you don't think you need it now, you may need in the future, which is the problem we're facing at work where we may want to start shipping our software on Linux machines.
If portability is a big factor, then you need to support multiple rendering backends, at which point OpenGL and D3D are just a few out of many.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Quote:Original post by swiftcoder
Quote:Original post by AndyEsser
Also, portability is a key factor, even if you don't think you need it now, you may need in the future, which is the problem we're facing at work where we may want to start shipping our software on Linux machines.
If portability is a big factor, then you need to support multiple rendering backends, at which point OpenGL and D3D are just a few out of many.


There is no reasn for having a OGL and DirectX both inside of an engine. They both do the same exact thing. and will render the same. the only thing difference is having opengl or directx rendering it. So creating a game for portability means just use opengl, and not need to have both because that basically is just adding more bloat to the engine instead of adding more functionality and a complete waste of time. But thats just my opinion.

Quote:Original post by xZekex
There is no reasn for having a OGL and DirectX both inside of an engine. They both do the same exact thing. and will render the same. the only thing difference is having opengl or directx rendering it. So creating a game for portability means just use opengl, and not need to have both because that basically is just adding more bloat to the engine instead of adding more functionality and a complete waste of time. But thats just my opinion.


Tell that to the guys at Ogre3d [smile].
[double posted by accident, stupid entarweb]

This topic is closed to new replies.

Advertisement