MiniGL
Deweloperzy | 3dfx Interactive i inne |
---|---|
Pierwsze wydanie | 1996 |
Napisane w | C , C++ , montaż |
Typ | Biblioteka grafiki |
MiniGL to niekompletna implementacja specyfikacji OpenGL , która implementuje wystarczającą ilość interfejsu API , aby umożliwić uruchamianie gier wideo 3D pod koniec lat 90. z akceleracją sprzętową na współczesnych kartach graficznych , które w innym przypadku zapewniały własne interfejsy API. Oryginalna implementacja pochodzi z 3dfx Interactive i została zaprojektowana z myślą o wspieraniu Quake'a . Inne firmy wdrażające podobne oprogramowanie to PowerVR i Rendition .
Historia
W 1996 roku firma id Software ogłosiła, że Rendition Vérité ma być jedynym sprzętowym akceleratorem 3D, którego celem jest Quake . Częściowo z powodu problemów związanych z obsługą interfejsów API specyficznych dla chipsetów , a częściowo dlatego, że doświadczenie Quake'a w rozwoju zaawansowanych stacji roboczych sprawiło, że było to łatwe. Wydali również Microsoft Windows swojej wersji Quake OpenGL , mimo że żaden chipset konsumencki nie miał wówczas obsługi OpenGL.
W odpowiedzi firma 3dfx opracowała i szybko wypuściła pierwszy MiniGL: szybką implementację minimalnej ilości API OpenGL, która była wymagana do uruchomienia Quake w wersji OpenGL . Otrzymując kopię pliku wykonywalnego OpenGL Quake i kopię odpowiedniego MiniGL, właściciele 3dfx mogli łatwo modyfikować swoje kopie Quake , aby grać z pełną akceleracją 3D, zapewniając płynniejszy i lepiej wyglądający obraz, niż było to możliwe przy renderowaniu oprogramowania Quake . Po sukcesie oryginału 3dfx, kilku innych producentów podążyło za 3dfx w produkcji sterowników MiniGL.
W tamtym czasie interfejs API OpenGL był niemal powszechnie uznawany za lepszy od ówczesnego nowego i niedojrzałego systemu Direct3D firmy Microsoft , więc po pojawieniu się różnych MiniGL wielu programistów próbowało używać ich w innych programach jako łatwego sposobu obsługi wielu Chipsety 3D. Niestety, id Software nie opublikowało żadnej oficjalnej listy wywołań OpenGL i parametrów używanych przez Quake'a , a żaden z implementatorów MiniGL nie opublikował list tego, co ich implementacja będzie obsługiwać, a czego nie.
W praktyce doprowadziło to do bardzo ostrożnego korzystania z funkcji OpenGL przez programistów i nowych wydań MiniGL z nieco większą funkcjonalnością za każdym razem, gdy pojawiała się duża gra, która nie działała na poprzedniej generacji.
Wszyscy główni producenci kart 3D obsługują teraz kompletne implementacje OpenGL, eliminując potrzebę jakiegokolwiek MiniGL.
Inne wdrożenia
Implementacje MiniGL zostały opracowane dla innych systemów operacyjnych , w tym dla Palm OS i AmigaOS .