The EXT_multitexture extension uses a cascade model to combine the incoming fragment color with the fragment's texture contribution from each texture unit. The first enabled texture unit receives the incoming fragment color and applies the texture unit's environment to combine the incoming fragment with the fragment's corresponding texture color for the texture unit. The resulting color is passed to the next enabled texture unit and that texture unit's texture environment is applied using the fragment's corresponding texture color for the texture unit. This process continues until all the enabled texture units are used. The order that the texture environments are applied is the numerical order of the texture units. Figure 29 shows the multitexture texture environment dataflow.
For now, the EXT_multitexture texture environment is sufficient to support today's multitexture applications such as light maps or dual-paraboloid environment maps. However, most existing multitexture hardware, and almost certainly all multitexture hardware being designed currently, supports a substantially more flexible facility for combining multiple textures (though the exact details vary from hardware vendor to vendor [15]). As of the writing, work is on-going to standardize a more powerful multitexture texture environment for OpenGL.