Na druhé straně má OpenGL několik nepříjemných omezení. Postrádá příkazy pro práci s komplexními objekty , veškeré složité objekty se musí sestrojit z jednoduchých primitiv jako jsou body, přímky, trojúhelníky, polygony.
Dalším omezením je absence oken. Obecně můžeme říct, že OpenGL je platformou:
- nezávislou na operačním systému a na HW,
- slouží pro psaní grafických aplikací,
- nepodporuje okénka,
- není objektově orientovaná,
- byla uznána jako obecný standard,
Přímo lze vykreslovat pouze body, úsečky, polygony a bitmapy. Všechny geometrické objety ve 2D i ve 3D jsou zadány sledem vrcholů (takováto reprezentace je nejlépe použitelná pro grafické akcelerátory).
Základní knihovna OpenGL nabízí:
- generování 3D grafických objektů,
- řešení viditelnosti objektů ve 3D,
- provádění základních transformací (posun, rotace, změna měřítka, projekce),
- nastavení barev popř. barevných vlastností povrchů, interpolace barev,
- osvětlení scény ( až min. 8 světel) včetně možnosti stanovení vlastnosti jednotlivých světel,
- výpočet barvy v interakci se světly,
- vytvoření průhledných objektů,
- antialiasing,
- vytvoření efektu mlhy,
- mapování textur,
- evaluátory pro výpočet Beziérových křivek a ploch,
Pokud chceme vypracovat nějakou grafickou prezentaci v prostředí např. systému Unix/Linux a chceme tuto prezentaci vytvořit bez pomocí specializovaných aplikací pak použijeme tyto knihovny:
- OpenGL – základní knihovna obsahující základní nástroje
- GLU – OpenGL Utility Library – nadstavba – umožňuje projekci textur, rendering B-spline křivek, generování grafických objektů popsatelné kvadratickými rovnicemi (válce, koule, disky) atd..
- GLUT – OpenGL Utility Toolkit
Jak bylo řečeno OpenGL nepodporuje okenní systém. To je sice z hlediska multiplatformosti nezbytné, ale z hlediska využití naprosto nedostačující. Proto byly vytvořeny knihovny s naprosto unikátními vlastnostmi pro každý z operačních systémů zvlášť. Každý operační systém má své vlastní funkce, které umožňuji práci s knihovnami OpenGL.
OpenGL obsahuje také utility knihovny GLU, které umožňuji jednoduše zpracovávat procesy jako jsou např. rendrování kvadratických ploch (koule, kužel, válce apod.). Umí pracovat s objekty vytvořenými pomoci NURBS (Non-Uniform-Rational-Bezier-Splines), a konkávními polygony, jedná se o zpracovávání ryze matematických konstrukcí.
Nejrozšířenější knihovnou pro práci s OpenGL je skupina funkcí sloučených do bezplatné knihovny GLUT. Jedná se o veřejně dostupný soubor nástrojů, nezávislých na operačním systému, pro tvorbu jednoduchých grafických aplikací. Tyto nástroje umožňuji vytvoření oken, zpracovávání událostí (myš, klávesnice), a práci s animacemi.