OpenGL Or DirectX

Discussion in 'Game Development (Technical)' started by ProgrammingFreak, Feb 23, 2006.

  1. Sharpfish

    Original Member

    Joined:
    Feb 25, 2005
    Messages:
    1,309
    Likes Received:
    0
    Unfortunately, If I dumped Mircrosoft as much as I can I would only be contributing to the death of my (future) windows based games.

    Direct X? (Check!)
    Visual Studio?(Check!)

    Why? Beacause for the target platform they are the best tools for the job. I use whatever gets the job done and does it better than the competition for a target platform while making my life easier. The story would be different on Mac/Linux of course. I would never limit my possibilities by being a fanatic or inverse fanatic about any technology. Keep your mind open and improve your chances :)
     
  2. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    Yeah, dump the best development tools available. Good idea! What a maroon.
     
  3. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Some of us would take issue with that assertion ;)

    Cas :)
     
  4. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    As good as your Java tools might be, I think you'd be hard pressed to argue that Microsoft's offerings are bad or that someone developing Windows software should avoid them.
     
  5. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    I would be hard pressed indeed, which is why I've not said it :D

    Cas :)
     
  6. Chozabu

    Original Member

    Joined:
    Nov 30, 2005
    Messages:
    30
    Likes Received:
    0
    To me they are bad, because they dont run(natively), or compile apps(natively) on my operating system
    Still, i must admit, the IDE itself is quite nice to work with...
    I think Eclipse+CDT or Codeblocks are very nice alternatives for c++ development though
     
  7. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    Don't skim posts, guys - you'll miss the important bits. It's true - if you're developing on or for Linux or Mac, Microsoft's tools aren't recommended for you.
     
  8. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Thread wandering off topic alert!

    Cas :)
     
  9. ProgrammingFreak

    Original Member

    Joined:
    Oct 22, 2005
    Messages:
    126
    Likes Received:
    0
    Ok they are talking about development tools and stuff, when this is supposed to be about DirectX & OpenGL
     
  10. DragonsIOA

    Indie Author

    Joined:
    Aug 21, 2004
    Messages:
    33
    Likes Received:
    0
    I used OpenGL for my first game, but my current project uses DX9. To me it seemed like GL was slightly easier to learn, but both were fairly easy. However, GL seems to be harder to learn how to use it correctly.

    I switched over for two reasons basically. The first is that at the time support for GLSL was spotty at best, and I didn't want to code different paths for different vendors. With DX9 FX, I only have two code paths (fixed-function and shader). This reason probably isn't an issue anymore but it's too late to look back now :)

    The second is that my game has a resource leak that causes texture problems when you lose the device that I have found almost impossible to track down. It appears to happen totally randomly to a handful of people, and never on my machines. With DX9 you don't have to worry about it since the debug runtime will refuse to reset the device and points out what items weren't released.

    As for cross-platform, it doesn't matter to me since I have no plans to release games for the mac or linux. As soon as Apple releases a version of OSX I can load on my system legally then I'll consider porting everything over :)
     
  11. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    Then you should dump also Mac support, since Microsoft owns Apple under the bench, you knew?

    No, there's something called "realism": I don't want to be a hero without a good enough reason and I don't want to die of hunger either without a good enough reason, yet I do have political views and it's not "all or nothing", there are also many inbetweens that make a lot of sense.
    They have forced Windows down our (users) throats not because of its technical merits, but because of the MS mafia practices. If I followed your suggestion to not develop for Windows because I dislike the company behind it and its practices (like I dislike Sony, Disney and other corporations) I would harm only myself, and without merit either: they've made Windows a monopoly with mob practices, I don't see why I have to die of hunger (since I do programming as a job for me and my family) because of them, I would add unmerited damage (my personal one) to unmerited damage (the damage the whole computer science has got because of MS de facto monopoly).
    Yes, if in my little I can do something that favours an open platform vs a proprietary platform, like using OpenGL (that is perfectly usable, to say the least) vs DirectX, then I definitely do it. Why should I do otherwise? Among the reasons to choose one or the other, there are technical reasons but political ones should have a place as well, not necessarily the biggest one, but should have a place as well. This is true even when you purchase anything.

    If for you it's "all or nothing" then, if you were in my situation, you would have to take a machinegun and kill Gates and Co.?

    No, there're 254 grades of gray between black and white, you know. If you got a better DAC, they're even more than 254.

    And, last but not least, what you call "anti-microsoft nonsense" makes a sense instead for a lot of people, expecially those that existed and programmed and had a CS job long before MS ruined the industry. How many OS's have you programmed for before Windows? Just curious.. how old are you?
     
  12. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    And while VisualC++ is a very good compiler (actually I think the best application MS ever created, and a very decent one as well) development is not all about compilers. For example, debugging and developing OpenGL apps is much much nicer and easier than Direct3D one (even version >=8 that tried to clone OpenGL as much as possible, but failed IMHO).

    Now, I support OpenGL because MS has been and is doing everything to boycott it, in favour of a technically worse product they created without a reason (they should have invested to improve their own OpenGL support instead, also because they were part of the ARB committee). While we, as users and developers, would gain much if standards became stronger and stronger, MS interest is into proprietary stuff and towards monopoly. If that proprietary stuff was vastly superior than the standards, then it would be greatly justified (and hopefully become itself the standard). But it's even inferior, so..

    Now about the compilers: while I fully acknowledge the technical merits of VisualC++ (I can't think of any other MS program which deserves the same comment anyway), and I think it's one of the best (if not the best) compiler available for the Windows platform, I did not buy it (I don't want to make MS richer) but I'm not even forcing myself to use an inferior product: I use the free command line version, just the compiler, not even the stdlib (but that's another story, I need it like a kind of high level assembler as a backend for my own language's compiler).
    Remember, it's not a religious thing. It's not that launching the free version of VisualC++ from the command line I do a sin. It's a much more practical matter. MS needs to not get richer and richer, just this. For now at least and for me. So I'm not contributing into making it uselessly richer than it already is.

    I've never bought a MS OS in my life, the one I have (and I need to develop and test my products for the monopolic OS) is a "surplus" copy of Win2K that came with one of the machines I bought (and that my wife, who's an unaware victim of MS monopoly, uses everyday for Internet (so I keep myself busy removing viruses) etc..). I do a lot of development on different OS's (yes, including Mac and Linux) since my C++ environment is as skinned as it could be, and multi platform, so the development I do on a Windows machine is very little and almost only when strictly Windows related.

    What is most important IMHO for now is to promote OpenGL as much as possible, because of this last attempt of MS to boycott it.

    Do you understand that DX10 will probably be only for Vista, to force you to buy this OS and throw even XP? Do you understand what's behind the TCPA, the so called Trusted Computing (what a lame name BTW, considering how much insecure have always been MS products) and that Vista will probably require a new kind of motherboards and expecially do you understand WHY?

    Windows Vista and DX10 aren't really feature enhancesment but more about full DRM for your OS and games and another attempt by MS to kill OpenGL, just because OpenGL is a) a technically and architecturally superior product b) an open product thus something that improves the users' freedom and progress in general, and thus limits the (already simply shameful) MS profits.

    I also boycott .NET for the same reasons, and I think it's not an interesting platform technically as well (having my own framework over 10+ years of writing modules, I know what I say, and I know I live much better without that .NET desperation).

    We should all be committed to protect OUR freedom, and this is done also through very small battles like actively protesting at MS's plans to cripple OpenGL in Vista, to build new monopolies, and so on.

    Would you like to wake up a day and discover everything you do on your PC is spied by MS, Sony and other big corporations? I would prefer this not to happen, I can't do much, yes, but this is not a good excuse for doing nothing at all IMHO.
     
    #52 Fabio, Mar 2, 2006
    Last edited: Mar 2, 2006
  13. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    By the way, here is an excerpt from one of the links I gave above, which is of secure interest to the Indie developers community (sounds like they're starting now to get you used to $99 certificates so that they'll ask $9999 later):

    Read all the links.. remember: knowledge is freedom, ignorance is slavery.
     
  14. mr n00b

    Original Member

    Joined:
    Sep 9, 2005
    Messages:
    40
    Likes Received:
    0
    1. OpenGL is cloning DX, not the other way around. All modern functionality like vertex buffers, vertex/fragment prorgrams and render to texture has appeared in DX before it appeared in OpenGL. (VertexArrayRange and PBuffers where close to useless IHMO, especially compared to their DX counter parts).

    2. DX comes with tools like PIX (which is like a more powerful version of GDB, but free). It uses a natural object oriented mechanism unlike the one in OpenGL where functions operates on hidden objects (set with glBind*).

    3. GL-functions don't explicitly return any error codes, instead you have to manually call glGetError.

    This is just FUD. The only thing MS is doing is wrapping _their_ OpenGL driver that comes with the OS around DirectX. This means that those who haven't got an OpenGL ICD from their card vendor will at least get hardware accelerated OpenGL 1.4, very good news indeed! (Prinsec will finally be able to reach the 2-3% with broken OpenGL drivers ;) )

    Nvidia and ATI and the likes will still be able to their distribute ICD driver with OpenGL >= 1.4 with vista.

    /mr n00b

    (btw, I'm 30, the first computer I programmed on was a zx-spectrum, I think this was sometime around 1983/84)
     
  15. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    Does nobody else remember the great "Java is slow / no it isn't" debate of last month? There is no arguing with Fabio. He's right, you're wrong, and there is NOTHING on this earth - no facts, no reason, no logic - that will ever sway his confidence in that fact. Your words are like so many rain drops off the tortoise's shell.

    Give it up and move on.
     
  16. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    Savant, why don't you get a life someday, in that same thread of last month you made enough bad figures. Invest the time you used to write your last useless post to instead learn to be at least a bit coherent: you're the one bashing on clones and then your "1 good game" is a Marble Madness clone. How funny can you be?

    You'll never learn.. not me. I can be proved wrong and I accept it gladly, it's just that you aren't capable to convince neither an unweaned child, so don't blame the other end for your lack of valid arguments.
     
  17. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    As you can see, folks, he's totally reasonable. Enjoy!
     
  18. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    At a certain point, Microsoft pushed (with all its power) gfx card manufacturers to support DX more than GL, and thus DX evolved quickier, also because GL needs a committee to evolve, not just one single dictator. During that period, DX certainly evolved quickier than GL, yes, but anyway being the referee and the owner of one of the two teams is not exactly fair play. But with the long-ago-released GL 2.0 I don't see what should I miss from DX that GL doesn't provide anyway.

    Yes, and guess what, GL is much more suited for embedded machines.. DX is overbloated, for a change in MS philosophy. You know, you can write an OOP wrapper around OpenGL and many already exist, just make a Google search, if you feel that need (I don't, at all).

    Never been a problem for me.. and I do extensive error checking wherever it is necessary, and flush the error queue in the key points. What's the problem? You can wrap that if you don't like the simple C style GL way.
    Now having to reload all surfaces when the user presses ALT TAB is not the excellence in design, perhaps. HRESULT checking is much more critical in DX than in GL.

    We have still to see. Even shipping XP with lame GL drivers DOES INDEED HAVE AN EFFECT ON THE MARKET, since a lot of users don't even have a clue about what a driver is. So don't put your head in the sand, I've read that the OEM ICDs will have to be fullscreen, for example, and won't work correctly otherwise. Dunno if it's true but knowing MS I also know they aren't going to make GL development as easy as they should.

    Now I don't want to start another useless flamewar and waste of time: worship Bill and his vision of the world if it pleases you. Not my problem.
     
  19. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    Do you think to be a star that you talk to your audience directly?

    Or you just want to have the last word, like little kids? You're invited to write the next post then.. since it must be really that your driving motivation..

     
  20. Chozabu

    Original Member

    Joined:
    Nov 30, 2005
    Messages:
    30
    Likes Received:
    0
    Ok, it looks to me the best thing for Programming freak to do would implement an opengl rendering system, which is abstract and well seperated from the rest of the program to allow implementation of D3D as an alternative for windowes boxes.
    Or find someone whos alredy done the work for you? (Ogre3D? easewrapper? i expect there are quite a few others)

    However - if you are going for plain OpenGL or DirectX, here are a couple of basic examples:
    OGL: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02
    D3D: http://www.drunkenhyena.com/cgi-bin/view_cpp_article.pl?chapter=2;article=22

    Those are basic examples of each, not a decent comparasion, but checking the rest of both sites is a great starter...

    Also, is it an issue if OGL is copying D3D, or vice versa(or both copying aspects of the other...)? its more the current(and upcoming) state of each, is it not?
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer