Tady jsou klíčové zdroje informací, které vám pomůžou začít používat DirectX a C++ k vývoji desktopových aplikací náročných na grafiku, jako jsou hry. Nejedná se o úplný seznam všech funkcí ani dostupných prostředků.
Rozjet
Tady jsou některá klíčová témata. Nastavení projektu DirectX, přizpůsobení se windows a ukázkových aplikací
Ukázkové aplikace
Přehled klíčových konceptů Direct3D 11
| Námět |
Popis |
|
grafického kanálu |
Popisuje základní grafický kanál Direct3D 11. |
|
rendering |
Popisuje modely vykreslování Direct3D, komponenty, shadery a tok volání rozhraní API. |
|
prostředků |
Pokrývá "prostředky" Direct3D, jako jsou vyrovnávací paměti a další typy prostředků GPU. |
|
efekty |
Popisuje vytváření instancí více shaderu Direct3D a efekty. |
|
Postupy: Vytvoření řetězu prohození |
Jak vytvořit řetězec prohození, který se používá k kreslení pixelů do oblasti obrazovky. |
|
Postupy: Vytvoření zařízení a okamžitého kontextu |
Jak vytvořit abstrakci zařízení Direct3D a okamžitý kontext pro kreslení. |
|
Postupy: Vytvoření vyrovnávací paměti vrcholu |
Jak vytvořit jednoduchý seznam vrcholů sítě pro zpracování gpu. |
|
Postupy: Vytvoření vyrovnávací paměti indexu |
Jak vytvořit vyrovnávací paměť indexu, která umožňuje shaderu vrcholů procházet pořadí vrcholů v síti. |
|
Postupy: Vytvoření konstantní vyrovnávací paměti |
Jak předávat konstantní (jednotná) data mezi procesorem a GPU během vykreslování. |
|
Postupy: Vytvoření textury |
Jak vytvořit texturu nebo jiný prostředek vyrovnávací paměti, který může gpu vzorkovat. |
|
Postupy: Inicializace textury ze souboru |
Jak načíst texturu ze souboru a zpracovat ji pro použití kanálem shaderu. |
|
Postupy: Kompilace shaderu |
Jak zkompilovat shader pro použití v grafické aplikaci |
Grafická rozhraní API
| Námět |
Popis |
|
Direct3D 11 |
Dokumentace základních rozhraní API pro virtualizaci GPU a jejích prostředků a pro kreslení grafiky pomocí sjednoceného modelu shaderu |
|
Direct3D HLSL |
Referenční dokumentace pro jazyk High-Level Shader, syntaxe a pravidla používaná k definování programů shaderu spouštěných jako součást grafického kanálu v modelu sjednoceného shaderu. |
|
grafického rozhraní DIRECTX (DXGI) |
Dokumentace k rozhraním API nízké úrovně sloužícím k získání rozhraní GPU a systémových prostředků |
|
Direct2D |
Dokumentace k rozhraním API Direct2D, která podporují kreslení 2D primitiv. Direct2D se obvykle používá pro vlastní uživatelská rozhraní, zpracování obrázků a dávkování a jednoduché hry. |
|
DirectWrite |
Dokumentace k rozhraním API DirectWrite, která podporují vykreslování a škálování vlastních písem |
|
windows Imaging Component (WIC) |
Dokumentace k rozhraním API WIC, která slouží ke čtení a správě různých formátů rastrových obrázků. |
|
povrchů DirectDraw (DDS) pro textury |
Dokumentace k rozhraním API DDS, která se používají pro kompresi 2D textury a dekompresi ve spojení s rozhraními API WIC. |
|
DirectXMath |
Dokumentace k rozhraním API DirectXMath, která podporují Direct3D se sadou typů a funkcí vhodných pro vývoj 3D grafiky v reálném čase (Dříve XNAMath.) |
|
DirectCompute |
Dokumentace k rozhraním API DirectCompute, která se používají pro výpočetní nebo obecné funkce shaderu |
| Námět |
Popis |
|
Průvodce programováním v XAudio2 |
Uzel nejvyšší úrovně pro koncepční dokumentaci k rozhraní AUDIO API XAudio2 |
|
referenční programování XAudio2 |
Uzel nejvyšší úrovně referenční dokumentace k rozhraní AUDIO API XAudio2 |
| Průvodce programováním XInput |
Uzel nejvyšší úrovně pro koncepční dokumentaci rozhraní API kontroleru XInput |
|
referenční programování XInput |
Referenční dokumentace k rozhraní API kontroleru XInput na nejvyšší úrovni |
|
Media Foundation |
Uzel nejvyšší úrovně pro dokumentaci k rozhraní API pro přehrávání médií Media Foundation (audio/video). MF se obvykle používá ve hrách pro přehrávání hudebního doprovodu, zatímco XAudio2 se používá pro dynamický zvuk. |
Port do DirectX 11
Práce s C++
Pokud jste stará ruka s C++ na platformách Windows, může to vypadat trochu jinak. Tady je několik ukazatelů na témata, která vám můžou pomoct získat popisovač rozdílu.
Poznámka
Některá z těchto témat existují, aby vám pomohla udržovat aplikaci C++/CX. Doporučujeme ale používat C++/WinRT pro nové aplikace. C++/WinRT je zcela standardní moderní projekce jazyka C++17 pro rozhraní API prostředí Windows Runtime (WinRT), implementovaná jako knihovna založená na hlavičkách a navržená tak, aby vám poskytovala prvotřídní přístup k modernímu rozhraní API systému Windows.
Další užitečné knihovny pro programování v C++ systému Windows
| Námět |
Popis |
|
standardní knihovna šablon jazyka C++ |
Typy prostředí Windows Runtime dobře hrají s typy standardní knihovny šablon. Většina aplikací C++ pro Windows Store používá kolekce a algoritmy standardní knihovny šablon s výjimkou hranic ABI. |
|
knihovny paralelních vzorů |
PPL poskytuje algoritmy a typy, které zjednodušují paralelismus úloh a datový paralelismus procesoru. |
|
C++ Accelerated Massive Parallelism (C++ AMP) |
C++ AMP poskytuje přístup k GPU pro paralelismus dat pro obecné účely na grafických kartách, které podporují DirectX 11. |
Blogy a další zdroje informací