Pada awalnya ada cahaya
Pencahayaan OpenGL, untuk lebih spesifik, yang menentukan operasi matematika tertentu untuk diterapkan pada sebuah fragmen, yang kemudian dikombinasikan dengan tekstur untuk memperoleh warna akhir.
Dan kemudian ada Gempa
Gempa tidak menggunakan pencahayaan semacam ini untuk banyak objek itu. Alih-alih itu menggunakan tekstur kedua untuk mewakili pencahayaan, yang dikalikan dengan (atau "dimodulasi dengan) tekstur objek untuk memperoleh warna akhir.
Namun, perangkat keras saat itu tidak mendukung ini dalam satu operasi. Jadi Quake perlu menggambar objek pemandangan itu dua kali:
- Gambar semuanya sekali untuk meletakkan tekstur dasar.
- Atur mode campuran modulasi.
- Gambar semuanya untuk yang kedua kalinya untuk menerapkan tekstur pencahayaan.
Ini tentu saja lambat; tidak hanya semua geometri perlu diubah dan dipotong dua kali (yang pada waktu itu adalah operasi CPU), tetapi setiap piksel di layar akhirnya disentuh dua kali selama rendering.
Masukkan multitexture
Multitexture adalah solusi untuk ini, dan awalnya diekspos melalui ekstensi GL_SGIS_multitexture, yang hanya ada pada kartu 3DFX konsumen tertentu. Awalnya itu hanya memungkinkan pencampuran dua tekstur (dan dengan serangkaian mode campuran yang terbatas).
Mengutip dari readme GLQuake asli :
GL_SGIS_multitexture
Dukungan multitextures memungkinkan perangkat keras tertentu untuk membuat dunia dalam satu lintasan, bukan dua. GLQuake menggunakan dua lintasan, satu untuk tekstur dunia dan yang kedua untuk lightmap yang dicampur pada tekstur. Pada beberapa perangkat keras, dengan GL_SIGS_multitexture mendukung implementasi OpenGL, ini dapat dilakukan dalam satu pass. Pada perangkat keras yang mendukung ini, Anda akan mendapatkan peningkatan frame rate 60% hingga 100%. Saat ini, hanya kartu dual TMU 3DFX (seperti Obsidian 2220) yang mendukung ekstensi ini, tetapi perangkat keras lain akan segera menyusul.
Penting untuk diingat bahwa pada saat ini efek seperti pemetaan normal, jenis pencahayaan per-pixel lainnya, bahkan shader, dan sebagainya tidak ada (baik memang ada, tetapi terutama hanya dalam makalah akademik dan proyek penelitian, dan tidak dianggap layak untuk digunakan dalam rendering waktu-nyata).
Dan sampai sekarang
Dari sini cukup banyak seperti yang dijelaskan dalam jawaban lain. Multitexturing menjadi fitur standar dari waktu ke waktu, dengan lebih banyak mode campuran tersedia, akhirnya memberi jalan pada kode shader sewenang-wenang.
Tetapi yang penting untuk keperluan pertanyaan Anda adalah ini: pada awalnya fungsi standar hanya bisa menggunakan satu tekstur pada saat rendering. Mampu menggunakan lebih dari satu adalah fungsionalitas tambahan yang hanya didukung oleh perangkat keras kelas atas, dan karenanya diperlukan sebuah nama. Nama itu bisa saja "dual-texturing" (karena implementasi pertama hanya mendukung dua tekstur) tetapi dengan satu mata di masa depan nama "multitexture" dipilih.
Bacaan lebih lanjut tentang sejarah semua ini tersedia di sini , dan penulisan sejarah yang baik (dari konteks yang lebih luas, dan bagian multitekstur yang dimainkan di dalamnya) pada jawaban Programmers.SE ini .