Separate diffuse and ambient fragment color components.

It will be a pleasure if the future version of OpenGL will be able to provide separate access to diffuse and ambient fragment lighting components. Just like EXT_separate_specular_color does for specular component. I believe that it may be extrememely useful for more sophisticated multi pass algorithms. For example:

First texture lighted only by ambient
ADD
Secondary texture lighted only by diffuse.

Because of separation of those operations even when we use same texture on both texturing units the resulting color can be brighter than original texture. That is absolutely impossible with standard aproach.

What do you think?

PS. sorry or pidgin-english.

With extensions like ATI_fragment_shader and NV_texture_shader, you can send colors as texture coordinates and use them directly (though there is a cost for doing so with texture shaders) in per-fragment operations. All you have to do is use NV_vertex_program or EXT_vertex_shader to calculate and send the appropriate values.