To trochę bardziej skomplikowane. Da się jednak musiałbyś użyć i bazować i tak na czymś innym. i wrzucać to dynamicznie (systemowe pliki DLL). A najłatwiej bazować na DirectX pytanie czy to już dla Ciebie silnik ? ;) Potem mozna dodawać wsparcie dla OpenGL czy też najnowszego API - vulkan api.
Pytanie tylko czy to nie strata czasu :) Od tego są silnik żeby było łatwiej i szybciej. No i w C# nie jesteś w stanie samodzielnie zarządzać pamięcią tak dobrze jak w C++ więc wydajnościowo może być troszkę gorzej.