//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_tangent v3
                dcl_binormal v4
                dcl_blendweight v5
                dcl_texcoord1 v6
                dcl_texcoord2 v7
                dcl_texcoord3 v8
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.z, r0, c2
                dp4 r1.w, r1, r1
                dp4 oPos.w, r0, c3
                rsq r1.w, r1.w
                dp3 r2.w, v3, c7
                dp3 r2.x, v3, c4
                dp3 r2.y, v3, c5
                dp3 r2.z, v3, c6
                mul oT0.xyz, r1, r1.w
                dp4 r2.w, r2, r2
                dp3 r1.w, v4, c7
                dp3 r1.x, v4, c4
                dp3 r1.y, v4, c5
                dp3 r1.z, v4, c6
                rsq r2.w, r2.w
                dp4 r1.w, r1, r1
                mul oT2.xyz, r2, r2.w
                rsq r1.w, r1.w
                mul oT3.xyz, r1, r1.w
                dp4 oT7.x, r0, c4
                dp4 oT7.y, r0, c5
                dp4 oT7.z, r0, c6
                dp4 oT7.w, r0, c7
                mov oT1.xy, v2
                mov oT4.x, v5.x
                mov oT5.xy, v6
                mov oT6.xy, v7
                mov oT6.zw, v8.xyxy
            
            // approximately 35 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float bumpHeight;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D normalMap;
            //   sampler2D secondDiffuseMap;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   camPos           c1       1
            //   ambient          c2       1
            //   SpecularPower    c3       1
            //   bumpHeight       c4       1
            //   diffuseMap       s0       1
            //   normalMap        s1       1
            //   specularMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c5, 2, -1, 1, 0
                def c6, 0.200000003, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl t3.xyz
                dcl t4.x
                dcl t5.xy
                dcl t6
                dcl t7.xyz
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t5, s1
                texld r0, t6, s2
                add r2.xyz, -t7, c1
                dp3 r3.x, r2, r2
                rsq r0.w, r3.x
                mad r3.xyz, r2, r0.w, c0
                mad r1.xy, c5.x, r1, c5.y
                nrm r2.xyz, r3
                dp2add r0.w, r1, -r1, c5.z
                mul r3.xy, r1, c4.x
                rsq r0.w, r0.w
                rcp r3.z, r0.w
                nrm r1.xyz, r3
                mul r3.xyz, r1.y, t3
                mad r3.xyz, r1.x, t2, r3
                mad r1.xyz, r1.z, t0, r3
                dp3 r2.x, r1, r2
                max r1.w, r2.x, c5.w
                dp3 r1.x, r1, c0
                pow r0.w, r1.w, c3.x
                mul r2.xyz, r0, r0.w
                max r2.w, r1.x, c5.w
                mov r0.x, t6.z
                mov r0.y, t6.w
                texld r1, r0, s3
                texld r0, t1, s0
                lrp r3.xyz, t4.x, r1, r0
                mul r0.xyz, r2.w, r3
                mad r0.xyz, r3, c2, r0
                mad r0.xyz, r2, c6.x, r0
                mov oC0, r0
            
            // approximately 38 instruction slots used (4 texture, 34 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_tangent v3
                dcl_binormal v4
                dcl_blendweight v5
                dcl_texcoord1 v6
                dcl_texcoord2 v7
                dcl_texcoord3 v8
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.z, r0, c2
                dp4 r1.w, r1, r1
                dp4 oPos.w, r0, c3
                rsq r1.w, r1.w
                dp3 r2.w, v3, c7
                dp3 r2.x, v3, c4
                dp3 r2.y, v3, c5
                dp3 r2.z, v3, c6
                mul oT0.xyz, r1, r1.w
                dp4 r2.w, r2, r2
                dp3 r1.w, v4, c7
                dp3 r1.x, v4, c4
                dp3 r1.y, v4, c5
                dp3 r1.z, v4, c6
                rsq r2.w, r2.w
                dp4 r1.w, r1, r1
                mul oT2.xyz, r2, r2.w
                rsq r1.w, r1.w
                mul oT3.xyz, r1, r1.w
                dp4 oT7.x, r0, c4
                dp4 oT7.y, r0, c5
                dp4 oT7.z, r0, c6
                dp4 oT7.w, r0, c7
                mov oT1.xy, v2
                mov oT4.x, v5.x
                mov oT5.xy, v6
                mov oT6.xy, v7
                mov oT6.zw, v8.xyxy
            
            // approximately 35 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float bumpHeight;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D normalMap;
            //   sampler2D secondDiffuseMap;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   camPos           c1       1
            //   ambient          c2       1
            //   SpecularPower    c3       1
            //   bumpHeight       c4       1
            //   diffuseMap       s0       1
            //   normalMap        s1       1
            //   specularMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c5, 2, -1, 1, 0
                def c6, 0.200000003, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl t3.xyz
                dcl t4.x
                dcl t5.xy
                dcl t6
                dcl t7.xyz
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t5, s1
                texld r0, t6, s2
                add r2.xyz, -t7, c1
                dp3 r3.x, r2, r2
                rsq r0.w, r3.x
                mad r3.xyz, r2, r0.w, c0
                mad r1.xy, c5.x, r1, c5.y
                nrm r2.xyz, r3
                dp2add r0.w, r1, -r1, c5.z
                mul r3.xy, r1, c4.x
                rsq r0.w, r0.w
                rcp r3.z, r0.w
                nrm r1.xyz, r3
                mul r3.xyz, r1.y, t3
                mad r3.xyz, r1.x, t2, r3
                mad r1.xyz, r1.z, t0, r3
                dp3 r2.x, r1, r2
                max r1.w, r2.x, c5.w
                dp3 r1.x, r1, c0
                pow r0.w, r1.w, c3.x
                mul r2.xyz, r0, r0.w
                max r2.w, r1.x, c5.w
                mov r0.x, t6.z
                mov r0.y, t6.w
                texld r1, r0, s3
                texld r0, t1, s0
                lrp r3.xyz, t4.x, r1, r0
                mul r0.xyz, r2.w, r3
                mad r0.xyz, r3, c2, r0
                mad r0.xyz, r2, c6.x, r0
                mov oC0, r0
            
            // approximately 38 instruction slots used (4 texture, 34 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_tangent v3
                dcl_binormal v4
                dcl_blendweight v5
                dcl_texcoord1 v6
                dcl_texcoord2 v7
                dcl_texcoord3 v8
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.z, r0, c2
                dp4 r1.w, r1, r1
                dp4 oPos.w, r0, c3
                rsq r1.w, r1.w
                dp3 r2.w, v3, c7
                dp3 r2.x, v3, c4
                dp3 r2.y, v3, c5
                dp3 r2.z, v3, c6
                mul oT0.xyz, r1, r1.w
                dp4 r2.w, r2, r2
                dp3 r1.w, v4, c7
                dp3 r1.x, v4, c4
                dp3 r1.y, v4, c5
                dp3 r1.z, v4, c6
                rsq r2.w, r2.w
                dp4 r1.w, r1, r1
                mul oT2.xyz, r2, r2.w
                rsq r1.w, r1.w
                mul oT3.xyz, r1, r1.w
                dp4 oT7.x, r0, c4
                dp4 oT7.y, r0, c5
                dp4 oT7.z, r0, c6
                dp4 oT7.w, r0, c7
                mov oT1.xy, v2
                mov oT4.x, v5.x
                mov oT5.xy, v6
                mov oT6.xy, v7
                mov oT6.zw, v8.xyxy
            
            // approximately 35 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float bumpHeight;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D normalMap;
            //   sampler2D secondDiffuseMap;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name             Reg   Size
            //   ---------------- ----- ----
            //   lightDir         c0       1
            //   camPos           c1       1
            //   ambient          c2       1
            //   SpecularPower    c3       1
            //   bumpHeight       c4       1
            //   diffuseMap       s0       1
            //   normalMap        s1       1
            //   specularMap      s2       1
            //   secondDiffuseMap s3       1
            //
            
                ps_2_0
                def c5, 2, -1, 1, 0
                def c6, 0.200000003, 0, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl t3.xyz
                dcl t4.x
                dcl t5.xy
                dcl t6
                dcl t7.xyz
                dcl_2d s0
                dcl_2d s1
                dcl_2d s2
                dcl_2d s3
                texld r1, t5, s1
                texld r0, t6, s2
                add r2.xyz, -t7, c1
                dp3 r3.x, r2, r2
                rsq r0.w, r3.x
                mad r3.xyz, r2, r0.w, c0
                mad r1.xy, c5.x, r1, c5.y
                nrm r2.xyz, r3
                dp2add r0.w, r1, -r1, c5.z
                mul r3.xy, r1, c4.x
                rsq r0.w, r0.w
                rcp r3.z, r0.w
                nrm r1.xyz, r3
                mul r3.xyz, r1.y, t3
                mad r3.xyz, r1.x, t2, r3
                mad r1.xyz, r1.z, t0, r3
                dp3 r2.x, r1, r2
                max r1.w, r2.x, c5.w
                dp3 r1.x, r1, c0
                pow r0.w, r1.w, c3.x
                mul r2.xyz, r0, r0.w
                max r2.w, r1.x, c5.w
                mov r0.x, t6.z
                mov r0.y, t6.w
                texld r1, r0, s3
                texld r0, t1, s0
                lrp r3.xyz, t4.x, r1, r0
                mul r0.xyz, r2.w, r3
                mad r0.xyz, r3, c2, r0
                mad r0.xyz, r2, c6.x, r0
                mov oC0, r0
            
            // approximately 38 instruction slots used (4 texture, 34 arithmetic)
            
}; } }