Co je to buffer šablony?
V počítačovém grafickém programování je šablona šablony oblastí paměti, kterou lze nakreslit a použít ve vztahu k jiným grafickým vyrovnávacím pamětí k dosažení různých efektů nebo k maskování oblastí scény, aby nebyly zpracovány nebo vykresleny. Šablovač šablony je vyrovnávací paměť per-pixelů podobný černobílému obrázku, ve kterém každé místo v vyrovnávací paměti může držet hodnotu, která je nejčastěji 1 bajt dlouhá nanejvýš, ale může být jen 1 bit. Buffer původně byl navržen tak, aby působil jako skutečná nebo falešná maska, podobně jako šablona v reálném světě, takže oblasti scény by mohly být zakryty nebo ignorovány nastavením hodnot různých oblastí šablony na jinou hodnotu než nula. Existuje řada použití pro vyrovnávací paměť nad rámec jednoduchého maskování, včetně kreslení stínového svazku, implementace halos kolem objektů nebo lokalizačních oblastí, kde se objekty navzájem překrývají. V mnoha případech je vyrovnávací paměť udržována v grafické paměti na grafické kartě, takže k ní lze rychle přistupovat během Rendering.
Koncept bufferu šablony byl původně způsob, jak vytvořit dvourozměrnou (2D) masku, která by mohla být aplikována na trojrozměrnou (3D) scénu, když se vrcholy procházely grafickým potrubí. Pokud se umístění 3D vrcholu, jakmile je rasterizováno, souvisí s oblastí šablony, která nebyla nastavena na nulu, pak by tento vrchol mohl být ignorován a zbytek zpracování potrubí přeskočil. To umožnilo programátorům způsob, jak vykreslit pouze malé části scény nebo vykreslit obrázek do nepravidelně tvarovaného výřezu, jako je odraz v malém zrcadle ve větší scéně, kde je tvar zrcadla nakreslen jako šablona v vyrovnávací paměti, a potom je odraz natažen skrz tento tvar.
obavy z paměti vedly k tomu, že původní podoba vyrovnávací paměti šablony byla mřížkou jednobitových hodnot, ve kterých každý pixel v vyrovnávací paměti mohl být pravdivý nebo nepravdivý. Jak se vyvíjí grafické kartyED, většina vyrovnávacích pamětí byla schopna držet plnou hodnotu bajtů v každém místě pixelů, což programátorům umožňuje mít v místě složitější hodnoty. To může umožnit použití vyrovnávací paměti k detekci oblastí, kde se objekty překrývají, což lze provést zvýšením hodnoty vyrovnávací paměti na místě, pokud objekt zabírá pixel na obrazovce po rasterizaci. Po této operaci se hodnota každého umístění pixelů v vyrovnávací paměti rovná počtu objektů, které překračují pixel na obrazovce.
Jedním z nejpopulárnějších využití pro šablonu šablony je vytváření stínů hlasitosti. Toho lze provést prvním vykreslením scény s velmi tlumeným osvětlením, takže se zdá, že všechno je zastíněno. Dále se provádějí výpočty pro stanovení umístění všech povrchů polygonu ve scéně, které jsou osvětleny světelným zdrojem, a tyto tvary jsou přeneseny do vyrovnávací paměti šablony. Scéna je znovu vykreslena, jako by byl každý objekt plně osvětlen a je smíchán skrz tvary šablony na stínovou scénu, EFFectively vytvoření obrázku, který, jak se zdá, obsahuje objekty se stíny.