Which API is better?

Discussion in 'Architecture and Products' started by DemoCoder, Oct 21, 2003.

?

Which API is Better?

  1. OpenGL2.0 is more elegant, easier to program

    100.0%
  2. DirectX9 is more elegant, easier to program

    0 vote(s)
    0.0%
  3. Both about the same

    0 vote(s)
    0.0%
  4. I use DirectX mainly because of market size and MS is behind it

    0 vote(s)
    0.0%
  1. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
     
  2. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    Of course,you'll note I never disputed that GL was a better programming environment.. I fully expect DEVELOPERS to prefer GL over DX in that respect.

    And you'll also note, that I've said over and over, from that, it does NOT directly make GL the better environment for consumers.
     
  3. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
    Neither does DX. Programming environments harm or help consumers indirectly only so far as they produce code faster with fewer bugs at a cheaper cost. For example, languages like Java, C#, PHP, Perl, Python, etc accelerate development and reduce many bugs (buffer overflows, memory leaks, null pointer derefs, etc) and thus are a big benefit to ordinary consumers. This BBS is written in such a language, since writing it in C would likely take longer, be harder to customize and maintain, and be more prone to bugs if not written by an ubercoder. It's an indirect benefit to us.

    There are three issues being confused. GL vs DX, and statically linked libraries vs dynamic libraries, plus the problems with using the assembly language as an intermediate format for driver compilers to optimize.

    The potential benefits of dynamic linking or holistic compilers is direct to the consumer. It allows consumers to download new drivers which can improve their existing games.

    People are always talking about how AA and AF are such a good feature (vs T&L, PS3.0, etc) since you can enable them on older games without the game needing a patch, since the driver can force them on. Driver and hardware changes that provide benefits and that don't require any alterations of games from the ISVs (e.g. work "out of the box") have been seen as a universal good on this BBS by the majority. Of course, letting the driver force these features on causes bugs in some games, but I don't see you advocating this feature to be removed and patches from ISVs being required to activate AA and AF.

    The benefits are unrealized as of yet. I assert they are there. I predict that Microsoft will eventually see the light as well.
     
  4. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    Trivia:

    1)What programming model do these demos use, and on which hardware/driver combos do they run?

    2)What's the matter with Far Cry? Why does it need to be patched for NV40?

    3)I've recently heard talks about DX9.0c. Why is this needed?

    4)What's PS2.0b, and what's needed to take advantage of it? How does it differ from PS2.x, and why does it exist?

    5)What's the point in digging this out?
     
  5. Evildeus

    Veteran

    Joined:
    May 24, 2002
    Messages:
    2,657
    Likes Received:
    2
  6. anaqer

    Veteran

    Joined:
    Jan 25, 2004
    Messages:
    1,287
    Likes Received:
    1
    FFS Evildeus, do something with that picture... link it, shrink it, whatever. Having to H-scroll on 1152 is not my idea of fun. :?
     
  7. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    Again, never argued the contrary.

    I've said from day one that there are pros and cons to each approach.

    I don't advocate the option for the end user to force AA / aniso to be removed. I certainly DO advocate ISVs integrate that stuff directly in their games.

    And I predict they may "see the light" at some point in the future as well.

    That doesn't mean "the light" is the right way to go right now.

    ATI eventually saw "the light" and went with a 0.13u process for their high end chips. Doesn't mean nVidia was right at the time (NV30) to go with 0.13u.
     
  8. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    GLSL. Runs on several ATI drivers with official support. No nVidia drivers have official support AKAIK.

    Of course, demos are completely different from commercial games, so not sure of your point.

    You'll have to ask Croteam. I was not under the impression that NV40 needed a patch to run Far Cry with PS 2.0 support.

    Why are new GL libraries needed with every GL update?

    Different compile targets for different hardware, right?

    5)What's the point in digging this out?[/quote]

    Why not?
     
  9. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    The point was that there are drivers available that support GLSL, to a degree that allows using this model. Not sure what "official" is supposed to mean. It's not sanctioned by Microsoft, if that's what you're asking for.
    And I was under the impression that there are certain precision issues on NV40 on certain, specular lit bumpy surfaces in certain indoor locations, that stem from the fact that NV40 was unreleased hardware at the time of shipping. NV40 is run on the wrong code path, or so it seems. Hmmm, code paths ...
    There's also apparently a patch required for Far Cry that enables using the "PS3.0" capabilities of NV40. It's not really required to enable PS3.0, mind. But if you want that, you need a patch. Oh, and you also need a new runtime. I don't know, but I think requiring a new runtime for using new features is somewhat undesirable. You know, end users prefer a static known good environment. They don't like updating drivers'n'stuff. It spoils their experience :D
    I can't answer that question. Noone needs new GL libraries, you just update drivers.
    So you mean different SDKs (implies different application patch levels) for different hardware?
    A shame you didn't pick up the PS2.x red herring ...
    Dunno. I find it somewhat disgraceful to do the "Look mommy, I was right, told you so" thing.

    This is yours:
    Finished wondering yet? Or will you now just dwell on and redefine "decent" until it fits your purposes?
     
  10. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    You mean, the support is so good that nVidia hides it from consumers? (Need to hack the registry to enable it?)

    No, I mean that if a consumer downloads the driver, HSLS support is enabled by default.

    Nope. Still wondering where it is.
     
  11. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    The 60.72 drivers expose it without registry hacks. Damn, you were right, that's not official. My eternal apologies :oops:
     
  12. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    Correct. Who's to say it will be officially supported with publically released drivers?

    And beyond that, if you do want to start talking about the "quality" of the support:

    http://www.beyond3d.com/forum/viewtopic.php?t=11712&highlight=140

    And you might know why it's not "official".
     
  13. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    Meh. Who says NVIDIA official release drivers will support PS3.0?
    NVIDIA did some "embrace and extend" aka deliberate violation of the spec. Have a look here for evidence. Related threads:
    one, two and a poll on the OpenGL.org frontpage :shock:
     
  14. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    I'm pretty sure they'll support HLSL.... :roll:

    Deliberate violations of the spec are necessarily a good thing? Or only if nVidia cards are the only ones on the planet?

    What does that have to do with the 3DLabs parse test program....is that program testing nVidia specific extensions?
     
  15. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    That was a rhetorical question :roll:
    I'm just as sure they will officially support HLSL as I am sure they'll officially support PS3.0.
    No, it's not a good thing, it's actually a bad, evilish kind of thing because it destroys cross-vendor consistency.

    The GLSL test checks whether a shader should compile and compares that to what happens on the actual implementation (ie the currently installed OpenGL driver). There are some shaders included that should not compile, but do so on NVIDIA's drivers. This is a result of the embrace and extend strategy, and you'll see that most voices that have raised so far are against such practices. It's also a reason why NVIDIA's 60.72 drivers score so miserably on the test. They do not conform to GLSL standards.

    All of this is explained in great detail and eloquence in the threads I've linked, so I won't repeat it here.

    The crashes are a different matter, of course.
     
  16. Colourless

    Colourless Monochrome wench
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    1,274
    Likes Received:
    30
    Location:
    Somewhere in outback South Australia
    Nvidia's extension to the GLSL spec are enabled by default which allows people to develop non standard code without even knowing they are doing it. This is VERY BAD.
     
  17. Evildeus

    Veteran

    Joined:
    May 24, 2002
    Messages:
    2,657
    Likes Received:
    2
    Done :)
     
  18. Evildeus

    Veteran

    Joined:
    May 24, 2002
    Messages:
    2,657
    Likes Received:
    2
    zeckensack,
    I didn't find any hard conclusion in those topics.

    BTW on Farcry, it seems also that people don't know how to enable high quality as my SS of NV40 shows.
     
  19. Joe DeFuria

    Legend

    Joined:
    Feb 6, 2002
    Messages:
    5,994
    Likes Received:
    71
    Agreed....

    Is something like this (extending) possible with HLSL? I am under the impression (due to MS front end compiler) that it isn't. And I could've sworn I made arguments about stability across platforms being one particular "pro" for the DX approach...which is lost on GLSL due to the inhernet flexibility of drivers compiling striaght from the shader language...
     
  20. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    What's the point of bringing this thread up again? Didn't care to read through all the new posts, but it seems like we could just have copy'n'pasted a few old pages to get the same result.

    Not sure what point you're trying to prove. It seems obvious to me that I was right. On the DX side we're getting, as predicted, a separate shader specification for every card out there. One for GF3, one for GF4, one for R8500, one for R9700, one for GFFX, one for NV40, one for R420. And all cards have to support all models, even those created to match the competitor's hardware. On the GL side we have stable GLSL support from ATi and nVidia. So far, to my knowledge, nVidia's GLSL support works for all my demos. Don't know the quality of 3dlabs's compiler, but I'm sure it's fine too.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...