Istnieje kilka bibliotek, z których można korzystać. IDWMaster wspomniał o OpenTK, która jest jedną z opcji (OpenGL, więc twój przebieg może się różnić, nie jestem wielkim fanem).
Jeśli chcesz korzystać z DirectX, tak jak otagowałeś to pytanie, jest jeszcze kilka opcji. Firma Microsoft używała oferty Managed DirectX, która została wycofana na korzyść XNA. SlimDX to bardziej nowoczesne opakowanie bibliotek DirectX, które ujawnia większość funkcji (ale ma pewne koszty wydajności). Dostępna jest również wersja SharpDX, która moim zdaniem powinna być nieco szybsza niż SlimDX, ale jej nie używałem.
Możesz również używać niektórych interfejsów API DirectX bezpośrednio, używając współdziałania COM. C# i .Net obsługują raczej dobre współdziałanie z komponentami COM, w tym z natywnymi. Będziesz musiał obsłużyć znaczną liczbę IntPtr
s i może być konieczne ręczne marszałkowanie, ale IDirect3DDevice
nie ma zbyt wielu metod, które mogłyby spowodować problemy (IIRC).
Próbowałem tego z kilkoma innymi z powrotem w XNA 2.0 i ogólnie było przekonanie, że nie było to możliwe i nadal działa wejście w WinForms, ponieważ XNA go zahaczył i nie przekazał danych lub coś takiego. Jestem zainteresowany, czy to się zmieniło z 4.0. –
Jaki rodzaj 3D? WPF może być inną opcją. –
@ Xeon06: teraz jest dobrze. –