Co je OpenGL® Framebuffer?
Framebuffer Open Graphics Library® (OpenGL®) je kódovací objekt, který zjednodušuje kódování vyrovnávací paměti pro vykreslování. Primárním využitím framebufferu OpenGL® je přidání grafických efektů do obrázku, což je obvykle funkce spojená s programy grafického designu. Dalším využitím framebufferu OpenGL® je přidání obrazu k obrazu, jako je statický nebo rozmazaný obraz. Zatímco efekty a textury mohou vypadat dobře samy o sobě, framebuffer je relativně zbytečný, pokud neexistuje obraz, ke kterému lze vázat efekty nebo textury; jinak se nic neobjeví. Při použití framebufferu se kombinuje několik dalších vyrovnávacích pamětí, což zefektivňuje sdružování grafických zdrojů, než kdyby byly vyrovnávací paměti použity samostatně.
Běžné programy grafického designu mají seznam speciálních efektů, které lze přidat k obrázku, ale provedení stejného postupu v OpenGL® je poměrně složité. Při použití framebufferu OpenGL® umístí obrázek do mnoha shaderů, které jsou schopny vytvářet efekty na pixel. To znamená, že na obrázek OpenGL® lze aplikovat složité efekty, což usnadňuje přidávání efektů a tyto efekty jsou vizuálně konzistentní.
Ve fyzickém světě je mnoho textur - téměř každý objekt má nějakou vizuálně odlišnou texturu. Pokud má projekt OpenGL® napodobovat realitu, je důležité použít texturu. V tomto programu existuje několik metod pro přidání textury, ale framebuffer OpenGL® je jednou z jednodušších metod. Použitím tohoto objektu lze texturu aplikovat na oblast nebo grafický objekt pomocí malého množství kódu.
Jeden problém s OpenGL® framebuffer je v tom, že nemůže fungovat sám; efekty musí obsahovat další obrázek, jinak se na obrazovce nic neobjeví. Efekty a textury se aplikují na obrázek, takže toto omezení se málokdy představuje. Když uživatel vytváří objekt framebuffer, je důležité, aby framebuffer a obraz byly stejné velikosti nebo aby existovaly oblasti bez efektů nebo textur. Oba musí také být svázáni k sobě, jinak nemusí být obraz během provozu správný.
Dalším důvodem pro použití framebufferu OpenGL® je to, že používá několik dalších vyrovnávacích pamětí současně. To nejen usnadňuje koordinaci vyrovnávacích pamětí, ale vyžaduje méně prostředků pro spuštění framebufferu ve srovnání s použitím ostatních vyrovnávacích pamětí samostatně. Používané vyrovnávací paměti jsou barvy, index, hloubka, šablony a vykreslovací vyrovnávací paměti.