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.

Reply via email to