2011-12-19 20 views
5

Jestem na krawędzi rozpoczęcia dużej rundy reaktorów w naszym oprogramowaniu. W tej chwili komponent renderowania nadal bazuje na DX9. Nowa wersja będzie używać DX10.Ważne odczyty przed przeniesieniem aplikacji C++ z DirectX9 do Directx10

Zanim zacznę, czy są jakieś ważne i dobrze napisane przewodniki lub przeglądy dotyczące przenoszenia DX9 na DX10? Znalazłem drobne informacje, ale nie mogę znaleźć dobrze napisanych postów, przewodników lub omówień. Chcę zapobiec popełnianiu "klasycznych" błędów, którym mogłem zapobiec, czytając przed rozpoczęciem portowania.

Moim zamiarem jest zapoznanie się z "ogólnymi" przewodnikami do portowania oraz bardziej szczegółowymi przykładami. Oprogramowanie renderuje zarówno siatkę, jak i woluminy, więc informacje na te tematy są bardzo doceniane. Inne słowa kluczowe to - ale nie wyłącznie -: bufory, zarządzanie pamięcią i multi-gpu.

+1

DX11 SDK pochodzi z podręcznika, który zawiera portowania porady od DX9 i DX10 ... –

Odpowiedz

0

Największa różnica polega na tym, że nie ma kart obsługujących funkcje częściowe. Karta obsługuje Direct3D 10 lub nie. Jeśli chcesz, aby aplikacja działała na starym sprzęcie lub na XP, musi być dwukierunkowy DirectX 9 lub 10. Jeśli ma działać tylko na obsługiwanych kartach graficznych w systemie Vista lub nowszym, może mieć tylko 10.

AFAICT, MSDN nie podaje instrukcji różnicowania. Traktują Direct3D 10 jako nowe API równolegle z innymi API. Zobacz here. Znalazłem jedno przydatne podsumowanie differences here.

+0

Hm, naprawdę nie to, czego szukam. Mimo że użyteczna jest strona dostępna za pomocą Twojego linku: http://msdn.microsoft.com/en-us/library/windows/desktop/ee416643(v=VS.85).aspx – bastijn

+0

"Jeśli chcesz, aby aplikacja działała stary sprzęt "Już nie jest prawdą z DirectX 11, ponieważ jest teraz coś o nazwie [poziom funkcji] (http://msdn.microsoft.com/en-us/library/windows/desktop/ff476876 (v = vs.85) .aspx) – Suma

3

Ponieważ wydaje się, że nikt nie ma określonej listy, zacznę również zbierać moje wnioski w osobnej odpowiedzi. Zgodnie z moją wiedzą, w Internecie dostępne są bardzo ograniczone informacje na ten temat.

Ogólne

  • Direct3D 10 Frequently Asked Questions
  • Direct3D 9 to Direct3D 10 Considerations (Direct3D 10) podstawowy zarys kluczowych różnic między Direct3D 9 i Direct3D 10. Poniższy zarys zapewnia pewien wgląd, aby pomóc programistom Direct3D 9 doświadczenie w celu zbadania i odnoszą się do Direct3D 10
  • Pokazuje, jak emulować pewne aspekty potokowej funkcji funkcji Direct3D 9 w środowisku Direct3D 10.
  • Windows to Reality: Getting the Most out of Direct3D 10 Graphics in Your Games Mimo że ma tytuł "gry", zawartość prezentacji nie. W prezentacji omawiają wspólne problemy z wydajnością i architekturą, a także opracowywanie treści i inne problemy napotkane podczas przenoszenia wysokiej klasy silników D3D9 do D3D10. Ponadto mają określoną część "wskazówek dotyczących przenoszenia".
  • W tym wykładzie omawia się różne aspekty wydajności i omawia aspekty programowania wydajności Direct3D 10 i 10.1 wspólne dla wszystkich dostawców. Ponadto obejmują zagadnienia związane z wydajnością w wielu konfiguracjach GPU.
  • Windows Vista Graphics Development Drilldown: Direct3D 10 and 10.1 W tej prezentacji omawiają różne różnice między D3D9 i D3D10. Mimo że zawartość jest nieco bardziej oparta na grach, informacje mogą być używane w dowolnej kategorii programowania DX.

różnice buforowe