Thread: OpenGL vs DirectX

  1. #16
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    And of course what I meant is, there is nothing inherently right about it either.

    (Well, I guess making money is always good, but the "goodness" is not inherited by the method. Only the most dunderheaded could believe that rich people are good people, or that your paycheck is a measure of anything other than your income.)
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  2. #17
    Hail to the king, baby. Akkernight's Avatar
    Join Date
    Oct 2008
    Location
    Faroe Islands
    Posts
    717
    Do you people even consider the amount of work put into Windows and all Microsoft products? All the pay checks Microsoft had to give to their employees so that you can now have gotten this big a step in technology... If I could, I'd gladly pay for each product I use, still I'm a 'student' kinda, atleast don't work for a stable income, thus can't buy all, and since I need some things I do use torrents... Still, all the games I've cracked and liked ( and by liked I mean played them more than once or twice ) I've bought just 'cause I've played them so much, still I stopped playing after I bought them, kinda...

    I use torrents as a type of trial or demo... And also, the 'goverment' here claimed that there is no law against electronical piracy where I live...

    So these buisness' do not only secure their payroll, but also give us the options we have today...
    Currently research OpenGL

  3. #18
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Akkernight View Post
    Do you people even consider the amount of work put into Windows and all Microsoft products?
    I am absolutely not slamming MS for employing computer programmers, or for being a driving force in the home computer epidemic! I did not say they, or anyone else, should give their products away! I said they should make their code public.

    There is a misconception that this will make piracy easier; it might a little bit, but I very much doubt that it would make much difference, because it would still be easy to have the products registered and anyone who is capable of hacking that out of the code could probably pirate it now anyway.

    The justification for keeping code secret (witness hardware drivers are free) is that you can then maintain an edge over the competition because your proprietary code is better than their proprietary code. Which is a little stupid, considering how easy that sort of industrial espionage must be; all though it may be illegal, do you seriously believe that a money making software developer who really wants a look at NVIDIA sources won't get it? The only thing it prevents is your manager putting a bunch of people in a room and saying, "okay, today we will be examining our competitor's sources".

    In reality (in fact, this is logically bulletproof), your code will be better if it is open source. Even the best programmers in the world could make a mistake -- what if the source is hidden? Etc.

    In the end, microsoft users are in effect paying to slow down the pace of development, which >2000 AD that is showing some consequences, I hear*. The reason people use windows is because that's the standard, and it makes sense -- if you don't want to be a programmer, you shouldn't have to in order to use a computer. But ease-of-use is developer intensive, meaning you have to pay for it, which is also to say, just because something is open source doesn't mean hordes of board programmers will be rushing over to finish your project in their spare time. There really is not a good justification for not making code public. Microsoft has their ball not because they are not open source, but because of history. If I had such a ball, I would probably be so scared of dropping it that I wouldn't want to change anything in my "business model" and just bank on inertia. Is the ball good? I guess if you are Bill Gates. The current state of American Car Manufacturers might be considered here.

    Unfortunately, it is probably the same human tendancy toward mindless repetition (it's easier on your mind) which makes the business people stick to a "closed source" model; there really is not a good reason, but a lot of rhetoric (like, you can't make money otherwise) is still hanging around.

    * by that I mean funding a sort of dysfunctionalism, and accepting dysfunctionalism as normal because not much contrast is available to you.
    Last edited by MK27; 04-15-2009 at 03:57 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  4. #19
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Do you people even consider the amount of work put into Windows and all Microsoft products?
    and compare it to how much they make from Windows?

  5. #20
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    DX is more thoroughly document. But not by much. OpenGL is documented well enough - and as was already stated, forums and such can always provide any extra help needed.

    OpenGL is simpler and easier, more stable, smaller and more compact, in some cases faster, and much more widely supported (cross-platform). Not to mention you're supporting a good cause.

    It's true that GL doesn't natively support loading of advanced graphics or models. But that's because OpenGL is a 3D rendering API, not a complete game dev API like DX. If you need something, there are hundreds of libraries out there that can do what ever a specific DirectX feature can do - often better. And the really good libs are usually also cross-platform like GL.

    The only way I see DX as being "better" is that everything you need is already there. But the programming headache (and the rotten COM) more than makes up for that plus.

    Please do tell, how is DX better - in spite of all this?

  6. #21
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by Yarin View Post
    Please do tell, how is DX better - in spite of all this?
    Because DX is implimented in hardware, while OpenGL is a translation layer on modern equipment. This has been done to death, someone please merge this thread with the 500 other DX vs OpenGL threads and then close them.

  7. #22
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    >> Because DX is implimented in hardware, while OpenGL is a translation layer on modern equipment.
    How is OpenGL being software instead of hardware a bad thing though?

  8. #23
    The Right Honourable psychopath's Avatar
    Join Date
    Mar 2004
    Location
    Where circles begin.
    Posts
    1,071
    Quote Originally Posted by abachler
    Because DX is implimented in hardware, while OpenGL is a translation layer on modern equipment.
    Unless I misunderstand you, both D3D and OGL are essentially just layers on top of the hardware allowing access to driver features. OpenGL just happens to be a spec rather than a real library.

    Of course, I may just not completely understand how D3D works.
    M.Eng Computer Engineering Candidate
    B.Sc Computer Science

    Robotics and graphics enthusiast.

  9. #24
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by abachler View Post
    Because DX is implimented in hardware, while OpenGL is a translation layer on modern equipment.
    This is bogus. Sorry. It is not even meaningful and you will never see an explanation from the man, either. Rhyme w/ gibberish -- the emperor wears no clothes an so on.

    ps. if you aren't interested in the thread, don't read it, and don't inject little red herrings like this, since it only contributes to the problem you are complaining about ("gee, here's something I don't care about, maybe I should make up some garbage and try to sabotage the thing..." -- I'd call that trolling)
    Last edited by MK27; 04-15-2009 at 06:57 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  10. #25
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Because DX is implimented in hardware, while OpenGL is a translation layer on modern equipment. This has been done to death, someone please merge this thread with the 500 other DX vs OpenGL threads and then close them.
    I ditto your sentiments but no rule has been broken here so there are no grounds upon which to close the thread.

  11. #26
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by Bubba View Post
    I ditto your sentiments but no rule has been broken here so there are no grounds upon which to close the thread.
    Could you at least merge it with previous threads on the subject then, so the same lame arguments arent rehashed once more all over again, for the umpteenth time.

    OpenGL or DirectX ??
    OpenGL or DirectX?
    DirectX vrs. OpenGL - Witch one is better?
    Which is better to start off in DirectX or OpenGL
    OpenGL or DirectX
    OpenGL DirectX 2D
    Allegro, OpenGL.. or even DirectX?

    and a bunch of others
    Last edited by abachler; 04-15-2009 at 06:47 PM.

  12. #27
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    >> and a bunch of others
    vBulletin Message: Sorry - no matches. Please try some different terms.

  13. #28
    Registered User
    Join Date
    Apr 2004
    Posts
    72
    Hello,

    My name is Phil and I am a recovering bias addict.

    OpenGL and Direct3D do about the same things. They call the same graphics hardware. OpenGL was easier in the past due to its simplicity (anyone remember execution buffers in Direct3d?) But now, DirectX is easier because it offers more in abstraction while OpenGL gives you the bare bones. There is more work on your side to abstract if you use OpenGL. This is already done for you in DirectX. Regardless though, chances are you will create your own libraries for code reuse.

    If you see yourself developing on Windows, use DirectX. A new Windows OS installed does ensure you have DirectX drivers for hardware acceleration. OpenGL is iffy. Chances are it still has the old OpenGL 1.1-1.4 drivers. Actually, I had a laptop previously that did not have drivers by default. I don't think XP/Vista does because the extensions were much less before installing the drivers.

    Vista gave three options to get a OpenGL-rendered application to work.

    Option #1:
    MSOGL - this is an implementation of OpenGL 1.4 that uses Direct3D under the covers to hardware accellerate the application.

    Option #2:
    Legacy ICD's - These are the ICD's that are available today for use on Windows XP. These will continue to work on Windows Vista, but will disable the DWM when they are loaded in to the process of the application that's using OpenGL. The reason for this is that Legacy ICD's operate directly on the GPU without going through Windows at all, and we have no way of redirecting application's output in a stable, predictable manner.

    Option #3:
    Windows Vista ICD's - this is a new path for 3rd party ICD's introduced for Windows Vista that will work in a way that is compatible with desktop composition. Essentially allowing direct access to the GPU for hardware accellaration, but then having the final surface that appears to be the front buffer to the application actually be a shared surface that gets composed by the DWM
    To me, that's a mess to deal with and the support calls saying why their game is running slow.

    Any developer who published a small game can tell you they had more support issues with consumers using OpenGL drivers. You have to rely that the consumer installed their drivers. But still, it's the same story for DirectX. If you're using DirectDraw, or Direct3D8, even 9, it is possible they won't have to install drivers on Windows until your application requires shaders and the like. If you're using Windows, I think there is less driver problems and a lot less going into software mode (especially in Vista) if you choose DirectX. DirectX is the safe way to go. If you're wanting cross-platform, use DirectX for Windows and OpenGL for the others. You should have both render paths like most game companies do (Blizzard Entertainment, for one). If you have one rendering library, adding the second one should not be hard to implement. I remember it took me less than a day because the functions were the same. It just had different render calls within it.
    Last edited by philvaira; 04-18-2009 at 01:38 PM.

  14. #29
    Registered User
    Join Date
    May 2007
    Posts
    147
    If you're wanting cross-platform, use DirectX for Windows and OpenGL for the others. You should have both render paths like most game companies do (Blizzard Entertainment, for one). If you have one rendering library, adding the second one should not be hard to implement. I remember it took me less than a day because the functions were the same. It just had different render calls within it.
    Bravo, yes - and the conflict may then end!

    Pick up Wild Magic, and/or any book by Eberly on that engine (which is a good if not great example of engine design, focusing on the math).

    Specifically, note the design of that engine implements the renderer as an abstraction, such that application code need not be concerned with how things are rendered. Using modern C++ techniques (perhaps more so than in Eberly's library), the 'weight' of this technique can be so minimized that platform independence, with the option of choosing the best of these two even at runtime, is a reality.

    Even WITHIN a target choice (say you're a DX expert and insist upon it) - you have a portability issue! It has been so for many years within Windows, within Unix, and, within OpenGL and DX. You must be in a position to straddle more than one version of any API, and that can mean optional features available in one version must be turned off in another. Portability isn't just about crossing platforms, it's about following a platform forward, too!

    Now, on some popular hand helds, OpenGL ES is all there is.

    On XBOX? Isn't that a non-OpenGL machine?

    When you successfully abstract rendering, it won't much matter anymore.

  15. #30
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    FOr OpenGL's lack of support I'm thinking of starting up with DirectX as opposed to OpenGL.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Going from DirectX to OpenGL
    By Wraithan in forum Game Programming
    Replies: 19
    Last Post: 02-24-2006, 11:07 AM
  2. Allegro, OpenGL.. or even DirectX?
    By Zeusbwr in forum C++ Programming
    Replies: 1
    Last Post: 11-14-2004, 08:16 AM
  3. Which is better: OpenGL or DirectX
    By Stan100 in forum Game Programming
    Replies: 2
    Last Post: 05-09-2003, 04:43 PM
  4. OpenGL 2 or DirectX ?
    By alex6852 in forum A Brief History of Cprogramming.com
    Replies: 9
    Last Post: 01-02-2003, 02:31 PM
  5. So.. what's the difference between DirectX and OpenGL?
    By QuestionC in forum Game Programming
    Replies: 6
    Last Post: 01-19-2002, 06:18 PM