Co to jest cel renderowania?
W programowaniu grafiki komputerowej celem renderowania jest obszar pamięci komputera, w którym rysowana jest następna wyświetlana klatka. Najczęściej używany do zwiększenia szybkości renderowania, cel renderowania zwykle znajduje się w obszarze dedykowanej pamięci na karcie graficznej w pobliżu procesora graficznego (GPU). Chociaż koncepcja jest prawie taka sama, istnieją pewne niewielkie różnice w konwencjach implementacji i nazewnictwa związanych z celem renderowania; zależą one od używanego języka programowania lub biblioteki, przy czym niektóre języki nazywają go buforem wstecznym, obiektem bufora ramki lub podwójnym buforem. Jest również możliwe, szczególnie w trójwymiarowej grafice komputerowej (3D), użycie celu renderowania do narysowania tekstur na obiektach, aby pomóc zoptymalizować końcowy obraz wyświetlany po skompilowaniu. W niektórych przypadkach możliwe jest posiadanie wielu celów renderowania (MRT), z różnymi częściami ramki rysowanymi na różnych powierzchniach, a następnie łączonymi w ostateczny cel.
Idea celu renderowania jest podobna do procesu stosowanego przy podwójnym buforowaniu. Obraz jest zasadniczo rysowany na powierzchni poza ekranem, która jest tak naprawdę obszarem pamięci, więc kiedy nadchodzi czas na narysowanie następnej klatki na urządzeniu wyświetlającym lub ekranie, można to zrobić tak szybko, jak to możliwe, ponieważ wszystkie funkcji rysowania zostały już wykonane. Różnica w stosunku do celu renderowania w wielu implementacjach polega na tym, że obszar pamięci może znajdować się na karcie graficznej i zarządzany przez sprzęt lub inne aspekty GPU, dzięki czemu jest znacznie wydajniejszy i szybszy niż zarządzany programowo projekt podwójnego buforowania.
W przypadku programowania grafiki komputerowej 3D cel renderowania można wykorzystać do optymalizacji renderowania obiektów, które wykorzystują obrazy do tekstury powierzchni. Kontekst renderowania znajduje się w sprzęcie graficznym, więc może to pozwolić na bardzo szybką rasteryzację obiektów 3D. W ten sposób można również rysować efekty specjalne, dzięki czemu montaż ostatniej sceny na buforze tylnym jest bardzo szybki, ponieważ większość informacji graficznych jest przenoszona na kartę graficzną tylko w niewielkiej odległości.
Używany sprzęt graficzny, sterowniki i biblioteki mogą mieć wpływ na działanie celu renderowania. Jednym szczególnym ograniczeniem jest stosowanie MRT, w których karta graficzna określa, ile celów można użyć jednocześnie. Niektóre karty w ogóle nie mają żadnej obsługi sprzętowej dla celów renderowania, chociaż podobną funkcjonalność można zwykle osiągnąć alternatywnymi sposobami.