Reply 20 of 28, by spiroyster
swaaye wrote on 2022-07-28, 03:24:spiroyster wrote on 2022-07-27, 23:46:
miniGL exists because 3dfx hardware was incapable of implementing full GL spec, and they didn't have an ICD. Luckily the GL requirement was minimal (and could be translated to GLide) so wrapping made sense.
That's not quite right. 3dfx did eventually have a full ICD even for Voodoo1. Just go look at the files in the later Voodoo1 driver releases.
The miniGL was originally created for GLQuake. id was not interested in using Direct3D 3 or going proprietary again after Vquake. But they didn't need all of OpenGL to run a game.
Yes but not at the time Quake was written. It's my understanding that it was 3dfx that wanted a piece of the id pie, and approached them (not the other way around). Like you said, Carmack got burned by Rendition and refused to use a proprietry API (GLide), however was happy to work with 3dfx to develop the miniGL for Voodoo.
My point was, that at the time, 3dfx did not have a valid OpenGL ICD, and wrapping was possible due to limited use of GL in GLQuake engine (be it his requirment or 3dfx's requirement). AMD in 2022, do have a valid full spec ICD (just doesn't perform well) so wrapping to another API is not going to improve anything. Quite the opposite.
Wrt to 3dfx and id, I think the more interesting question is whether Carmack change anything in the engine to better facilicate the use of miniGL with 3dfx in mind (i.e did the 3dfx miniGL requirement dictate the Quake engine), or did he just help them develop it and it just so happended that the engine wasn't using any GL that couldn't be wrapped? Either way Carmack pioneering the use of a professional graphics API for restricted consumer gaming hardware, proved GL could be used in a limited capacity yet perform well on consumer gaming hardware and paved the way for other developers to consider GL and other Vendors to implement miniGL's.