//listing of all techniques and passes with embedded asm listings 

technique Default
{
    pass Pass0
    {
        vertexshader = 
            asm {
            
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_blendweight v3
                dcl_texcoord1 v4
                dcl_texcoord2 v5
                dcl_texcoord3 v6
                mad r1, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r1, c0
                dp4 oPos.y, r1, c1
                dp3 r0.w, v1, c7
                dp3 r0.x, v1, c4
                dp3 r0.y, v1, c5
                dp3 r0.z, v1, c6
                dp4 oPos.z, r1, c2
                dp4 r0.w, r0, r0
                dp4 oPos.w, r1, c3
                rsq r0.w, r0.w
                mul oT0.xyz, r0, r0.w
                mov oT1.xy, v2
                mov oT2.xy, v4
                mov oT3.xy, v5
                mov oT4.xy, v6
                mov oT5.x, v3.x
            
            // approximately 17 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   sampler2D additiveMap;
            //   float4 ambient;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D multiplierMap;
            //   sampler2D secondDiffuseMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   ambient          c1       1
            //   diffuseMap       s0       1
            //   multiplierMap    s1       1
            //   additiveMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c2, 0, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xy
                dcl t3.xy
                dcl t4.xy
                dcl t5.x
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t2, s1
                texld r2, t3, s2
                texld r3, t4, s3
                texld r0, t1, s0
                dp3 r4.x, t0, c0
                max r1.w, r4.x, c2.x
                add r4.xyz, r1.w, c1
                lrp r5.xyz, t5.x, r3, r0
                mad r0.xyz, r5, r1, r2
                mul r0.xyz, r4, r0
                mov oC0, r0
            
            // approximately 11 instruction slots used (4 texture, 7 arithmetic)
            
}; } } technique Transparent { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_blendweight v3
                dcl_texcoord1 v4
                dcl_texcoord2 v5
                dcl_texcoord3 v6
                mad r1, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r1, c0
                dp4 oPos.y, r1, c1
                dp3 r0.w, v1, c7
                dp3 r0.x, v1, c4
                dp3 r0.y, v1, c5
                dp3 r0.z, v1, c6
                dp4 oPos.z, r1, c2
                dp4 r0.w, r0, r0
                dp4 oPos.w, r1, c3
                rsq r0.w, r0.w
                mul oT0.xyz, r0, r0.w
                mov oT1.xy, v2
                mov oT2.xy, v4
                mov oT3.xy, v5
                mov oT4.xy, v6
                mov oT5.x, v3.x
            
            // approximately 17 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   sampler2D additiveMap;
            //   float4 ambient;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D multiplierMap;
            //   sampler2D secondDiffuseMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   ambient          c1       1
            //   diffuseMap       s0       1
            //   multiplierMap    s1       1
            //   additiveMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c2, 0, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xy
                dcl t3.xy
                dcl t4.xy
                dcl t5.x
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t2, s1
                texld r2, t3, s2
                texld r3, t4, s3
                texld r0, t1, s0
                dp3 r4.x, t0, c0
                max r1.w, r4.x, c2.x
                add r4.xyz, r1.w, c1
                lrp r5.xyz, t5.x, r3, r0
                mad r0.xyz, r5, r1, r2
                mul r0.xyz, r4, r0
                mov oC0, r0
            
            // approximately 11 instruction slots used (4 texture, 7 arithmetic)
            
}; } pass Pass1 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_blendweight v3
                dcl_texcoord1 v4
                dcl_texcoord2 v5
                dcl_texcoord3 v6
                mad r1, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r1, c0
                dp4 oPos.y, r1, c1
                dp3 r0.w, v1, c7
                dp3 r0.x, v1, c4
                dp3 r0.y, v1, c5
                dp3 r0.z, v1, c6
                dp4 oPos.z, r1, c2
                dp4 r0.w, r0, r0
                dp4 oPos.w, r1, c3
                rsq r0.w, r0.w
                mul oT0.xyz, r0, r0.w
                mov oT1.xy, v2
                mov oT2.xy, v4
                mov oT3.xy, v5
                mov oT4.xy, v6
                mov oT5.x, v3.x
            
            // approximately 17 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   sampler2D additiveMap;
            //   float4 ambient;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D multiplierMap;
            //   sampler2D secondDiffuseMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   ambient          c1       1
            //   diffuseMap       s0       1
            //   multiplierMap    s1       1
            //   additiveMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c2, 0, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xy
                dcl t3.xy
                dcl t4.xy
                dcl t5.x
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t2, s1
                texld r2, t3, s2
                texld r3, t4, s3
                texld r0, t1, s0
                dp3 r4.x, t0, c0
                max r1.w, r4.x, c2.x
                add r4.xyz, r1.w, c1
                lrp r5.xyz, t5.x, r3, r0
                mad r0.xyz, r5, r1, r2
                mul r0.xyz, r4, r0
                mov oC0, r0
            
            // approximately 11 instruction slots used (4 texture, 7 arithmetic)
            
}; } }