Sdílet prostřednictvím


Roadmapa pro desktopové aplikace DirectX

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í

Námět Popis
Vytvoření první aplikace pro Windows pomocí DirectX V tomto základním kurzu můžete začít s vývojem aplikací DirectX a pak pomocí roadmapy pokračovat ve zkoumání DirectX.
Začínáme s Rozhraním DirectX pro Windows Projděte si kroky, které je potřeba udělat, abyste mohli začít vyvíjet hru pomocí DirectX a C++.
Kompletní kód pro rozhraní DirectX Získejte kód pro základní architekturu vykreslování DirectX.
Jak používat Direct3D 11 Tato část ukazuje, jak pomocí rozhraní API Microsoft Direct3D 11 provádět několik běžných úloh.
Průvodce programováním pro direct3D 11 Průvodce programováním obsahuje informace o používání programovatelného kanálu Microsoft Direct3D 11 k vytvoření 3D grafiky v reálném čase pro desktopové aplikace.
Tools for DirectX Graphics Dokumentace k nástrojům používaným k podpoře vývoje directX
Novinky v direct3D 11 Rozpis všech funkcí přidaných v nejnovějších verzích DirectX a Direct3D (aktuálně 11.2).
Stáhnout Visual Studio 2013 Abyste mohli vytvářet hry pro Windows Store, musíte mít Visual Studio Express 2013 pro Windows Desktop. Prohlídku sady Visual Studio najdete v tématu Vývoj aplikací pro Windows Store pomocí sady Visual Studio 2012. Informace o nových funkcích v sadě Visual Studio najdete v tématu Product Highlights for Visual Studio 2013.
Kde je sada DirectX SDK? Obsahuje pokyny pro vývojáře, kteří chtějí přenést své projekty DirectX do sady Microsoft Visual Studio.

Ukázkové aplikace

Námět Popis
ukázkové s direct3D kurzem Win32 Ukázka kurzu Pro základní desktopové rozhraní Direct3D
ukázky vykreslování videa DirectX Ukázka, která demonstruje vlastní vykreslování videa s Direct3D.

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

Rozhraní API pro zvuk, média a vstup

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

Námět Popis
Migrace na Direct3D 11 Základní pokyny pro přesun základu kódu DirectX 9 na DirectX 11
techniky kódování s duálním využitím pro hry Podrobný blogový příspěvek o vývoji pro úrovně funkcí DirectX 9_* i DirectX 11_* v jedné aplikaci
Implementace stínových vyrovnávacích pamětí pro úrovně funkcí Direct3D 9 Pokyny pro implementaci stínových map v režimu DirectX na úrovni 9_*.

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.

Námět Popis
referenční dokumentace jazyka Visual C++ (C++/CX) Stránka vysoké úrovně, která odkazuje na obsah související s C++.
– stručná referenční dokumentace (Windows Runtime a Visual C++) Tabulka, která poskytuje rychlé informace o operátorech a klíčových slovech komponent jazyka Visual C++ (C++/CX).
systém typů (C++/CX) Referenční obsah pro typy podporované jazykem C++/CX
obory názvů (C++/CX) Referenční obsah pro obory názvů, které obsahují typy specifické pro jazyk C++, které lze použít v aplikacích pro Windows Store.
Námět Popis
asynchronní programování (DirectX a C++) Seznamte se s asynchronním a multithreaded programováním pro aplikace a hry DirectX.
asynchronní programování v jazyce C++ Popisuje základní způsoby použití třídy úloh k využívání asynchronních metod prostředí Windows Runtime.
třída úlohy (Concurrency Runtime) Referenční dokumentace pro třídu úloh
paralelismus úloh (Concurrency Runtime) Podrobná diskuze o třídě úkolů a o tom, jak ji používat.

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í

Námět Popis
Hry pro Windows a DirectX blog Pravidelně aktualizované blogy od klíčového přispěvatele vývoje DirectX a skvělý prostředek pro vývojáře DirectX
blogu pro vývojáře Windows DirectX Oficiální blog Windows DirectX.
Shawn Hargreave's DirectX blog) Vývojový blog od jiného dobře respektovaného přispěvatele windows DirectX
sady nástrojů DirectX Sada nástrojů DirectX (DxTK), která obsahuje řadu užitečných rozhraní API podpory pro načítání sítí, přehrávání zvuků a dalších běžných chování.
knihovny zpracování textur DirectXTex DirectX Texture Processing Library (DxTEX), která obsahuje rozhraní API pro zpracování textury a kompresi/dekompresi.