Do GL and DX 'go through' the Windows GDI?
Members - Reputation: 356
Posted 27 July 2014 - 07:33 PM
Crossbones+ - Reputation: 1842
Posted 27 July 2014 - 07:52 PM
In Windows Vista, all Windows applications including GDI and GDI+ applications run in the new compositing engine, Desktop Window Manager which is built atop the Windows Display Driver Model.
Direct3D 9Ex, Direct3D 10, and Direct3D 11 are only available for Windows Vista and newer because each of these new versions was built to depend upon the new Windows Display Driver Model that was introduced for Windows Vista
So, for at least Windows Vista and newer operating systems, GDI and DirectX are built on top of the Windows Display Driver Model, DirectX more directly. I'm not sure what Windows did before Vista, but I'm almost 100% certain DirectX bypassed GDI.
Moderators - Reputation: 20085
Posted 27 July 2014 - 08:36 PM
Before that time graphics cards effectively had a 3D mode for 3D graphics, and a 2D mode that has been the same since the mid 1990's introduced 2D graphics cards for Windows. One of Vista's big changes was that Aero ran the card as a 3D graphics card for the blending and effects.
The drivers needed to be modified to accommodate that change. Windowed D3D applications were no longer just 3d within a rectangle, but became 3D everywhere.
For full screen programs, both before and now you get access to everything.
Members - Reputation: 830
Posted 28 July 2014 - 01:15 AM
Short answer: No, and since Vista it's the other way around: GDI goes through DX drivers when compositing is enabled. GL drivers have always been separate from both DX and GDI. (I don't like long answers )
Edited by tonemgub, 28 July 2014 - 01:16 AM.
Crossbones+ - Reputation: 7801
Posted 28 July 2014 - 01:49 AM
This description of the WDDM driver model should help: http://msdn.microsoft.com/en-us/library/windows/hardware/ff570589%28v=vs.85%29.aspx
There's even a nice diagram that shows where everything fits
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.