thanks, it is useful for me. I worked only within shade-c with normalmapping where it is done in a compex way, but finally I can see it. moreover, in shader workshops in.Normal is not used, so another good point
a question: is it faster to add and normalize than lerp 2 vectors?
what I still don't really understsand is why there are more methods for specular calculations, which have different final appearance. in shader workshops (and in another tutorial at rastertek.com) a reflection vector is calculated producing imo bad results, I found better to use the halfway vector method.