растолковал то что уже сказано
у двигов два свойства обращения с api :
1) сразу делается под определеное api
2) делается класс api с функциями, к етому классу подключают классы которые реализуют ети функции в определеном api
у ирлихта второй метод
а у блитца первй
потому чтобы сменить d3d на ogl в блице прийдется переписать ~50% кода
ps. нащот чистого cpp
я юзаю STD и FreeType2 и все...