Direct3D: Porovnání verzí

Přidáno 309 bajtů ,  před 11 lety
Přidání a úprava obrázků
(Přidání a úprava obrázků)
[[Image:D3D PipelineD3D_Pipeline.svgpng|thumb|GrafickáSchéma pipeline urozhraní Direct3D]]
 
'''Direct3D''' je v [[Informatika (počítačová věda)|informatice]] specializované [[API|rozhraní]] (API), které je jednou k komponent [[DirectX]]. Direct3D nabízí [[Aplikační software|aplikacím]] širokou škálu [[Funkce (programování)|funkcí]] pro práci s [[Počítačová 3D grafika|3D grafikou]]. Rozhraní je specifické pro [[operační systém]] [[Microsoft Windows]] a je tak alternativou [[Multiplatformní software|multiplatformního]] rozhraní [[OpenGL]]. Direct3D se uplatňuje při [[programování]] grafických [[Aplikační software|aplikací]], které v reálném čase zobrazují 3D objekty (např. [[Google Earth]], [[grafické uživatelské rozhraní]] [[Windows Aero]], ale hlavně [[Počítačová hra|počítačové hry]]).
 
 
== Začlenění v hierarchii vrstev operačního systému ==
[[Image:D3D AbsD3D_System_Integration.svgpng‎|thumb|Začlenění do [[Operační systém|operačního systému]]]]
Jak je z diagramu patrné, Direct3D aplikace běží vedle aplikací využívajících GDI a oba typy aplikací mají přístup ke grafickému hardwaru prostřednictvím ovladače zařízení pro danou grafickou kartu. Na rozdíl od GDI může Direct3D aplikace v případě, že využívá rozhraní HAL, těžit z výhod hardwarové akcelerace grafické karty. U DirectX 10 existuje rozhraní [[Direct2D]] pro práci s [[2D]] grafikou prostřednicím hardwarové akcelerace, které úzce spolupracuje s GDI a GDI+.
 
 
== Podporované typy primitiv ==
 
[[Image:D3D_Primitives.png|thumb|300px|Druhy grafických primitiv renderovaných pomocí Direct3D]]
 
''Point-List'' je množina vrcholů, které jsou [[Rendering|renderovány]] jako skupina izolovaných bodů. Pro tyto izolované body lze použít [[Texturování|textury]] či definovaný materiál. Hodnota barvy materiálu či textury se objeví pouze tam, kde jsou jednotlivé body kresleny a nikdy mezi nimi.
 
 
== Interpolace barev trojúhelníků ==
 
[[Image:D3D_Shading_Triangles.png|thumb|Interpolace barev]]
 
Během renderování grafická pipeline [[Interpolace|interpoluje]] data vrcholů pro každý trojúhelník. Data vrcholu mohou kromě vlastních souřadnic polohy zahrnovat rozsáhlou skupinu dalších informací (atributů vrcholu), jako například: difuzní (rozptýlená) barva, barva odrazu (specular), difuzní alfa-hodnota (tzv. opacita trojúhelníka definující průhlednost resp. schopnost trojúhelníka pohlcovat barvy v pozadí), alfa-hodnota odrazu (specular alpha) a faktor mlhy.
 
 
== Režimy stínování ==
 
[[Image:D3D_Shading_Modes.png|thumb|300px|Režimy stínování]]
 
Režim stínování použitý pro renderování polygonů má velký vliv na jejich zobrazení. Režimy stínování určují intenzitu barvy a světla v každém bodě povrchu polygonu. Direct3D podporuje dva režimy stínování, jimiž jsou: flat (ploché) stínování a Gouraudovo stínování.
 
 
== Mlha ==
Mlha je efekt, který může co do realističnosti 3D scény výrazně zlepšit její výsledný vzhled. Direct3D podporuje dva modely mlhy: na bázi [[Pixel|pixelů]] a na bázi vrcholů. Každý z modelů má své vlastnosti, programovací rozhraní a způsob zpracování.
 
[[Soubor:D3D_Fog.jpg|thumb|none|556px300px|Terén bez mlhy a s mlhou]]
 
Mlha je efekt, který může co do realističnosti 3D scény výrazně zlepšit její výsledný vzhled. Direct3D podporuje dva modely mlhy: na bázi [[Pixel|pixelů]] a na bázi vrcholů. Každý z modelů má své vlastnosti, programovací rozhraní a způsob zpracování.
 
Obecný model implementace mlhy užívaný nejen u Direct3D, ale například i u OpenGL (a u programů primárně určených pro tvorbu fotorealistických scén prostřednictvím přesných softwarových [[Algoritmus|algoritmů]]), je míchání barev objektů ve scéně s vybranou barvou mlhy na základě vzdálenosti od pozorovatele. Když vzdálenost objektů roste, jejich původní barva se více a více míchá s vybranou barvou mlhy a objekty se stávají více zamlženými prostředím ve scéně.
 
== Alpha-Blending ==
 
[[Soubor:D3D_Alpha-Blending.jpg|thumb|Alpha-Blending]]
 
Alpha-blending neboli míchání barev s [[Alfa kanál|alfa-kanálem]] je technika hojně používaná ke zobrazování grafických dat, která obsahují transparentní nebo semi-transparentní pixely. K barevným kanálům [[RGB]] (červená, zelená, modrá) každý pixel alfa-bitmapy ještě navíc obsahuje položku průhlednosti známou jako alfa-kanál. Alfa kánál má typicky tolik bitů jako jednotlivé kanály barev, tedy například u 32-bitových bitmap či textur se užívá formát R8G8B8A8 (pořadí jednotlivých komponent bývá někdy zaměněno). Prostřednictvím 8-bitového alfa-kanálu lze reprezentovat 256 různých úrovní průhlednosti – od 0 (pixel je plně transparentní) do 255 (pixel je zcela neprůhledný).