   GUIs and more than one texture.
  If I have declared my Vertices to cover the entire screen as follows:   public VertexPositionTexture[] Vertices;   public VertexDeclaration VertexDeclaration;   public FullScreenVertices(GraphicsDevice graphicsDevice)   {  // Define Triangles clockwise (TraingleStrip Method) so they face the Camera [TL -> TR -> BL -> BR]  this.Vertices = new VertexPositionTexture[4];  int i = 0;  /*   *  (-1,1)-----------(1,1)  [x]: -1 -----> 1    * ||   * ||   [y]:    1   * |(0,0)| |   * || |   * || |   *  (-1,-1)__________(1,-1)    -1   */  // Screen X,Y coordinatates go from (-1,1) [Top Left] to (1,-1) [Bottom Right]  // .Z coordinate of 0f = Draw on near clipping plane (as close to camera as possible)  Vertices[i++] = new VertexPositionTexture(new Vector3(-1, 1, 0f), new Vector2(0, 0));  // Top Left  Vertices[i++] = new VertexPositionTexture(new Vector3(1, 1, 0f), new Vector2(1, 0));   // Top Right  Vertices[i++] = new VertexPositionTexture(new Vector3(-1, -1, 0f), new Vector2(0, 1)); // Bottom Left  Vertices[i++] = new VertexPositionTexture(new Vector3(1, -1, 0f), new Vector2(1, 1));  // Bottom Right  this.VertexDeclaration = new VertexDeclaration(graphicsDevice, VertexPositionTexture.VertexElements);   }I can draw a GUI texture that covers the entire screen as follows:   public void Draw(GraphicsDevice device, Effect effect_Current)   {  effect_Current.Parameters["xGUI_Transparency"].SetValue(transparency);  //effect_Current.Parameters["xWorldViewProjection"].SetValue(Matrix.CreateOrthographic(device.Viewport.Width, device.Viewport.Height, 0.0f, 1.0f));  effect_Current.CurrentTechnique = effect_Current.Techniques["GUI_Transparent"];    effect_Current.Begin();  foreach (EffectPass pass in effect_Current.CurrentTechnique.Passes)  { pass.Begin(); graphicsDevice.VertexDeclaration = fullScreen_VertexDeclaration; graphicsDevice.DrawUserPrimitives<VertexPositionTexture>(PrimitiveType.TriangleStrip, fullScreen_Vertices, 0, 2); pass.End();  }  effect_Current.End();   }HLSL code://=============================================//----------- [XNA to HLSL Variables] ---------//=============================================float xGUI_Transparency;//=============================================//------------- [Texture Samplers] ------------//=============================================texture xTexture0;sampler textureSampler = sampler_state{texture = <xTexture0>;magfilter = LINEAR;minfilter = LINEAR;mipfilter = LINEAR;// No need for AddressU & AddressV};//=============================================//------------------ [Structs] ----------------//=============================================struct VertexToPixel{float4 Position : POSITION;float2 TexCoord: TEXCOORD0;};struct PixelToFrame{    float4 Color : COLOR0;};//=============================================//------ Technique: Draw Transparent GUI ------//=============================================VertexToPixel PassThroughVertexShader(float4 inPos: POSITION0, float2 inTexCoord: TEXCOORD0){VertexToPixel Output = (VertexToPixel)0;Output.Position = inPos;Output.TexCoord = inTexCoord;return Output;}PixelToFrame TransparentGUI(VertexToPixel PSIn) : COLOR0{PixelToFrame Output = (PixelToFrame)0;    float4 samplePos = tex2D(textureSampler, PSIn.TexCoord);    Output.Color = samplePos;    Output.Color.a = xGUI_Transparency;return Output;}technique GUI_Transparent{pass Pass0    {  AlphaBlendEnable = true;// Setup For Alpha BlendingZEnable = true;// Setup For Alpha BlendingZWriteEnable = false;// Setup For Alpha BlendingSrcBlend = SrcAlpha;// Normal Alpha BlendingDestBlend = InvSrcAlpha;// Normal Alpha BlendingBlendOp = Add;// Normal Alpha Blending   VertexShader = compile vs_1_1 PassThroughVertexShader();   PixelShader  = compile ps_2_0 TransparentGUI();    }}However, how would I draw something over the top of that without any z fighting and only in a certain location.  For example a crosshair in the center of the screen or an enemy boss health bar at the top of the screen?Thank you.   
  Can you not simply turn off z-testing and draw your gui stuff back to front?   ;  Ooops, yes I can turn off z testing as follows, but wont this affect transparency if some textures are of different alphas?ZEnable = true;ZWriteEnable = false;I guess the real problem I am having is positioning the crosshair and health bars on the screen.   