Grafická pipeline je něco, nad čím většina lidí již dopředu „ohrnuje nos“, protože jsou přesvědčeni o tom, že se jedná o něco tak zbytečně složitého, že pokud člověk nechce být herním vývojářem, nebo architektem GPU, takovéto vědomosti prostě a jednoduše mít nemusí. Jistě, grafická pipeline je opravdu záležitostí složitou, nicméně je to základ veškerého dění kolem grafických karet a bez jejího pochopení alespoň na úrovni základů, není možné pochopit, jak vlastně hry, 3D API a grafické karty vůbec fungují.
Obtížnost pochopení grafické pipeline je přímo úměrná hloubce, do které chcete jít při jejím studiu. Pokud ale zůstanete v bezpečných mělkých vodách informací, věřte, že zas až tak složité to není. Pokud pochopíte pouhopouhé principy, máte vyhráno a rázem se před vámi pootevře onen tajuplný svět 3D a architektury grafických karet. A třeba vás to zaujme do takové míry, že se do dalšího a hlubšího studia pustíte sami a kdo ví, co by z toho mohlo nakonec být?
Dnes tedy začíná první z řady několika článků věnovaných různým úsekům grafické pipeline. Postupně se spolu podíváme na počítačové hry, 3D API (DirectX), grafické karty a jejich architekturu a nakonec nezapomeneme ani na monitory, na kterých naše grafická pipeline končí. Po skončení tohoto mini-seriálu byste pak měli být obeznámeni s principy grafické pipeline a vědět co jsou to Draw Calls, Command Buffers, Shadery, Preemption a bůh ví co ještě. A když se zadaří, nejenže budete vědět, že něco takového vůbec existuje, ale dokonce budete také vědět, proč to existuje a jak to zhruba funguje.
Dobře tedy, v dnešním článku se podíváme do míst, kde grafická pipeline vlastně vzniká, tedy do srdce samotné počítačové hry. Na úvod je třeba zdůraznit, že vše, co zde bude řečeno, je notně zjednodušeno. Vše se budu snažit popisovat tak, abyste vždy pochopili principy a to bez ohledu na to, že někdy neřeknu úplnou pravdu, nebo si některé informace „ohnu“ tak, aby se vše lépe vysvětlovalo. Pokud jste toto zdůraznění vzali na vědomí, pak naše exkurze po grafické pipeline může začít.