Skip to main content

Co to jest bufor szablonu?

W programowaniu graficznym komputerowym bufor szablonu jest obszarem pamięci, do której można narysować i stosować w odniesieniu do innych buforów graficznych w celu osiągnięcia różnych efektów lub maskowania obszarów sceny, aby nie były przetwarzane ani renderowane.Bufor szablonu jest buforem na piksel podobny do czarno-białego obrazu, w którym każde miejsce w buforze może pomieścić wartość, która najczęściej ma najwyżej 1 bajt, ale może być tak mały jak 1 bit.Bufor pierwotnie został zaprojektowany tak, aby działał jako prawdziwa lub fałszywa maska, podobnie jak prawdziwy szablon w świecie, więc obszary sceny można było zasłonić lub zignorować, ustalając wartości różnych regionów bufora szablonu na wartość inną niż zero.Istnieje wiele zastosowań bufora poza prostym maskowaniem, w tym rysowanie objętości cienia, wdrażanie aureoli wokół obiektów lub lokalizowanie obszarów, w których obiekty nakładają się na siebie.W wielu przypadkach bufor jest utrzymywany w pamięci graficznej na karcie graficznej, dzięki czemu można uzyskać do niej szybki dostęp podczas renderowania.zastosowane do trójwymiarowej (3D) sceny, gdy wierzchołki przesuwają się przez rurociąg graficzny.Jeśli po lokalizacji wierzchołka 3D, po rasteryzowanym, związanym z obszarem buforu szablonu, który nie był ustawiony na zero, wówczas ten wierzchołek można zignorować, a resztę przetwarzania rurociągu pominęła.Umożliwiło to programistom sposób na renderowanie tylko małych części sceny lub renderowanie obrazu w nieregularnie ukształtowany widokowy, taki jak odbicie w małym lustrze w większej scenie, gdzie kształt lustra jest rysowany jako szablon w szablonie wBufor, a następnie odbicie jest rysowane przez ten kształt.

Obawy pamięci doprowadziły do oryginalnej formy bufora szablonu jest siatką o wartości pojedynczej bitowej, w której każdy piksel w buforze może być tylko prawdziwy lub fałszywy.W miarę opracowania kart graficznych większość buforów mogła pomieścić pełną wartość bajtu w każdej lokalizacji piksela, umożliwiając programistom posiadanie bardziej złożonych wartości w danej lokalizacji.Może to pozwolić na użycie bufora do wykrywania obszarów, w których obiekty nakładają się na siebie, co można wykonać poprzez zwiększenie wartości bufora w miejscu, jeśli obiekt zajmuje ten piksel na ekranie po rasteryzowaniu.Po tej operacji wartość każdej lokalizacji piksela w buforze będzie równa liczbie obiektów, które przecinają piksel na ekranie.

Jednym z najpopularniejszych zastosowań bufora szablonu jest tworzenie cieni głośności.Można to zrobić, najpierw renderując scenę z bardzo słabym oświetleniem, więc wszystko wydaje się być zacienione.Następnie wprowadzane są obliczenia w celu określenia lokalizacji wszystkich powierzchni wielokąta w scenie, które są oświetlone źródłem światła, a te kształty są przenoszone do buforu szablonu.Scena jest ponownie renderowana, jakby każdy obiekt był w pełni oświetlony i został mieszany przez kształty szablonu na scenę zacienioną, skutecznie tworząc obraz, który wydaje się zawierać obiekty z cieniami.