Udostępnij za pośrednictwem


Harmonogram działania dla aplikacji DirectX dla komputerów stacjonarnych

Poniżej przedstawiono kluczowe zasoby ułatwiające rozpoczęcie pracy z używaniem programów DirectX i C++ do tworzenia aplikacji klasycznych intensywnie korzystających z grafiki, takich jak gry. Nie jest to pełna lista wszystkich funkcji lub dostępnych zasobów.

Rozpocząć

Oto kilka kluczowych tematów. Konfigurowanie projektu DirectX, aklimatyzowanie się do systemu Windows i przykładowych aplikacji.

Temat Opis
Tworzenie pierwszej aplikacji systemu Windows przy użyciu DirectX Skorzystaj z tego podstawowego samouczka, aby rozpocząć pracę z programowaniem aplikacji DirectX, a następnie użyć planu, aby kontynuować eksplorowanie środowiska DirectX.
Rozpoczynanie pracy z programem DirectX dla systemu Windows Zapoznaj się z krokami, które należy wykonać, aby rozpocząć tworzenie gry przy użyciu technologii DirectX i C++.
Kompletny kod dla platformy DirectX Pobierz kod podstawowej platformy renderowania DirectX.
Jak używać Direct3D 11 W tej sekcji pokazano, jak używać interfejsu API usługi Microsoft Direct3D 11 do wykonywania kilku typowych zadań.
Przewodnik programowania dla Direct3D 11 Przewodnik programowania zawiera informacje o sposobie używania programowalnego potoku Microsoft Direct3D 11 do tworzenia grafiki 3D w czasie rzeczywistym dla aplikacji klasycznych.
Tools for DirectX Graphics Dokumentacja narzędzi używanych do obsługi programowania directx.
Co nowego w programie Direct3D 11 Podział wszystkich funkcji dodanych w najnowszych wersjach programów DirectX i Direct3D (obecnie 11.2).
pobierz program Visual Studio 2013 Aby tworzyć gry ze Sklepu Windows, musisz mieć program Visual Studio Express 2013 for Windows Desktop. Aby zapoznać się z przewodnikiem po programie Visual Studio, zobacz Tworzenie aplikacji ze Sklepu Windows przy użyciu programu Visual Studio 2012. Aby uzyskać informacje o nowych funkcjach w programie Visual Studio, zobacz Product Highlights for Visual Studio 2013.
Gdzie jest zestaw SDK DirectX? Zawiera wskazówki dla deweloperów, którzy chcą przenieść swoje projekty DirectX do programu Microsoft Visual Studio.

Przykładowe aplikacje

Temat Opis
samouczek Direct3D — przykład win32 Przykładowy samouczek dotyczący podstawowego pulpitu Direct3D.
przykład renderowania wideo DirectX Przykład przedstawiający niestandardowe renderowanie wideo za pomocą funkcji Direct3D.

Zapoznaj się z kluczowymi pojęciami dotyczącymi usługi Direct3D 11

Temat Opis
potoku grafiki Obejmuje podstawowy potok grafiki Direct3D 11.
Renderowanie Obejmuje modele renderowania Direct3D, składniki, cieniowania i przepływ wywołań interfejsu API.
zasobów Obejmuje "zasoby" Direct3D, takie jak i inne typy zasobów procesora GPU.
efektów Obejmuje uwierzytelnianie wielocieniowe i efekty w trybie Direct3D.
instrukcje: tworzenie łańcucha wymiany Jak utworzyć łańcuch wymiany używany do rysowania pikseli w regionie ekranu.
instrukcje: tworzenie urządzenia i bezpośredniego kontekstu Jak utworzyć abstrakcję urządzenia Direct3D i bezpośredni kontekst do rysowania.
Instrukcje: tworzenie buforu wierzchołka Jak utworzyć prostą listę wierzchołków siatki na potrzeby przetwarzania przez procesor GPU.
Instrukcje: tworzenie buforu indeksu Jak utworzyć bufor indeksu umożliwiający cieniowanie wierzchołków, aby przejść kolejność wierzchołków w siatkę.
Instrukcje: tworzenie buforu stałego Jak przekazywać stałe (jednolite) dane między procesorem CPU i procesorem GPU podczas renderowania.
Instrukcje: tworzenie tekstury Jak utworzyć teksturę lub inny zasób buforu, który może być próbkowany przez procesor GPU.
Instrukcje: inicjowanie tekstury z pliku Jak załadować teksturę z pliku i przetworzyć go do użycia przez potok cieniowania.
Instrukcje: kompilowanie cieniowania Jak skompilować cieniowanie do użycia w aplikacji graficznej.

