Announcement

Collapse
No announcement yet.

We need a Campaign for OpenGL Patent Exemptions for OSS, namely Mesa, and Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • elanthis
    replied
    Originally posted by XorEaxEax View Post
    Enough with your bullshit, practically the entire professional 3D content creation market runs on OpenGL
    And they can keep OpenGL. They don't use OpenGL 3, much less OpenGL 4, and use only a fraction of the features of a modern GPU, but good for them I guess.

    and does it extremely well. ID Software uses OpenGL even for it's newest engine id Tech 5, which will obviously be licenced and used in tons of new games.
    id Tech 5 uses Direct3D 9 on PC/Windows, not OpenGL.

    And yes, I've used pretty much every piece of 3d software out there at one time or another.
    How many have you written? Because that's a lot more relevant to the conversation. I have plenty of OpenGL apps that run just fine myself. It's not like I'm saying that OpenGL doesn't work at all and that it can't even render a triangle.

    Many under Linux, and performance and stability has been great using NVidia proprietary driver.
    Neat. I'm glad your personal anecdote is a pleasant one for you. It is only unfortunate that personal anecdotes of "works for me" don't really mean anything at all.

    OpenGL driver bugs are the largest source of support problems for many developers; a complaint I have never once ever heard of regarding Direct3D drivers. One popular Linux-friendly example: http://frictionalgames.blogspot.com/...f-amnesia.html

    You portray such a one-sided argument that it's a god damn travesty.
    So, funny story.

    When I entered into the game industry, I was the same staunch pro-OpenGL Linux fanboy you are. "OpenGL can do everything Direct3D can do!" "OpenGL has extensions so you get more features sooner, and on older plaftorms!" "It's open and cross-platform!" "COM is icky!" "Why write a Direct3D renderer for Windows when you can just write an OpenGL one for both Windows and OS X!"

    Then I actually started having to write OpenGL/GLSL code for large, complex, real-time interactive applications, instead of just sitting around on the Internet telling people that OpenGL is awesome and Direct3D sucks because OpenGL is open and runs on Linux and Direct3D is Microsoft proprietary evilness.

    I was clearly a dumbass before that, because dear god is OpenGL/GLSL a pain in the ass. 95% of your time is just spent figuring out what the NVIDIA driver randomly corrupts your FBOs if Chrome is open, or why ATI drivers compile your entirely correct and specification-compliant GLSL fragment shader without complaint but then execute it incorrectly unless you recombine two support functions back into a single less-flexible function, or why doing instancing the NVIDIA-recommended way on NVIDIA hardware is actually barely faster than not doing instancing at all while the Direct3D version is 10x faster and the non-recommended OpenGL instancing method is at least 4x faster, or why the drivers bother telling you an extension is supported when it's clearly implemented entirely in software and so there's no way to figure out what the fast path in your renderer should be for the current hardware it's running on, etc. etc. etc.

    "Surely," I thought to myself, "this is just the nature of graphics programming, and that silly Direct3D is just as bad. Heck, it's probably worse, because Microsoft is so freaking incompetent at everything they do!"

    Yeah, then I used Direct3D for like 15 minutes and the Sun shown through the clouds, the birds chirped, the townsfolk became friendly, and my socks stopped getting eaten by the dryer.

    OpenGL blows. The end.

    Leave a comment:


  • curaga
    replied
    Originally posted by Prescience500 View Post
    So let's say I wanted to approach someone with an average level of knowledge of computers and tried to persuade them against software patents. Considering that they'd likely be uninterested in technical stuff and that the longer I take to explain it, the less interest they will have, what would I tell them?
    Because of those your mp3 players and external hard drives cost more.

    Leave a comment:


  • Prescience500
    replied
    So let's say I wanted to approach someone with an average level of knowledge of computers and tried to persuade them against software patents. Considering that they'd likely be uninterested in technical stuff and that the longer I take to explain it, the less interest they will have, what would I tell them?

    Leave a comment:


  • XorEaxEax
    replied
    Originally posted by elanthis View Post
    Have you ever used the OpenGL drivers for anything besides an accelerated desktop and a few stupid Quake 3 clones? Even the proprietary drivers?
    Enough with your bullshit, practically the entire professional 3D content creation market runs on OpenGL, and does it extremely well. ID Software uses OpenGL even for it's newest engine id Tech 5, which will obviously be licenced and used in tons of new games. And yes, I've used pretty much every piece of 3d software out there at one time or another. Many under Linux, and performance and stability has been great using NVidia proprietary driver. You portray such a one-sided argument that it's a god damn travesty.

    Leave a comment:


  • deanjo
    replied
    Originally posted by elanthis View Post
    This can certainly be done by an Open Source focused company, like Red Hat or Canonical, who are paying said experts to produce Open code and documentation, but this is not really something a "community" can do in the traditional Open Source Bazaar sense.
    This exactly the part of the community I'm talking about (except for Canonical who don't do much in development anyways). Get your RH/Novells of the world in there. After all it was pretty much one company that drove the openGL movement.

    Leave a comment:


  • elanthis
    replied
    Originally posted by deanjo View Post
    That maybe however in many other areas it can be done.
    There's not that many patents on this stuff, honestly. Pretty much all of them, however, are based on what happens in the hardware. S3TC, for instance. You can go ahead and invent an alternative, but since it won't exist in any hardware, absolutely nobody is going to have even the slightest use for it.

    I fully realize how that works. The open source community could also make the same attempts.
    I'm not so sure. This isn't something where a bunch of hobbyists can pop in and out of the project and scratch an itch here and there. This needs a dedicated set of highly trained and knowledgeable experts to commit full time to communication with the vendors and then react in a timely manner in getting an implementation, test suite, specification, and release put together. This can certainly be done by an Open Source focused company, like Red Hat or Canonical, who are paying said experts to produce Open code and documentation, but this is not really something a "community" can do in the traditional Open Source Bazaar sense.

    Leave a comment:


  • deanjo
    replied
    Originally posted by elanthis View Post
    You apparently don't understand the nature of at least one of these patents. It's on a _fundamental concept_ of all modern computer graphics.
    That maybe however in many other areas it can be done.

    Second, the GL's job is not to innovate. It's to reflect what the hardware is capable of. Despite some common misconception, Microsoft does not just invent new Direct3D versions and then force NVIDIA/AMD to implement hardware for that. Instead, what Microsoft actually does is much more noble: it talks to NVIDIA and AMD, finds out what their future hardware will do, gets some cross-communication going to make sure that the hardware vendors' implementations of similar features are compatible, and then builds an API that reflects that hardware.
    I fully realize how that works. The open source community could also make the same attempts.

    The fact that OpenGL comes out with new features later than Direct3D is NOT due to some foul play on Microsoft's part. It's due to Khronos being utterly fucking useless
    Oh I know that, unlike some here I don't put on a tin foil hat and scream conspiracy for every shortcoming of open source software.

    Leave a comment:


  • elanthis
    replied
    Originally posted by deanjo View Post
    Innovate their own "cutting edge" technology replacement instead of trying to duplicate and get that to become the established standard which would then be protected by prior art.
    You apparently don't understand the nature of at least one of these patents. It's on a _fundamental concept_ of all modern computer graphics.

    Second, the GL's job is not to innovate. It's to reflect what the hardware is capable of. Despite some common misconception, Microsoft does not just invent new Direct3D versions and then force NVIDIA/AMD to implement hardware for that. Instead, what Microsoft actually does is much more noble: it talks to NVIDIA and AMD, finds out what their future hardware will do, gets some cross-communication going to make sure that the hardware vendors' implementations of similar features are compatible, and then builds an API that reflects that hardware.

    The fact that OpenGL comes out with new features later than Direct3D is NOT due to some foul play on Microsoft's part. It's due to Khronos being utterly fucking useless

    Leave a comment:


  • deanjo
    replied
    Originally posted by crazycheese View Post
    So what do you suggest?
    Innovate their own "cutting edge" technology replacement instead of trying to duplicate and get that to become the established standard which would then be protected by prior art. It is the only way one is going to become free of patent laden solutions as long as software patents are allowed or as I said before, fight to make software patents illegal in the first place. Nobody says it will be easy but greater have fallen.

    Leave a comment:


  • elanthis
    replied
    Originally posted by crazycheese View Post
    So what do you suggest?
    Not being totally clueless with a heart full of good intentions and a head full of nonsense might be a good start.

    Using terms like "ClosedGL" is just pure idiocy. If you remove the patented bits, it's not a useful GL anymore. It's just a piece of shit that nobody wants to use. S3TC you can live without, as it's merely a performance tool, but floating point textures are MANDATORY for modern rendering. If Khronos just removed them to be "more Open" it would basically kill OpenGL dead instantly.

    If Khronos wants to do something useful, it needs to WRITE SOME FUCKING CODE.

    Have you ever used the OpenGL drivers for anything besides an accelerated desktop and a few stupid Quake 3 clones? Even the proprietary drivers? They're utter shit. They're buggy to all hell. They break their own documentation. Their extensions change with various releases. Things that work perfectly in the Direct3D drivers work completely broken in the OpenGL drivers for the same hardware from the same driver vendor.

    Why?

    (1) Every vendor reimplement all of OpenGL from scratch, and so they introduce bugs and incompatibilities. Microsoft on the other hand provides the upper layers of DirectX, and hardware vendors supply only the low-level hardware interface and low-level shader compiler bits. There's less bugs and less incompatibilities when everyone is using the same core codebase. Linux has Gallium, but that's just for Linux; Khronos needs to provide an OpenGL implementation akin to Mesa (no hardware drivers, but all the upper/middle layers, shader parser, and a software reference implementation). And then it needs to mandate that implementations are only OpenGL certified if they are compatible 100% with that reference implementation (see point 2 below), and then further mandate that driver implementations are only OpenGL certified if they _do not replace the platform-provided libGL_.

    (2) There is no OpenGL test suite, so there's no way to know if a driver change is going to break anything until after it's pushed out and users start to bitch. Direct3D has a very complete verification suite that Microsoft requires vendors to comply with. Direct3D drivers are broken much, much less often than OpenGL drivers are because of this.

    (3) There are no official OpenGL examples. Learning how to write _correct_ OpenGL code is ridiculously difficult. There are a metric shitload of bad, bad, horribly articles online telling you all kinds of stupid stuff, and a million ancient articles for OpenGL 1/2 that people keep using for new code when half the APIs used in those articles are deprecated (with damn good reason) and removed in the newer Core profiles.

    (4) There are no official OpenGL development tools. gDEBugger is okay, but it's not free, and it is (to quote our resident genius) "just like PIX was before PIX came out with the newer version that made it 10x better than it used to be." In other words, the best tools available to OpenGL developers are lightyears behind the best tools available to Direct3D developers. And those tools really matter.

    (5) The OpenGL API (and all the other Khronos APIs) are fucking ridiculously stupid, error-prone, impossible to multi-thread correctly, rely on overloaded behavior between versions (the glTexture*D functions are crazy!), type unsafe, and basically require warpping up in a Direct3D-like API in order to make them actually usable in an application without incurring ridiculously heavy numbers of state changes. Rewrite them. Break compatibility with OpenGL 5, finally, for the love of God. Introduce a new shading language that has actually usable semantics and doesn't practically mandate the use of NVIDIA's Cg to get anything useful done.

    Imagine that world. A world where the OpenGL implementations are as bug-free as the Direct3D implementation. A world where a new developer can actually figure out how to use OpenGL 3+ with minimal effort. A world where the Mesa developers have an official test suite to develop against. A world where OpenGL actually has a fighting chance of winning the minds and hearts of the throngs of developers who have already seen or used Direct3D 10. That is a beautiful world.

    Leave a comment:

Working...
X