its possible to do this:
tex0color = texel[ tex0coord ]
tex2color = texel[ tex1coord dot tex0color, tex2coord dot tex0color ]
tex3color = texel[ tex3coord ]
you loose there the tex1color…
done like this:
tex0: [ map: 2dtexture with normalmap coords: texcoords ]
tex1: [ map: nothing coords: point_to_light_vec ]
tex2: [ map: 2dtexture for lighing coords: halfangle ]
tex3: [ map: 2dtexture with colormap coords: texcoords ]
what i thought to do whas this:
tex0: [ map: 2dtexture with normalmap coords: texcoords ]
tex1: [ map: 1dtexture with specularexponent coords: halfangle ]
tex2: [ map: 2dtexture with color coords: texcoords ]
tex3: [ map: nothing coords: distance/radius ]
with a shader like that:
texture2d
dot_product_texture1d
texture2d
passthrought
oh, and color0 = point_to_light
like that i could have a nice specularexponent ( only possible with texshader so really high and nice looking ), diffusepart ( and the complete combination at all ) in the registercombiners ( there i know how to live, no problems there ) and the perpixelattentuation, too ( 1 - tex3^2 in the combiner )
but there is no GL_DOT_PRODUCT_TEXTURE_1D_NV, right? boring if so…