opengl je jedan, ovo sto ti spominjes su pomocni libovi za opengl (glut i sdl za radenje crossplatform prozore) kao d3dx u directxu (što opet neki programeri ne zele koristiti). Ja osobno koristim opengl sa sdl-om (za handlanje inputa i prozor, jer mi se cini bolje napravljenim od gluta), SOIL za loadanje tekstura (jako mali lib, ali radi ono sta treba http://www.lonesock.net/soil.htmlS), ok math lib sam sam moro napisat ali sam ga napravio bas onakvim kakav mi se svida (podsjeca na sintaksu iz GLSL-a), a što se tiče zvuka to je rjeseno pomocu OpenAL i to je bilo vise manje sve sto trebas da bi imao funkcijonalnost kao u directx-u (uz koristenje D3DX-a).
a zasto imas toliko puno #ifdef ??
osobno u enginu mi sluze samo za 2 razlicita builda: SDL (igra) i CLR (.net forme, pomocu toga cu editor radit)