Interfejsy API grafiki

Temat Opis
Direct3D 11 Dokumentacja podstawowych interfejsów API wirtualizacji procesora GPU i jej zasobów oraz rysowania grafiki przy użyciu ujednoliconego modelu cieniowania.
HLSL Direct3D Dokumentacja referencyjna języka High-Level Shader, składnia i reguły używane do definiowania programów cieniowania wykonywanych w ramach potoku grafiki w ujednoliconym modelu cieniowania.
interfejsu graficznego DirectX (DXGI) Dokumentacja interfejsów API niskiego poziomu używanych do uzyskiwania interfejsu gpu i zasobów systemowych.
Direct2D Dokumentacja interfejsów API Direct2D, które obsługują rysunek elementów pierwotnych 2D. Zazwyczaj funkcja Direct2D jest używana do niestandardowych interfejsów użytkownika, przetwarzania obrazów i przetwarzania wsadowego oraz prostych gier.
DirectWrite Dokumentacja interfejsów API DirectWrite, które obsługują renderowanie i skalowanie czcionek niestandardowych.
składnika Windows Imaging Component (WIC) Dokumentacja interfejsów API WIC, które służą do odczytywania różnych formatów obrazu mapy bitowej i zarządzania nimi.
powierzchnie DirectDraw (DDS) dla tekstur Dokumentacja interfejsów API usługi DDS, które są używane do kompresji tekstury 2D i dekompresji w połączeniu z interfejsami API WIC.
DirectXMath Dokumentacja interfejsów API DirectXMath, które obsługują funkcję Direct3D z zestawem typów i funkcji dostosowanych do tworzenia grafiki w czasie rzeczywistym 3D. (Dawniej XNAMath).
DirectCompute Dokumentacja interfejsów API DirectCompute używanych do obliczeń lub funkcji cieniowania ogólnego użycia.

Interfejsy API audio, multimediów i danych wejściowych

Temat Opis
przewodnik programowania XAudio2 Węzeł najwyższego poziomu dla dokumentacji koncepcyjnej interfejsu API audio XAudio2.
dokumentacja programowania XAudio2 Węzeł najwyższego poziomu dla dokumentacji interfejsu API audio XAudio2.
przewodnik programowania XInput Węzeł najwyższego poziomu dla dokumentacji koncepcyjnej interfejsu API kontrolera XInput.
dokumentacja programowania XInput Węzeł najwyższego poziomu dla dokumentacji interfejsu API kontrolera XInput.
Media Foundation Węzeł najwyższego poziomu dla dokumentacji interfejsu API odtwarzania multimediów Programu Media Foundation (MF). Zazwyczaj MF jest używany w grach do odtwarzania ścieżki dźwiękowej, podczas gdy XAudio2 jest używany do dynamicznego dźwięku.

Przenoszenie do wersji DirectX 11

Temat Opis
migrowanie do usługi Direct3D 11 Podstawowe wskazówki dotyczące przenoszenia bazy kodu DirectX 9 do wersji DirectX 11.
techniki kodowania podwójnego użycia dla gier Szczegółowy wpis w blogu dotyczący programowania dla poziomów funkcji DirectX 9_* i DirectX 11_* w jednej aplikacji.
Implementowanie w tle dla funkcji Direct3D poziomu 9 Wskazówki dotyczące implementowania map w tle na poziomie funkcji DirectX 9_*.

