Schwer ist das erstmal nicht. Nur - je nach Umfang der Engine - mühselig.
Im Grunde kannst du das genau so machen wie es Irrlicht mit seinen Grafiktreibern macht. Du erstellst ein Interface und schreibst dann die jeweiligen Implementierungen.
Es ist halt nur die Frage ob sich das lohnt. Für eine Grafikengine wie Irrlicht ists natürlich gut wenn du mehrere Grafiktreiber zur Verfügung hast, aber ich bezweifel, ob es was bringt, wenn du eine Game engine hast, die mit 15 verschiedenen Physikengines und 10 verschiedenen Inputsystem arbeiten kann. Du bist mehr am schrieben der einzelnen implementierungen als das du etwas "konstruktives" auf die Beine bekommst.
_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain