DX (also D3d) und Ogl machen zwar das selbe, sind aber doch sehr unterschiedlich. Wenn du einfach zwischen bieden umschalten willst, wirst du einen kompletten Wrapper brauchen.
Das Problem dabei ist , du kombinierst automatisch die nachteile beider APIs. Ein simpler Wrapper wird nur den kleinsten gemeinsamen Nenner unterstützen und das zudem wahrschienlich noch ineffektiv.
Außerdem bedeutet jeder Zwischenschritt natürlich auch wieder eine verschlechterung der Performace.
Und naja, Ogl/D3d Performace kann bei jederTreiberversion wieder wechseln, von daher würde ich da gar nicht so drauf achten.Man sollte lieber sehen, dass man das macht, was in der Regel schnell und gut ist (z.B. Vertexbuffer benutzen), anstatt anhand von Benchmarks (die man wahrscheinlich stümperhaft und mit wenig wissen einfach mal durchgeführt hat) irgendwas optimieren zu wollen.
Nimm einfach Ogl, DX hat so ein hässliches quasi Monopol, und je mher Ogl benutzt wird, desto besser müssen die Treiber werden.