Viel wirrwar herscht hier
Also 1: In eine .fx Datei spezifiziert nach Direct3D X-Bibiliothek kann dort sowohl die States gesetzt werden als auch ein Shader-Programm als HLSL und auch als ASM Definiert werden. Man kann das sogar mixen. Einige Beispiele der DX-Doku zeigen dies sehr schön.
2: Shader ersetzen nicht die Render States. Also z.B. Alpha-Blending. so steht es zumindest in der Doku. Der PixelShader erstzt aber alle Texturoperationen!
3: Shader-Programme setzten keine Texturen. Sowohl in der ASM Form noch in einer Hochsprachen-Form. Texturen und Vertice sind Daten die immer vom User gesetzt werden müssen!
4: Man kann dem VertexShader zwar die Texturkoordinaten angeben. Er verarbeitet aber nicht die Textur, sondern nur die Koordinaten. Dann kann man z.B. die Texturkoordinaten auf irgendeine weise verändern.
5: Tutorials: Gute Tut's für Shader kenne ich keine. Deswegen setze ich mich grad mit der DX Doku auseinander. Da gibt es schöne Referenzen und eine gute Übersicht über die Befehle für alle Shader Versionen. Daher Lerne ich grad damit und mit RenderMonkey.
Ist gar nicht so schwer wie ausschaut. Einfach mal ein paar Sachen ausprobieren. Vieleicht einfach mal einfach ein kleine VS-Prog schreiben das die Vertice Transformiert.
6: Die Fixed-Funktion Pipeline wird über die Shader Einheiten Reallisiert. Damit scheint man ein paar Transistoren einsparen zu können.