Why do hardware vendors make opengl ICDs dependent on DirectDraw and GDI. 3Dfx ogl drivers call glide api and glide calls ddraw, and so does nVIDIA. I think opengl must be implemented straight to the metal and be more consistent. I mean it should have its own calls to set the display mode and framebuffer. Interfacing-to-window-ystem calls are to be minimized (wgl??? or glX???)
No offense. I use opengl as the 3D API of choice and want it to become the standard in interfacing to 3D accelerators even in Windows OS.
I find there is no need to make opengl runder in software mode and make it call GDI functions since the hardware is capable of doing most of the tasks. Make it HW only API.
Also, why opengl32.dll? Get rid of it and unify the ICD binding mechanism.
Looking forward to hear your feedbak guys.
I think it’s more a problem with M$ than with hw vendors. OpenGL on windows is squeezed into GDI and dependent on it, only M$ can change that.
Don’t forget that OpenGL has to behave relative to the environment in which it runs. That may preclude things like bypassing the GDI or DirectDraw.
And having calls to set display modes and framebuffer settings in the base OpenGL spec significantly limits its platform independency. By nature, these calls are platform dependent, and therefore do not belong as a part of OpenGL.
Because of the large number of features that OpenGL exposes, there is no way to guarentee hardware rendering. Accumulation buffers, for instance, may not be a part of low-end graphics hardware, and their use must be emulated in software. Selection buffers are probably similar in that reguard.
Also, don’t forget that OpenGL isn’t designed to be a hardware-interfacing solution; that’s more what DirectX was designed to do.