Jon Leech writes:
> > > Also, an emerging use of wglGetProcAddress() is to return pointers
> > > to OpenGL 1.2 core functions. While this exact scenario is unlikely to
> > > arise on Linux
It might arise each time a developer writes a portable
OpenGL engine for Linux and Win32. In fact, it already
arises in one of our ports.
> > Please let's avoid this. It would be intresting to know as to why
> > people are using this approach.
>
> Until an updated OPENGL32.DLL is shipped with Windows, apps cannot
> directly access the 1.2 entry points even if an ICD has them.
There is also the issue of VG and V2 hardware that can't have
ICD's at all under Win32, I think.
I can give you a short description from said port, which is
probably the standard solution for all Quake/Quake2/Quake3
engine based licenses. The entire OpenGL API, including the
extensions used, as well as the WGL/GLX pointers are
retrieved from a DLL loaded at runtime, and re-loaded
during the game if so desired. Using the wgl/glx pointers
also handles switching from Mesa GLX to fxMesa. The engine
can also wrap these function pointers for purposes of
profiling, logging, GL error assert where applicable, and
tracing, at any time during the execution (similar to e.g.
Magician composable pipelines). In some cases, EXTensions
were emulated by the engine if absent (Fake_glColorTableEXT).
I am not sure whether you consider this desirable or not,
but this is (Win32) reality - and easing ports is a topic?
b.