Sign in to follow this  
_the_phantom_

OpenGL OpenGL3.0.. I mean 2.2

Recommended Posts

Quote:
Original post by Lord_Evil
Quote:
Original post by Mike.Popoloski
So I just checked, and it turns out we have plenty of room in DirectX and XNA for you guys. You can all come, nobody needs to get left out. Jack is going to make a batch of cookies for everyone!

Yep, I'm also considering coming back to DirectX. Shame on Khronos for making us rely on M$ [crying]


No kidding. I would almost like Microsoft if they somehow made DirectX cross-platform, a crazy thought in itself.

Shame shame ARB.

FlyingIsFun1217

Share this post


Link to post
Share on other sites
Yann L    1802
Quote:
Original post by speciesUnknown
Its nice to know why, but what concerns me is what do we do next? The only alternatives to windows PC's for gaming, without a more up to date OpenGL, is Cider on apple machines, or consoles. For indie game developers, this means XNA, therefore the Xbox. Either way, MS now get a further increased share of the video game market, to the point where the effect of free market competition is non existant.

But what can you do if the only real competitor kills itself with a stunt that would be the digital equivalent of a Darwin Award ?

Share this post


Link to post
Share on other sites
Quote:
Original post by Yann L
Quote:
Original post by speciesUnknown
Its nice to know why, but what concerns me is what do we do next? The only alternatives to windows PC's for gaming, without a more up to date OpenGL, is Cider on apple machines, or consoles. For indie game developers, this means XNA, therefore the Xbox. Either way, MS now get a further increased share of the video game market, to the point where the effect of free market competition is non existant.

But what can you do if the only real competitor kills itself with a stunt that would be the digital equivalent of a Darwin Award ?


Pray for a miracle to happen.

FlyingIsFun1217

Share this post


Link to post
Share on other sites
DaBono    1496
I must admit I've only glanced the spec, but for now I don't get the whole deprecation thing. So, apart from checking which extensions ARE supported, I now also need to check if some parts of the functionality I use are NOT supported anymore? If they're so worried about backwards-compatibility, what would've been wrong with the opengl{1-3}.dll proposed in this thread?

The whole object design they presented looked so clean and useful. Coming up with this after creating such anticipation is just plain stupid. If they knew this was what they would come up with, being so secretive till now just makes the anti-climax worse.

Share this post


Link to post
Share on other sites
OpenGL_Guru    104
Quote:
Original post by V-man
This is why they say GL is for CAD. D3D is for games.


and other opengl applications that people use and develop all over the globe that run not only on windows, but also on linux and mac.

Share this post


Link to post
Share on other sites
Mike.Popoloski    3258
Quote:
Original post by OpenGL_Guru
Quote:
Original post by V-man
This is why they say GL is for CAD. D3D is for games.


and other opengl applications that people use and develop all over the globe that run not only on windows, but also on linux and mac.


At this point these people are thinking to themselves "Why am I forcing myself to use this torturous, outdated API just so that I can tap into less than 15% of the market?"

Share this post


Link to post
Share on other sites
OpenGL_Guru    104
Quote:
Original post by Mike.Popoloski
Quote:
Original post by OpenGL_Guru
Quote:
Original post by V-man
This is why they say GL is for CAD. D3D is for games.


and other opengl applications that people use and develop all over the globe that run not only on windows, but also on linux and mac.


At this point these people are thinking to themselves "Why am I forcing myself to use this torturous, outdated API just so that I can tap into less than 15% of the market?"


oh yeah also forgot portables via OpenglES and the PS3.

Share this post


Link to post
Share on other sites
Cypher19    768
Quote:
oh yeah also forgot portables via OpenglES and the PS3.

While I can't speak on GL ES (AFAIK, it actually has been getting relatively radical updates), on the PS3, not many people do use GL ES. Instead, they typically just write to the command buffer directly, since it's just that much faster.

Share this post


Link to post
Share on other sites
Promit    13246
OpenGL|ES is a separate standard and problem from OpenGL, not that it matters in this context since the PS3 doesn't use OpenGL|ES. Sony provides an implementation for it that sits above the native API -- you could do the same for any other API, that one just happens to come with the package. Nobody uses it though, it's slow compared to the native interfaces.

Share this post


Link to post
Share on other sites
rick_appleton    864
Well, after a quick skim through the deprecation list, the API seems to have gotten quite a cleanup, if that forward-compatible profile really works. The 'fast path' should be easy to hit, since all data has to be in VBOs, and you have to use shaders. So at least that's there, and I know I'll be playing around with it when drivers are released.

But yes, dropping the objects was a bad idea.

Share this post


Link to post
Share on other sites
Scourage    1198
I got my reply from khronos (you can email them too at gamedev@khronos.org) about what happened. My questions were answered with a question and some marketing fluff. Again, epic fail. Somebody from Khronos or the ARB needs to stand up and take responsibility for the bait and switch.

The problem with an api that doesn't mature with the hardware is that it will no longer be used, then no longer updated and then eventually be forgotten. The need for a up to date cross platform API is important to prevent vendor lock-in, which in the long term is always bad thing for the computing community. Healthy competition also makes all products better. DX9 is worlds better than DX3 due to OpenGL competition.

The ARB needed to look at this API with a software darwinism approach and evolve it. The people who couldn't be pleased with a new approach can continue to use the old API until it is no longer implemented by the ISV.

Bob

Quote:

Barthold will be hitting on some of those topics at the BOF. It would be premature for me to relay any details about the current state of work on improved object model and API, other than to say that addressing long standing warts in the current API is still important to us and an active topic of work.

I'd like to hear about which features or capabilities are missing, since adding capabilities in a standardized way, was one of the higher priorities in the development of the current 3.0 spec. (Another high priority was marking very carefully which features are going to be dropped in upcoming releases, which will simplify drivers and improve performance)


On Aug 11, 2008, at 9:34 AM, Bob Holcomb wrote:

> I am disappointed with the lack of advancement made by the ARB and Khronos. As an independent developer for cross platform visualization and games, OpenGL is my only option for 3d accelerated rendering. Where is the 3.0 spec that was promised a year ago? Where is the clean, updated API and the object model that was promised? Why all the secrecy for the last year? It doesn't look like anything was really done. There is a lot of explaining to do.
>
> Bob Holcomb

Share this post


Link to post
Share on other sites
dmatter    4826
Perhaps the projected lifetime of the OpenGL3.0 standard had become so short, in the face of true GPGPU, that they decided to just nail together a semi-malleable standard over OGL2.1 to cover it and then concentrate on OpenCL for the future?

I was really looking forward to objects though, so I'll stick to my D3D10 a-thank you.

Share this post


Link to post
Share on other sites
OrangyTang    1298
Oh dear, I wasn't expecting it to be great, but this is just poor, poor work. They've thrown out all the good stuff they had promised in the newsletters and basically just made a bunch of functionality core.

The BOF should be interesting, hopefully people will actually call them out on their bullshit because they're obviously incompetant.

Share this post


Link to post
Share on other sites
Ravyne    14300
Agreed to most of the sentiment here. I've been waiting anxiously for the new API and this is a big letdown, and the year of silence in the face of such massive under-delivery is inexcusable. I've said many times here that I had faith that Khronos, given the excellent job they've done on ES and Collada (among others), and the new ARB could right the OpenGL ship; yet here I stand with the proverbial egg on my face.

That said, maybe catering to the CAD crowd, with enterprise-class concerns -- stability, legacy support, some otherwise obscure features, etc -- and the entertainment and multimedia crowd, with consumer-class concerns -- speed, fast iteration and cutting-edge features -- is not the best idea.

Even if for no technical separation of concerns (after all GL has successfully catered to both audiences in the past) at least separating market concerns would allow both sets to evolve on their own path without being chained to the other, similar to how OpenGL|ES is free of much of the GL legacy. In fact, taking OpenGL|ES 2.0 as a base, adding all the object-model changes that had been planned for 3.0, and support for more recent hardware features would be a pretty decent stab at a games and multimedia-centric API for the desktop PC, maybe it could even be made an OpenGL|ES profile similar to SC, or all the OpenSL variants.

Share this post


Link to post
Share on other sites
Lord_Evil    680
Just another thought (although I must admit I didn't read all the posts): What is the alternative to OpenGL when it comes to DX10-like features on OSes other than Vista? I don't know any.

Share this post


Link to post
Share on other sites
Spoonbender    1258
Quote:
Original post by rbarris
3.0 could be looked at as the last fully upward compatible revision of OpenGL; since it introduces a deprecation model allowing for the phased elimination of obsolete API's (a set of which are already defined in the spec). The intent there is to provide for an orderly simplification of the specification and drivers for upcoming releases, the next of which is scheduled for less than 12 months from now.

Yeah, and what good does intent do anyone?
A year ago, Khronos intended to give us a new, cleaned-up API, didn't they?

Why on Earth should we expect the situation to have changed next year? Or two years from now? 15 years? It doesn't matter. Deprecation hardly ever means anything other than add a few extra words into the specification.

Next year, old CAD apps will *still* use the same GL code, deprecated or not. Next year they'll complain just as much if you drop support for 15 year old functionality that should never have been added in the first place.

Be logical. The so-called rationale for ditching the "real" GL3.0 was that old existing CAD codebases *refuse* to update to a completely new API. So where exactly is the incentive for them to prepare to do so now? They've just proven that they can effectively freeze the API. Wanna guess at how much development time they're going to throw at "updating our codebase to not use deprecated OpenGL features" over the next year?

Why would they bother? What does that buy them? Isn't it easier for them to do the same next year, saying "You can't remove this, we still use it"?
No, the deprecated features won't be removed. Not now, not next year, not ten years from now. And the API won't be cleaned up. There's no real incentive for doing so, is there? Not for CAD people. Not for the ARB. And game developers aren't important.

Why should anyone care that the next revision is scheduled for "less than 12 months from now"?
First, GL3.0 is way overdue, so why shouldn't 3.1 or whatever be delayed as well?
And second, even if it's out on time, what is there to look forward to? Inclusion of two more extensions into the core?
It seems to me that what you're saying is that "two years from now, we'll have another big nothing ready".
Gosh, can't wait.

Quote:

BTW we have set up a mail reflector specifically for questions and suggestions specifically relating to game development using OpenGL 3.0 - if there is some piece of hardware functionality not addressed by the current 3.0 spec, now is exactly the right time to let us hear about it.

I thought a year ago would have been "exactly the right time" to ask for feedback. But apparently that's not how the ARB works? Fail to deliver *first*, and ask for feedback once it's too late to make changes?
Why exactly is it exactly the right time to let you hear our questions? What are they going to achieve *now*?

Actually, I do have a question. Why should anyone write an OpenGL application today? if I have a 15-year old one, then sure, it makes sense to use OpenGL, because I know that I can keep using the same code for the next 30 years. But that's not exactly a strategy that's going to boost the popularity of OpenGL, is it? Scare away all new projects, and try to hold on to existing ones?

That is what amazes me the most about this fiasco. It's not just "CAD is more important than games" (which is arguable), but it seems to be a much more basic case of "old, existing OpenGL applications are more important than new ones". It doesn't matter that no one starts new OpenGL projects, as long as we can keep the existing ones happy.
That's not the most forward-looking strategy I've heard. I'd be hard pressed to think of another organization or company that actively decided that "gaining bigger marketshare isn't important!"

Quote:
Original post by Yann L
But what can you do if the only real competitor kills itself with a stunt that would be the digital equivalent of a Darwin Award ?

Actually, that seems like it would be one of the better outcomes. As long as OpenGL lives, it seems it'll be the same mess it is today.
If it were to really kill itself, what then? Obviously, non-Windows platforms need some kind of access to 3d rendering, so a new API would have to be created.
Of course, OpenGL actually dying is pretty unlikely (more likely, it'll just hang around like the mess it currently is), but *if* it were to disappear completely overnight, something new would have to be created. And that might not be such a bad outcome.

Quote:
and other opengl applications that people use and develop all over the globe that run not only on windows, but also on linux and mac.

So what you're saying is, OpenGL is for platforms where you don't have a choice. [grin]

Share this post


Link to post
Share on other sites
Toji    535
Complete and utter Fail. I stopped reading the spec the moment I saw "Vertex3f".

That's it. I'm done. There's nothing to even have faith in anymore. OpenGL is dead, Long live DirectX.

Share this post


Link to post
Share on other sites
Yann L    1802
Now in all that atmosphere of doom, there might actually be a little ray of hope after all...

May I direct your attention onto This 'little' extension here. This (well, monstrous) extension probably leaves quite a few people scratching their heads. But in the light of recent events, it actually makes much more sense. In fact, this thing could allow the implementation of the very object model that was ditched in OGL3.0, without the overhead of the obsolete binding state model ! Assuming it is well supported and uses a fast path (ie. it circumvents the internal bind logic of the driver), one could think about implementing a pretty efficient high level object model oneself on top of it.

Also note (emphasis added):
Quote:

This extension trivially interacts with NV_texture_cube_map_array

Hmm...

Share this post


Link to post
Share on other sites
Mike.Popoloski    3258
To be fair, Microsoft has been putting an amazing amount of effort into its game development libraries across the board, and essentially giving them all away for free. The only thing you need to "give up" in return is to use one of their OSes (which isn't such a big deal when you look at their 80%+ marketshare).

Of course, it remains to be seen how this changes, if at all, when it becomes apparent that OpenGL isn't being used extensively anymore.

Share this post


Link to post
Share on other sites
rbarris    635
Quote:
Original post by Yann L
Now in all that atmosphere of doom, there might actually be a little ray of hope after all...

May I direct your attention onto This 'little' extension here. This (well, monstrous) extension probably leaves quite a few people scratching their heads. But in the light of recent events, it actually makes much more sense. In fact, this thing could allow the implementation of the very object model that was ditched in OGL3.0, without the overhead of the obsolete binding state model ! Assuming it is well supported and uses a fast path (ie. it circumvents the internal bind logic of the driver), one could think about implementing a pretty efficient high level object model oneself on top of it.


I didn't notice that extension had appeared in the registry yet. Certainly that is one path that is an incremental evolution of the API, that resolves some long standing warts in the flow of the API without ditching the whole thing (as LP was going to do).

Share this post


Link to post
Share on other sites
Yann L    1802
Quote:
Original post by rbarris
I didn't notice that extension had appeared in the registry yet. Certainly that is one path that is an incremental evolution of the API, that resolves some long standing warts in the flow of the API without ditching the whole thing (as LP was going to do).

Well, I'm a little less mad now. A little.

It all depends on how well all that will be supported by the individual IHVs. Especially AMD and Intel, obviously. Otherwise, it doesn't really make much sense.

Share this post


Link to post
Share on other sites
jpetrie    13104
Quote:
Original post by Mike.Popoloski
To be fair, Microsoft has been putting an amazing amount of effort into its game development libraries across the board, and essentially giving them all away for free. The only thing you need to "give up" in return is to use one of their OSes (which isn't such a big deal when you look at their 80%+ marketshare).

Of course, it remains to be seen how this changes, if at all, when it becomes apparent that OpenGL isn't being used extensively anymore.


As a D3D user, what concerns me the most about this GL3 development is -- as has been mentioned, or at least touched upon -- the lack of competition. Not that GL has been much in the way of competition recently, but in general competition produces better products on both sides. This move by the ARB basically suggests to me that they don't care about producing something that remains competitive with D3D (or that they simply don't know how). I've no worries for D3D10, 11 or 12, as they're solid APIs. But eventually the lack of competition may cause the API to stagnate.

And by the same token it may be very difficult for a newcomer API to break in and the support required to take off.

I feel really sorry for the guys who don't have an alternative to GL.

Share this post


Link to post
Share on other sites
Spoonbender    1258
Quote:
Original post by Oluseyi
It's not the number of apps that matter; it's the size of the market that these apps cater to. What would you estimate is the annual revenue from this "small handful of old CAD apps" (like AutoCAD 2009, released way back in the dark days of March 2008)? This was a US$ 1 billion market in 1979; in 1997, PDM - just one facet of the PLM approach generally employed by modern CAD solutions - was a $1.1 billion market by itself.

I understand the game developer's frustration - I was just about to start learning OpenGL for the Mac, and I still will - but let's not get ridiculous. CAD is a huge industry: every architecture firm, every electrical firm, every large-scale manufacturer, the automotive industry, product design, industrial design... They are a major client of OpenGL, and their perspective is an important one.

Yeah, true. But it doesn't even seem to be a choice of "CAD over games".
Wouldn't *new* CAD software be just as keen on the "real" OpenGL 3.0 as we are/were?
I mean, if you were to start developing some CAD software today, what would you gain by having access to this 15 years old API?
So it doesn't seem to be "CAD over games", but rather just "No new software, please. We'll stick with what we have. Don't lower the barrier of entry, and don't do anything to make the platform attractive to those who have an actual choice".

That's what seems so stupid. If it was just that they decided to focus on CAD software, then they'd have a clear focus and direction, and while OpenGL4.0 obviously wouldn't be everything game developers wanted, it'd at least be able to cater to *one* market.

It's not even doing that. It's catering to the subset of the CAD market which is "companies that already have large OpenGL-based products on the market don't plan to start developing a new codebase, for existing or new products"

Quote:
Now in all that atmosphere of doom, there might actually be a little ray of hope after all...

That does look interesting. Thanks for that. :)

Anyway, I guess apart from the disappointment, it doesn't really make that much of a difference. I mean, those who target non-Windows platforms still have to use OpenGL, and it's not actually worse than it was a year ago. Just not getting progressing much either.

And those who target Windows platforms already used Direct3D as much as possible.
As said above, a lot of us were mostly just hoping for a bit more competition. I'd hoped that OpenGL would become a viable alternative to DirectX, rather than just "what you use if DirectX isn't available on your platform".

Share this post


Link to post
Share on other sites
elFarto    206
Quote:
Original post by Yann L
May I direct your attention onto This 'little' extension here.

Well, that certainly takes the sting out of the API.

A couple of things I've notice though, still no good vertex array/VBO handling, you need to set it up everytime.

The last line is interesting:

"The EXT_direct_state_access driver is +2.5% larger."

Seems this already exists.

Regards
elFarto


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • By povilaslt2
      Hello. I'm Programmer who is in search of 2D game project who preferably uses OpenGL and C++. You can see my projects in GitHub. Project genre doesn't matter (except MMO's :D).
    • By ZeldaFan555
      Hello, My name is Matt. I am a programmer. I mostly use Java, but can use C++ and various other languages. I'm looking for someone to partner up with for random projects, preferably using OpenGL, though I'd be open to just about anything. If you're interested you can contact me on Skype or on here, thank you!
      Skype: Mangodoor408
    • By tyhender
      Hello, my name is Mark. I'm hobby programmer. 
      So recently,I thought that it's good idea to find people to create a full 3D engine. I'm looking for people experienced in scripting 3D shaders and implementing physics into engine(game)(we are going to use the React physics engine). 
      And,ye,no money =D I'm just looking for hobbyists that will be proud of their work. If engine(or game) will have financial succes,well,then maybe =D
      Sorry for late replies.
      I mostly give more information when people PM me,but this post is REALLY short,even for me =D
      So here's few more points:
      Engine will use openGL and SDL for graphics. It will use React3D physics library for physics simulation. Engine(most probably,atleast for the first part) won't have graphical fron-end,it will be a framework . I think final engine should be enough to set up an FPS in a couple of minutes. A bit about my self:
      I've been programming for 7 years total. I learned very slowly it as "secondary interesting thing" for like 3 years, but then began to script more seriously.  My primary language is C++,which we are going to use for the engine. Yes,I did 3D graphics with physics simulation before. No, my portfolio isn't very impressive. I'm working on that No,I wasn't employed officially. If anybody need to know more PM me. 
       
    • By Zaphyk
      I am developing my engine using the OpenGL 3.3 compatibility profile. It runs as expected on my NVIDIA card and on my Intel Card however when I tried it on an AMD setup it ran 3 times worse than on the other setups. Could this be a AMD driver thing or is this probably a problem with my OGL code? Could a different code standard create such bad performance?
    • By Kjell Andersson
      I'm trying to get some legacy OpenGL code to run with a shader pipeline,
      The legacy code uses glVertexPointer(), glColorPointer(), glNormalPointer() and glTexCoordPointer() to supply the vertex information.
      I know that it should be using setVertexAttribPointer() etc to clearly define the layout but that is not an option right now since the legacy code can't be modified to that extent.
      I've got a version 330 vertex shader to somewhat work:
      #version 330 uniform mat4 osg_ModelViewProjectionMatrix; uniform mat4 osg_ModelViewMatrix; layout(location = 0) in vec4 Vertex; layout(location = 2) in vec4 Normal; // Velocity layout(location = 3) in vec3 TexCoord; // TODO: is this the right layout location? out VertexData { vec4 color; vec3 velocity; float size; } VertexOut; void main(void) { vec4 p0 = Vertex; vec4 p1 = Vertex + vec4(Normal.x, Normal.y, Normal.z, 0.0f); vec3 velocity = (osg_ModelViewProjectionMatrix * p1 - osg_ModelViewProjectionMatrix * p0).xyz; VertexOut.velocity = velocity; VertexOut.size = TexCoord.y; gl_Position = osg_ModelViewMatrix * Vertex; } What works is the Vertex and Normal information that the legacy C++ OpenGL code seem to provide in layout location 0 and 2. This is fine.
      What I'm not getting to work is the TexCoord information that is supplied by a glTexCoordPointer() call in C++.
      Question:
      What layout location is the old standard pipeline using for glTexCoordPointer()? Or is this undefined?
       
      Side note: I'm trying to get an OpenSceneGraph 3.4.0 particle system to use custom vertex, geometry and fragment shaders for rendering the particles.
  • Popular Now