Pod koniec dnia duszki i tekstury to tylko obrazy - bloki danych kolorów rastrowych (chociaż czasami przesuwamy nieco granice, aby umieścić w nich dane inne niż obrazy). Różnica polega głównie na tym, jak je wykorzystujemy.
Zwykle nazywamy obraz (lub część obrazu, który zawiera wiele oddzielnych elementów) „duchem”, jeśli jego zamierzonym celem renderowania jest narysowanie bezpośrednio na siatce 2D ekranu, bez zniekształceń perspektywy. Tak więc to, co widzisz w uruchomionej grze, jest w zasadzie tym, co widzisz w samym pliku obrazu (oprócz barwienia kolorów / zamiany palet / efektów przezroczystości). Dotyczy to kafelków tła i postaci / obiektów interaktywnych w grach 2D, kart „billboardowych”, takich jak cząstki i starsze style renderowania drzew i krzewów, a także elementów interfejsu użytkownika i ikon w grach 3D.
I odwrotnie, jeśli używamy obrazu do zapewnienia szczegółów powierzchni dla wielokątów obiektu 3D, które mogą być rysowane w perspektywie, zwykle nazywamy ten obraz „teksturą”. Ta nazwa została przeniesiona na inne zastosowania danych obrazu w celu modulowania renderowania czegoś innego, nawet jeśli nie dotyczą już tekstury w takim sensie, jak można to wyczuć opuszkami palców - takie jak odbicia, mapy zniekształceń, nakładki, maski lub dowolne ogólne wykorzystanie obrazów, których nie chcemy nazwać bardziej szczegółowo, ma tendencję do zlepiania się pod „teksturą” w naszej luźnej nomenklaturze.
To sprawia, że granice między tymi dwoma rozmytymi nie są szczególnie ścisłe. Jeśli mam obraz zawierający sekwencję pióropuszów ognia i dymu do wykorzystania przy rysowaniu billboardowanych cząstek w celu uzyskania efektu wybuchu, mógłbym nazwać to „arkuszem sprite” lub „teksturą flipbook” zamiennie. Lub jeśli mam obraz zestawu klocków zawierający wszystkie kafelki tła dla gry 2D, mógłbym dziś nazwać to „atlasem tekstur”, analogicznie do tekstur atlasu opracowanych dla gier 3D, mimo że jego dane i użycie w mojej grze 2D są nie do odróżnienia z tego, co ktoś inny nazwałby arkuszem sprite. Jeśli mam prostokąt geometrii, którego celem jest przedstawienie pojedynczego obrazu na ekranie, mógłbym nazwać to „teksturowanym quadem” lub „duszka” w zależności od tego, co chcę podkreślić na temat jego użycia.
(Zwróć uwagę tutaj w tym ostatnim przykładzie, że „duszek” oznacza zarówno segment obrazu źródłowego w naszych zasobach gry, jak i instancję renderowanej encji gry, która korzysta z tego segmentu obrazu - w inny sposób używamy tej terminologii nieco niekonsekwentnie)
Znajdziesz niektóre silniki i biblioteki, które kodują to rozróżnienie, wyrażając zamiar we własnej nomenklaturze. Na przykład w Unity możesz zaimportować zasób obrazu jako „Sprite” - umożliwia to dodatkowy zestaw opcji, które są zwykle pożądane dla obrazów interfejsu użytkownika lub zasobów gry 2D, takich jak wycinanie i pakowanie arkuszy sprite, oraz możliwość odniesienia części obrazu jako odrębne byty w scenie i ustawieniach obiektu. W takich przypadkach „Sprite” często oznacza „obraz (teksturę) plus metadane ” - ale nadal jest renderowany tak samo jak zwykłe tekstury pod maską. Dodatkowe opakowanie to wygoda, więc nie musimy mikromanalizować przesunięć UV i tym podobnych wszędzie tam, gdzie chcemy użyć obrazu;