Al principio había luz
La iluminación de OpenGL, para ser específicos, especificaba ciertas operaciones matemáticas para aplicar a un fragmento, que luego se combinaban con texturas para obtener un color final.
Y luego estaba Quake
Quake no usó este tipo de iluminación para muchos de sus objetos. En su lugar, utilizó una segunda textura para representar la iluminación, que se multiplicó por (o "moduló con) la textura del objeto para obtener un color final.
Sin embargo, el hardware de la época no admitía esto en una sola operación. Entonces Quake necesitaba dibujar sus objetos de escena dos veces:
- Dibuje todo una vez para establecer las texturas base.
- Establecer un modo de mezcla modular.
- Dibuja todo por segunda vez para aplicar las texturas de iluminación.
Esto, por supuesto, fue lento; no solo era necesario transformar y recortar toda la geometría dos veces (lo que en aquellos días era una operación de CPU), sino que cada píxel en pantalla terminaba siendo tocado dos veces durante el renderizado.
Introduzca multitextura
Multitexture fue la solución a esto, y originalmente fue expuesto a través de la extensión GL_SGIS_multitexture, que solo existía en ciertas tarjetas 3DFX de consumo. Originalmente solo permitía mezclar dos texturas (y con un conjunto limitado de modos de fusión).
Para citar el archivo léame original de GLQuake :
GL_SGIS_multitexture La
compatibilidad con múltiples texturas permite que cierto hardware represente el mundo de una sola vez en lugar de dos. GLQuake usa dos pases, uno para las texturas del mundo y el segundo para los mapas de luz que se mezclan en las texturas. En algunos equipos, con una implementación de OpenGL compatible con GL_SIGS_multitexture, esto se puede hacer de una sola vez. En el hardware que admite esto, obtendrá un aumento del 60% al 100% en la velocidad de fotogramas. Actualmente, solo las tarjetas 3DFX duales TMU (como la Obsidian 2220) son compatibles con esta extensión, pero pronto seguirá otro hardware.
Es importante recordar que en este momento los efectos como el mapeo normal, cualquier otro tipo de iluminación por píxel, incluso sombreadores, etc., simplemente no existían (bueno, sí, pero principalmente solo en trabajos académicos y proyectos de investigación, y no se consideraron viables para su uso en renderizado en tiempo real).
Y así hasta el presente
A partir de aquí es más o menos como se describe en las otras respuestas. La multitextura se convirtió en una característica estándar con el tiempo, con más modos de mezcla disponibles, que finalmente dieron paso a un código de sombreador arbitrario.
Pero lo que es importante para los fines de su pregunta es esto: al principio, la funcionalidad estándar era solo poder usar una textura a la vez al renderizar. Poder usar más de uno era una funcionalidad adicional que solo soportaba hardware de alta gama, por lo que necesitaba un nombre. Ese nombre podría haber sido "texturizado dual" (ya que las primeras implementaciones solo admitían dos texturas) pero con un ojo puesto en el futuro se eligió el nombre "multitexture".
Más información sobre la historia de todo esto está disponible aquí , y una buena reseña histórica (del contexto más amplio, y la parte que desempeñó la multitextura en él) en esta respuesta de Programadores . SE.