Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 8 of 63 FirstFirst ... 6789101858 ... LastLast
Results 71 to 80 of 623

Thread: The ARB announced OpenGL 3.0 and GLSL 1.30 today

  1. #71
    Intern Contributor
    Join Date
    Nov 2002
    Location
    Austin, Texas
    Posts
    50

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 tod

    Re: http://www.opengl.org/registry/specs...ate_access.txt
    funniest thing i've seen all day.
    OpenGL extension specifications aren't generally contenders for the designation "funniest thing I've seen all day."

    I'm clearly going to have to re-read it again; I must have missed the funny part.

    every function that relies on a client selector gets a new entry point.
    That's certainly the gist of the extension.

    Saying "client selector" isn't quite right however. Just one selector is client state (glClientActiveTexture); all the others are technically considered OpenGL server state.

    And while most of the functions introduced are new, when a suitable indexed version of a function existed, such as using glEnableIndexedEXT for glEnable(GL_TEXTURE_2D), the existing indexed function was used instead of introducing a new one.

    I hope this helps.

    - Mark

  2. #72
    Senior Member OpenGL Pro sqrt[-1]'s Avatar
    Join Date
    Jun 2002
    Location
    Australia
    Posts
    1,000

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 tod

    I should also add that one of the things I think I will miss is this community - I don't know of any other technical forum that has the character and the relevancy as this one.

  3. #73
    Junior Member Regular Contributor
    Join Date
    Jul 2007
    Location
    Alexandria, VA
    Posts
    211

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 today

    Thus, prioritization was needed, and we made several decisons.
    I didn't see a number associated with your decision to keep all decisions from the public. We would still complain but it definitely would have staved off this bomb.

    I even see a tiny bit of hope: It only took you one day to "prepare" the purple colored spec which already gives more insight into at least the real changes from 2.1. But we're still missing the back story on a lot of the decision making processes. "Profiles" seem nice in a fun world of incompatibility but relying on the ARB for them? Funny!

  4. #74
    Senior Member OpenGL Pro Ilian Dinev's Avatar
    Join Date
    Jan 2008
    Location
    Watford, UK
    Posts
    1,270

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 tod

    I'd have given GL3 a chance if these 3 features (which do exist in hardware) weren't butchered:
    - alpha-test. Ok, can be put in the shader. Fork the shader in two. SM4 and SM5 cards will need to generate a second shader for this?
    - GL_CLAMP on texture-wrapping. Again can be put in the shader, and may be caused again by SM4 and SM5 cards' limits.
    - wide lines. Uhoh. So-long, green grass, explosion/fast-particles gfx, perfectly-antialiased edges, and future creativity.

    Wide lines can't be created optimally, especially when there's no geometry shader. And afaik, CAD apps do need them.

  5. #75
    Junior Member Regular Contributor
    Join Date
    Jul 2007
    Location
    Alexandria, VA
    Posts
    211

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 today

    OpenGL extension specifications aren't generally contenders for the designation "funniest thing I've seen all day."
    I found issue #27 quite amusing: What feedback has Id Software given on this extension?

    Carmack: "This should have happened a long time ago."
    Cass: "It's a lot of entry points. Can this be put into numerical terms?"

    That summed up the extension for me. Korval nailed it: It doesn't really matter until it's core because ATI/Intel won't support it. But hey, go get 'em nvidia.

  6. #76
    Super Moderator OpenGL Guru dorbie's Avatar
    Join Date
    Jul 2000
    Location
    Bay Area, CA, USA
    Posts
    3,941

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 today

    This situation is a bit of a tragedy. If anyone here thinks that the big players can't wait to throw out the legacy cruft in the spec then they're sorely mistaken. Read the deprecation model section in the spec. They're itching to get rid of this crap.

    Look at how clean OpenGL ES 2.0 and the associated glslang is.

    It suspect it was excessive caution over how developers might react that stopped this happening and it looks like it backfired big time.

    Apply the deprecation to this and it's pared to the bone & very like OpenGL ES 2.

    As for the driver rewrite, drivers have already been rewritten many times over, the biggest part of your driver is geared towards cached index array rendering and shader compilers, and the compilers are on their 5th generation or so.

    You don't need a rewrite to throw the cruft out. For almost all implementations the fixed function state driven engine sits there as a code stitcher that you can throw away, hardware forced this a LONG time ago. The legacy data wrangling is software.

    Oh and Larabee? I think we have a Godwin's law for graphics now, relating to the time it'll take some bullshitter to bring up Larabee in any discussion on graphics as the solution to the problem.

    The perception here is the reality, I hope someone stands up at the BOF and says we're going to have 3.1 in a month and it'll excise every deprecated feature in this spec, and make objects core, naming your own handles is deprecated anyway.

    Clean 3.1 drivers could probably be pushed out inside a month from a 3.0 driver, they should just do it ASAP and make today look like a bad memory, if it's not too late.

  7. #77
    Member Regular Contributor
    Join Date
    Apr 2006
    Location
    Irvine CA
    Posts
    299

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 today

    The very point of the forward compatible context mechanism in 3.0 is to allow the developer to operate their app in a mode where deprecated functions are disabled (for use as a porting tool).

    So at a point in time where GL 3.0 drivers are available, if you are thinking of updating your app for the anticipated post-3.0 release where deprecated functions are actually removed - you can start that work using 3.0 and see it run.

    Some implementations may actually realize performance benefits in that mode since elimination of legacy functions can also lead to elimination of state tracking for those functions.

  8. #78
    Super Moderator OpenGL Guru dorbie's Avatar
    Join Date
    Jul 2000
    Location
    Bay Area, CA, USA
    Posts
    3,941

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 today

    Yes, but from the spec you have to discern the intent before you know what the hell is going on. Which has led to this political disaster. You need to put a stake through the heart of that 2.x cruft by releasing a 3.1 spec ASAP that makes it clear this stuff is gone. Not *might* be gone in some future release, but end of life, pining for the fjords. Start potring or die. GONE in the next revision.

    From aesthetic and educational purposes alone it's justified.

  9. #79
    Junior Member Regular Contributor
    Join Date
    Jan 2005
    Posts
    182

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 tod

    Quote Originally Posted by barthold
    3) We decided to provide a way to create a forward-compatible context. That is an OpenGL 3.0 context with all deprecated features removed. Giving you, as a developer, a preview of what a next version of OpenGL might look like. Drivers can take advantage of this, and might be able to optimize certain code paths in the forward-compatible context only. This is described in the WGL_ARB_create_context extension spec.
    Will there be a GL3-without-the-deprecated-stuff spec?
    Will there be a GLX_ARB_create_context? If yes, when?

    Philipp

  10. #80
    Senior Member OpenGL Guru
    Join Date
    Mar 2001
    Posts
    3,576

    Re: The ARB announced OpenGL 3.0 and GLSL 1.30 tod

    We set a goal of exposing hardware functionality of the latest generations of hardware by this Siggraph. Hence, the OpenGL 3.0 and GLSL 1.30 API you guys all seem to love
    Well that failed pretty miserably, didn't it.

    D3D 10 had one major defining feature: geometry shaders. Oh, it had other stuff to be sure. But that was the "big deal" of D3D 10; it was the main thing that differentiated it from D3D 9.

    So, where are they in OpenGL "3.0"? Oh, an extension? How is that different from yesterday?!

    If GL "3.0" doesn't even have the most widely mentioned (if not entirely useful) feature of D3D 10, how can you possibly say that you met the goal of "exposing hardware functionality of the latest generations of hardware?" Or do you expect partial credit for half-finished work?

    GL "3.0" fails on two levels. It fails to do what Longs Peak was supposed to. And it fails to do what a regular core revision was supposed to (add support for new hardware).

    Second, a future revision of the core spec will actually remove the deprecated functionality.
    Longs Peak was the second effort to remove functionality from OpenGL, to modernize the API. It failed. I would make an entire list of the failures that the ARB has perpetrated on OpenGL, but I don't think this web page is long enough.

    I would love to hear one reason, just one good reason, why we should trust anything the ARB has to say about removing functionality from OpenGL. Or anything for that matter.

    There is no trust relationship between OpenGL users and the ARB anymore. The only thing we can trust the ARB to succeed at is spectacular failure.

    An API that does not expose hardware capabilities is a dead API.
    An API that doesn't provide a proper hardware abstraction isn't exactly lively either.

    In January 2008 the ARB decided to change directions.
    So, when was it decided that you would tell us nothing about it? I'm guessing that it was at the same meeting, but it'd be nice to have confirmation on that.

    Those kind of issues were taking a lot of time to decide.
    Oh, I imagine they were. I considered the options myself, just from the scraps of info that the ARB released. They're tough.

    However, there's one very important thing that you guys failed to get: we don't care that much. You had the big things covered. If the little details were taking a lot of time, then you simply get both sides to deliver a position paper on the subject, take a vote, and have both sides agree to accept the results.

    People weren't going to abandon GL 3.0 if it caused some minor inconvenience, like a proliferation of state objects. And because the API was object-based, if you made some poor decisions, you could always fix them by introducing a new object (of the same "type") that fixed the problem.

    Basically, you're saying that the ARB would rather fail spectacularly than largely succeed and possibly have some small failures.

    Take the C++0x Working Group as a proper example of how these things get done. There was a proposal about "uniform initialization". It was proceeding well, getting input from contributers, and so forth. Then, someone realized that it effectively made "explicit" meaningless. There was a big argument, because part of the intent of having uniform initialization is that it works the same all the time, and explicit gets in the way of that. One side wrote a big paper supporting his side. The other side wrote a paper supporting their side. A vote was taken. One side won, the other lost. Everyone accepted the outcome and moved on towards a C++0x specification.

    If they were the ARB, by the way you describe the "process", then the two sides would have kept arguing for months until there was no time to get the proposal in any form into the spec, and thus it would be cut. That's not acceptable.

    However, there are a class of developers for which this would have been a, potentially very large, burden. This clearly is a controversial topic, and has its share of proponents and opponents.
    Yes, but the overriding concerns outweigh any of those arguments: OpenGL is too complicated a spec for someone to reasonably implement and maintain without excessive effort. That is, more effort than it is really worth. That was the #1 reason that Longs Peak was started to begin with. To make an OpenGL that would be much more implementable and maintainable.

    Since that was design goal #1, it automatically trumped all other concerns. In a disciplined design setting, suggestions that would go against the primary design goal of the whole thing would be thrown out a priori, because such concerns would have already been listened to back when it was decided to embark on the process.

    That will make the spec easier to write, read and understand, and drivers easier to implement.
    Wow, hey, I remember the ARB talking about something that would make the spec simpler and make drivers easier to implement. What happened to that? Oh yeah, you decided not to. Twice!

    Is the whole "lack of trust" thing starting to sink in? Fool me once, same on you; fool me twice, shame on me.

    Hopefully you'll agree with me that there's quite a lot of new stuff to be excited about.
    See, it's funny. We had access to all of that yesterday, through extensions and whatnot. Others of us had D3D10 that we could have used to access those same features.

    OpenGL 3.0 wasn't supposed to be about functionality; it was about form. We were supposed to have an API that could run on R300/NV30 hardware, that was simple enough to implement to actually trust that Intel would do so, and so on. That was what got people excited about GL 3.0, and it's gone now.

    Is GL "3.0" going to help OpenGL users get better drivers? No; in fact, with all the added complexity of profiles and so forth, drivers will be worse than ever. Will it remove needless overhead? No; you still have to use object names (which requires a mapping table and other overhead to use), and you still have to bind them to change them (experimental extensions not withstanding).

    In short, nothing that was ever promised with OpenGL 3.0 came to pass.

    We can't afford to do it wrong.
    If you can afford to do nothing, then you can afford to do it wrong.

    This is certainly not the end of the OpenGL API. OpenGL will evolve and will become better with every new revision.
    OpenGL as an API is dead, not because of lack of functionality, but because nobody who uses it does so because they want to use it. The only rational reason to use OpenGL over D3D now is because you have to. If you're developing a Linux or MacOS product. Or if you have need of some esoteric feature that other APIs don't support. Or if you've got a poorly written codebase with GL commands everywhere that you can't afford to rewrite. Anyone else who uses OpenGL over D3D is making a statement against Microsoft (and thus not preferring GL), completely ignorant of the alternatives, or simply a fool.

    Nobody uses OpenGL because they like it, outside of a very small number of hobbyists. And that's something that the ARB should have been paying more attention to.

    I welcome constructive feedback.
    A quote comes to mind: "You know, in certain older civilized cultures, when men failed as entirely as you have, they would throw themselves on their swords." That's about as constructive as I can get.

    Eventually, it's time to stop the CPR. It's time to accept the inevitable. Time to type "GG" and accept your shame. Stop trying to breath life into that which is clearly dead. OpenGL was once a proud beast, full of life and vigor. But now it's rabid and has to be put down. Better for it to happen quickly and by those who loved it than to watch it waste away.

    "It's dead, Jim."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •