IHVs can start implementing EGL on desktop as an experimental project, maybe later name it DGL. This should not hurt or cause any damage to anyone. However it will probably have some harm to other competing APIs.
IHVs can start implementing EGL on desktop as an experimental project, maybe later name it DGL. This should not hurt or cause any damage to anyone. However it will probably have some harm to other competing APIs.
If you're referring to Direct3D then no. Because whether EGL, WGL or a hypothetical DGL - none of them do actually compete with anything. They're interfaces to the window system of the underlying platform. On Windows it'll simply live alongside the stuff you need to use Direct3D. Nothing more - nothing less.However it will probably have some harm to other competing APIs.
You missed the point, making it convenient to access the 3D API. Lets wait till it gets implemented.If you're referring to Direct3D then no. Because whether EGL, WGL or a hypothetical DGL - none of them do actually compete with anything.
... EGL on desktop.... EGL.. shudders...
I am not saying that wgl is better than egl.. but... EGL still sucks. For context creation, it lacks an analogue of the control granted by wgl/glxCreateContextAttribs. It's EGLConfig stuff is irritating to use: the EGL Configs have color bit depths, and one needs to make sure the color bit depth one chooses matches with the render target (i.e. for example for a window, that window's bit depth). Why on Earth EGLConfig did not simply allow one to pass a handle to the window (or offscreen buffer) and then give only those configs that work with that window I would like to know.
As a side note, the most popular _device_ family, Apple's iOS, does not use EGL. Android does though, and it sucks to deal with it.. along with Meego (which is practically dead)...
Wishful thinking. Like it or not, OpenGL absolutely has to go through a layer that interacts with the underlying windowing system. There's no way out of that, and it's nothing to do with Microsoft or nothing to do with API wars - even D3D has to do likewise (these days DXGI, in the old days DirectDraw, with D3D8 and 9 being aberrations where this layer was merged into the API).
Best case option is that a vendor and platform neutral wrapper can be specified and made official, but you're not going to get any better than that, it'll still be a wrapper, and more discerning programmers will still use the underlying layer natively in order to get maximum control and flexibility.
There's nothing inconvenient about accessing the API currently. It may be ugly but it's not inconvenient - look at some D3D7 code if you want to see what real inconvenience looks like. Create a context, get your entry points, figure what capabilities you have and get busy doing productive stuff. Don't like the way you create a core context? Then just don't create one - nobody is forcing you to.
You're ignoring the point I've made at least twice already. This is all code that you write once. Write it once, put a nice wrapper around it, bung it in a static lib or whatever, link to it and reuse it in future programs. Job done, pain over.
I can't believe we're on the 8th page of a thread about this obsession over trying to avoid at most one hour's work.
---
Regal - as OpenGL ought to be
One problem is/was that glew 1.7 didn't support core profiles, I haven't tested 1.8 (came out a few days ago) yet.
Code :GLboolean GLEWAPIENTRY glewGetExtension (const char* name) { const GLubyte* start; const GLubyte* end; start = (const GLubyte*)glGetString(GL_EXTENSIONS); if (start == 0) return GL_FALSE; end = start + _glewStrLen(start); return _glewSearchExtension(name, start, end); }
That's the culprit and it's still in in 1.8.0.
Edit: That is not to say that I don't like GLEW - quite the contrary. You can fix it for yourself quite easily if you only intend to use core contexts. See the GLEW bug tracker here for solution (which is quite apparent anyway). The report flew in exactly 2 years ago yesterday.
Nigel: Are you accepting patches for this?
Last edited by thokra; 08-02-2012 at 06:42 AM.