Egy előző bejegyzésben említettem, hogy az OpenGL függvényeit bezártam egy osztályba, ez kapcsolódik egy (render) context-hez, az egész kiegészítve pedig egy olyasmi device-t ad, erős túlzással, mint a D3D interfésze. Persze, egyre több extension függvény is bekerül a wrapperbe, amiket a device létrejöttekor inicializálok (vagy mi), így abszolút semmi különbség nincs a glBindTexture és a glMultitexCoord(..., ...) hívása között (csak példa).
Erre azért térek ki megint, mert a dolog odáig fajult, hogy a terv az, hogy egy direktívával kapcsolhatom fordításkor, hogy statikusan avagy dinamikusan akarom linkelni az OpenGL-t. Ez annyit tesz, hogy
a.) a project library-k közé felveszem az opengl32.lib-et (MSVC), és belefordul a kódba ami kell
b.) a program indulásakor, az említett device létrejöttekor betöltődik a OpenGL32.dll fájl, ahonnan ekkor kérem le a kívánt függvények belépési pontját.
Ez utóbbi előnye, hogy enged valamennyi ellenőrzést a dolog felett. Tegyük fel, hogy nincs meg a dll, 'a' esetben a program nem indul el, míg 'b' esetben ezt lekezelhetem, pl. dobhatok egy log-ot róla.

A másik előnye ennek az egésznek, hogy megismertem a dll-ek működését.