//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_texcoord2 v6
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.y, r0, c1
                dp4 r1.w, r1, r1
                dp4 oPos.z, r0, c2
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT6.x, r0, c4
                dp4 oT6.y, r0, c5
                dp4 oT6.z, r0, c6
                dp4 oT6.w, r0, c7
                mov oT1.xy, v2
                mov oT5.xy, v6
            
            // approximately 18 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   lightDir      c0       1
            //   camPos        c1       1
            //   ambient       c2       1
            //   SpecularPower c3       1
            //   diffuseMap    s0       1
            //   specularMap   s1       1
            //
            
                ps_2_0
                def c4, 0, 0.5, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t5.xy
                dcl t6.xyz
                dcl_2d s0
                dcl_2d s1
                texld r1, t5, s1
                texld r0, t1, s0
                add r2.xyz, -t6, c1
                dp3 r3.x, r2, r2
                rsq r1.w, r3.x
                mad r3.xyz, r2, r1.w, c0
                nrm r2.xyz, r3
                dp3 r3.x, t0, r2
                max r2.w, r3.x, c4.x
                pow r1.w, r2.w, c3.x
                dp3 r2.x, t0, c0
                mul r1.xyz, r1, r1.w
                max r1.w, r2.x, c4.x
                mul r2.xyz, r0, r1.w
                mad r0.xyz, r0, c2, r2
                mad r0.xyz, r1, c4.y, r0
                mov oC0, r0
            
            // approximately 21 instruction slots used (2 texture, 19 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_texcoord2 v6
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.y, r0, c1
                dp4 r1.w, r1, r1
                dp4 oPos.z, r0, c2
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT6.x, r0, c4
                dp4 oT6.y, r0, c5
                dp4 oT6.z, r0, c6
                dp4 oT6.w, r0, c7
                mov oT1.xy, v2
                mov oT5.xy, v6
            
            // approximately 18 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   lightDir      c0       1
            //   camPos        c1       1
            //   ambient       c2       1
            //   SpecularPower c3       1
            //   diffuseMap    s0       1
            //   specularMap   s1       1
            //
            
                ps_2_0
                def c4, 0, 0.5, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t5.xy
                dcl t6.xyz
                dcl_2d s0
                dcl_2d s1
                texld r1, t5, s1
                texld r0, t1, s0
                add r2.xyz, -t6, c1
                dp3 r3.x, r2, r2
                rsq r1.w, r3.x
                mad r3.xyz, r2, r1.w, c0
                nrm r2.xyz, r3
                dp3 r3.x, t0, r2
                max r2.w, r3.x, c4.x
                pow r1.w, r2.w, c3.x
                dp3 r2.x, t0, c0
                mul r1.xyz, r1, r1.w
                max r1.w, r2.x, c4.x
                mul r2.xyz, r0, r1.w
                mad r0.xyz, r0, c2, r2
                mad r0.xyz, r1, c4.y, r0
                mov oC0, r0
            
            // approximately 21 instruction slots used (2 texture, 19 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_texcoord2 v6
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.y, r0, c1
                dp4 r1.w, r1, r1
                dp4 oPos.z, r0, c2
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT6.x, r0, c4
                dp4 oT6.y, r0, c5
                dp4 oT6.z, r0, c6
                dp4 oT6.w, r0, c7
                mov oT1.xy, v2
                mov oT5.xy, v6
            
            // approximately 18 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float SpecularPower;
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   sampler2D specularMap;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   lightDir      c0       1
            //   camPos        c1       1
            //   ambient       c2       1
            //   SpecularPower c3       1
            //   diffuseMap    s0       1
            //   specularMap   s1       1
            //
            
                ps_2_0
                def c4, 0, 0.5, 0, 0
                dcl t0.xyz
                dcl t1.xy
                dcl t5.xy
                dcl t6.xyz
                dcl_2d s0
                dcl_2d s1
                texld r1, t5, s1
                texld r0, t1, s0
                add r2.xyz, -t6, c1
                dp3 r3.x, r2, r2
                rsq r1.w, r3.x
                mad r3.xyz, r2, r1.w, c0
                nrm r2.xyz, r3
                dp3 r3.x, t0, r2
                max r2.w, r3.x, c4.x
                pow r1.w, r2.w, c3.x
                dp3 r2.x, t0, c0
                mul r1.xyz, r1, r1.w
                max r1.w, r2.x, c4.x
                mul r2.xyz, r0, r1.w
                mad r0.xyz, r0, c2, r2
                mad r0.xyz, r1, c4.y, r0
                mov oC0, r0
            
            // approximately 21 instruction slots used (2 texture, 19 arithmetic)
            
}; } }