Na początku było światło
Konkretnie oświetlenie OpenGL, które określało pewne operacje matematyczne, które należy zastosować do fragmentu, które następnie połączono z teksturami w celu uzyskania ostatecznego koloru.
A potem był Quake
Quake nie używał tego rodzaju oświetlenia do wielu swoich obiektów. Zamiast tego użył drugiej tekstury do przedstawienia oświetlenia, która została pomnożona przez (lub „zmodulowana”) teksturą obiektu w celu uzyskania końcowego koloru.
Jednak ówczesny sprzęt nie obsługiwał tego w jednej operacji. Więc Quake musiał dwukrotnie narysować obiekty sceny:
- Narysuj wszystko raz, aby położyć podstawowe tekstury.
- Ustaw modulowany tryb mieszania.
- Narysuj wszystko po raz drugi, aby zastosować tekstury oświetlenia.
To oczywiście było powolne; nie tylko cała geometria musiała zostać dwukrotnie przekształcona i obcięta (co w tamtych czasach była operacją procesora), ale każdy piksel na ekranie został dotknięty dwukrotnie podczas renderowania.
Wprowadź multiteksturę
Rozwiązaniem tego było Multitexture, które zostało pierwotnie ujawnione za pomocą rozszerzenia GL_SGIS_multitexture, które istniało tylko na niektórych konsumenckich kartach 3DFX. Pierwotnie dozwolone było mieszanie tylko dwóch tekstur (z ograniczonym zestawem trybów mieszania).
Cytat z oryginalnego pliku Readme GLQuake :
GL_SGIS_multitexture Obsługa
multitekstur pozwala niektórym urządzeniom renderować świat w jednym przejściu zamiast dwóch. GLQuake używa dwóch przejść, jednego do tekstur świata, a drugiego do map świetlnych, które są mieszane z teksturami. Na niektórych urządzeniach, z implementacją OpenGL obsługiwaną przez GL_SIGS_multitexture, można to zrobić w jednym przebiegu. Na sprzęcie, który to obsługuje, uzyskasz 60 do 100% wzrost liczby klatek na sekundę. Obecnie tylko podwójne karty TMU 3DFX (takie jak Obsidian 2220) obsługują to rozszerzenie, ale wkrótce pojawi się inny sprzęt.
Ważne jest, aby pamiętać, że w tej chwili takie efekty, jak normalne mapowanie, wszelkie inne rodzaje oświetlenia na piksele, nawet shadery itp., Po prostu nie istniały (dobrze, ale przede wszystkim w pracach naukowych i projektach badawczych oraz nie zostały uznane za opłacalne do użycia w renderowaniu w czasie rzeczywistym).
I tak do dzisiaj
Stąd jest to prawie tak, jak opisano w innych odpowiedziach. Z czasem multiteksturowanie stało się standardową funkcją, dzięki czemu dostępnych jest więcej trybów mieszania, które ostatecznie ustępują miejsca dowolnemu kodowi modułu cieniującego.
Ale ważne dla celów twojego pytania jest to: na początku standardowa funkcjonalność była w stanie używać jednej tekstury na raz podczas renderowania. Możliwość korzystania z więcej niż jednego była dodatkową funkcją obsługiwaną tylko przez wysokiej klasy sprzęt, dlatego potrzebna była nazwa. Ta nazwa mogła być „podwójnie teksturowana” (ponieważ pierwsze implementacje obsługiwały tylko dwie tekstury), ale z jednym okiem na przyszłość wybrano nazwę „multitekstura”.
Dalsza lektura historii tego wszystkiego jest dostępna tutaj , a także dobry zapis historyczny (szerszego kontekstu i roli, jaką odgrywa w nim multiteksturowanie) w odpowiedzi na Programmers.SE .