   multi-pass techniques : shaders
  In the .FX files, I see that "technique" section has the option of multiple passes. Now I've searched the net for more info, but didn't find any. I can only guess the a multi-pass shader may look something like this :technique V01{  pass p0  {    VertexShader = ...    PixelShader = ...  }  pass p1  {    VertexShader = ...    PixelShader = ...  }  pass p2  {    VertexShader = ...    PixelShader = ...  }}- Can someone provide me links for more info on multiple pass techniques?- What is the order of execution of various VSs and PSs in such a technique? Is it like VS1>PS1>VS2>PS2 or VS1>VS2>PS1>PS2 ?- How do we take care of input/output of various shaders, coz they are interchanging input/outout?   
  -Multi-pass techniques aren't very common these days.  Multi-pass lighting is one of the few places where it still gets used...this is where you don't have enough shader instructions to calculate the contribution of multiple lights so you blend them together in separate passes.-Nothing really fancy happens with multiple passes...you do all the work right in your application code:UINT numPasses = 0;effect->Begin(&numPasses, 0);for (UINT i = 0; i < numPasses; i++){    // Vertex shader and pixel shader for this pass get set here,    // when you call BeginPass    effect->BeginPass(i);    // Draw primitives    effect->EndPass()...So as you see, whenever you call BeginPass, you switch to the vertex shader and pixel shader that corresponds to the index you pass as the parameter.  So you'll set the shaders, draw the primitives, set the next shaders, draw the same primitives again, etc.-There is no input/output of shaders, they're not exchanging anything.;  I also tried the same on a test shader and now its clear. Thnx :)   