Co to jest Atlas tekstur?

W programowaniu grafiki komputerowej atlas tekstur jest dwuwymiarowym (2D) obrazem z wieloma teksturami lub wieloma obrazami w głównym obrazie, które mogą być wyodrębnione i używane przez główną aplikację do oszczędzania zasobów, które w przeciwnym razie byłyby używane do ładowania i konserwacji każdy indywidualny obraz lub teksturę. W trójwymiarowej (3D) grafice komputerowej atlas tekstur różni się nieco tym, że zawiera cały obraz, który ma być teksturowany dla danego obiektu 3D, ale obraz ten jest ułożony w czasami mylący i zniekształcony sposób, z poszczególnymi twarzami każdego wielokąta w modelu 3D wykreślonego płasko na obrazie 2D. Niektóre języki programowania, biblioteki graficzne, a nawet sprzęt mają pewien narzut systemowy związany z użyciem pojedynczego obrazu. Łączenie wielu obrazów w jeden arkusz lub atlas tekstur pozwala programowi zmniejszyć narzut kosztem dodatkowego kodu komputerowego i ewentualnie czasu przetwarzania w celu narysowania podsekcji atlasu na powierzchniach, które ich wymagają.

Stosowany w grafice komputerowej 3D atlas tekstur jest wynikiem procesu znanego jako mapowanie UVW. Litery UVW nie są akronimem, ale odnoszą się do współrzędnych tekstury i są używane, aby uniknąć pomyłek z bardziej standardowymi współrzędnymi X, Y i Z, które są używane do geometrii sceny. Jeśli model 3D ma używać mapowania UVW, każdy z wielokątów jest najpierw spłaszczany w celu utworzenia obrazu 2D, przy czym każdy wielokąt pozostaje połączony z sąsiednimi wielokątami. Otrzymany atlas tekstur — który zawiera wszystkie wielokąty modelu 3D ułożone płasko, proces zwany czasem rozpakowywaniem — może być następnie użyty jako szablon, aby zapewnić dokładne rozmieszczenie obrazów na różnych powierzchniach obiektu.

W aplikacjach 2D atlas tekstur może zaoszczędzić zasoby systemowe i czas poświęcony na ładowanie obrazu, a także zwiększyć szybkość renderowania, zmniejszając ilość pracy, jaką musi wykonać karta graficzna, aby szybko zmieniać obrazy. Atlas tekstur 2D może być używany w graficznym interfejsie użytkownika (GUI), w którym każdy z obrazów przycisku znajduje się na tym samym obrazie we wzorze siatki. W ten sposób, za każdym razem, gdy obraz przycisku musi zostać wyrenderowany na ekranie, można narysować podsekcję większego obrazu, zamiast najpierw przesuwać lokalizacje w pamięci lub ładować indywidualną teksturę do pamięci graficznej.

Jedną z komplikacji związanych z używaniem atlasu tekstur jest wymagana precyzja, jeśli atlas jest tworzony ręcznie. W przypadku aplikacji korzystającej z kafelków o szerokości 32 pikseli, atlas musi mieć każdy kafelek wyrównany dokładnie w 32-pikselowych odstępach, co może być bardzo czasochłonne i nużące. Wiele razy programiści będą używać jakiegoś oprogramowania narzędziowego, aby pobrać partię pojedynczych obrazów i skonstruować atlas proceduralnie, eliminując potrzebę liczenia pikseli w programie do malowania.