Praca z językiem C++

Jeśli jesteś starą ręką w języku C++ na platformach Windows, elementy mogą wyglądać nieco inaczej. Poniżej przedstawiono wskazówki dotyczące tematów, które mogą ułatwić uzyskanie obsługi różnicy.

Nuta

Niektóre z tych tematów istnieją, aby ułatwić obsługę aplikacji C++/CX. Zalecamy jednak używanie C++/WinRT dla nowych aplikacji. C++/WinRT to całkowicie standardowa nowoczesna projekcja języka C++17 dla interfejsów API środowiska Uruchomieniowego systemu Windows (WinRT), zaimplementowana jako biblioteka oparta na plikach nagłówków i zaprojektowana w celu zapewnienia najwyższej klasy dostępu do nowoczesnego interfejsu API systemu Windows.

Temat Opis
dokumentacja języka Visual C++ (C++/CX) Strona wysokiego poziomu, która łączy się z zawartością powiązaną z językiem C++.
— szybki przewodnik (środowisko uruchomieniowe systemu Windows i visual C++) Tabela zawierająca szybkie informacje na temat rozszerzeń składników języka Visual C++ (C++/CX) i słów kluczowych.
system typów (C++/CX) Dokumentacja typów obsługiwanych przez język C++/CX.
przestrzeni nazw (C++/CX) Odwołanie do zawartości przestrzeni nazw, które zawierają typy specyficzne dla języka C++, które mogą być używane w aplikacjach ze Sklepu Windows.
Temat Opis
programowanie asynchroniczne (DirectX i C++) Dowiedz się więcej na temat asynchronicznego i wielowątkowego programowania dla aplikacji i gier DirectX.
programowanie asynchroniczne w języku C++ Opisuje podstawowe sposoby używania klasy zadań do korzystania z metod asynchronicznych środowiska uruchomieniowego systemu Windows.
klasa zadań (środowisko uruchomieniowe współbieżności) Dokumentacja referencyjna klasy zadań.
równoległość zadań (środowisko uruchomieniowe współbieżności) Dogłębna dyskusja na temat klasy zadań i sposobu jej używania.

Dodatkowe przydatne biblioteki programowania w języku Windows C++

Temat Opis
standardowej biblioteki szablonów języka C++ Typy środowiska uruchomieniowego systemu Windows dobrze się bawią z typami standardowej biblioteki szablonów. Większość aplikacji ze Sklepu Windows w języku C++ używa kolekcji i algorytmów standardowej biblioteki szablonów, z wyjątkiem granicy ABI.
biblioteka wzorców równoległych PPL udostępnia algorytmy i typy, które upraszczają równoległość zadań i równoległość danych na procesorze CPU.
C++ Accelerated Massive Parallelism (C++ AMP) C++ AMP zapewnia dostęp do procesora GPU na potrzeby równoległości danych ogólnego przeznaczenia na kartach wideo, które obsługują directX 11.

Blogi i inne zasoby

Temat Opis
Games for Windows i DirectX blog Regularnie aktualizowany blog z kluczowego współautora deweloperskiego DirectX oraz doskonały zasób dla deweloperów DirectX.
blog dla deweloperów Windows DirectX Oficjalny blog Windows DirectX.
bloga DirectX Shawn Hargreave) Blog deweloperski z innego szanowanego współautora dewelopera windows DirectX.
zestaw narzędzi DirectX Zestaw narzędzi DirectX (DxTK), który zawiera szereg przydatnych interfejsów API obsługi ładowania siatki, odtwarzania dźwięków i innych typowych zachowań.
biblioteka przetwarzania tekstur DirectXTex Biblioteka przetwarzania tekstur DirectX (DxTEX), która zawiera interfejsy API obsługi przetwarzania tekstur i kompresji/dekompresji.