this work fine on windows bu does not work on xbox360
code:
public
class QuadMesh{
public VertexBuffer MyVertexScreenQuad; public VertexDeclaration MyVertexDeclaration; public void CreateScreenQuad(CreateSettings Evo){
EvoPositionTexture[] Quad = new EvoPositionTexture[4];Quad[0].Position =
new Vector4(0, 0, 1f, 1f);Quad[0].Texture1 =
new Vector2(1, 1);Quad[1].Position =
new Vector4(Evo.ScreenWidth, 0, 1f, 1f);Quad[1].Texture1 =
new Vector2(0, 1);Quad[2].Position =
new Vector4(0, Evo.ScreenHeight, 1f, 1f);Quad[2].Texture1 =
new Vector2(0, 0);Quad[3].Position =
new Vector4(Evo.ScreenWidth, Evo.ScreenHeight, 1f, 1f);Quad[3].Texture1 =
new Vector2(1, 0);MyVertexScreenQuad =
new VertexBuffer(Evo.GraphicsDevice, typeof(EvoPositionTexture), 4, ResourceUsage.WriteOnly);MyVertexScreenQuad.SetData<
EvoPositionTexture>(Quad);MyVertexDeclaration =
new VertexDeclaration(Evo.GraphicsDevice, EvoPositionTexture.VertexElements);}
public void RenderScreenQuad(CreateSettings Evo){
Evo.GraphicsDevice.VertexDeclaration = MyVertexDeclaration;
Evo.GraphicsDevice.Vertices[0].SetSource(MyVertexScreenQuad, 0,
EvoPositionTexture.SizeInBytes);Evo.GraphicsDevice.DrawPrimitives(
PrimitiveType.TriangleList, 0, 12);}
public QuadMesh()
{
}
}
vertex format code:
public
struct EvoPositionTexture{
public Vector4 Position; public Vector2 Texture1; public EvoPositionTexture(Vector4 position, Vector2 tex0){
this.Position = position; this.Texture1 = tex0;}
public static readonly VertexElement[] VertexElements = new VertexElement[]{
new VertexElement(0, 0, VertexElementFormat.Vector4,VertexElementMethod.Default,VertexElementUsage.Position, 0), new VertexElement(0, 12,VertexElementFormat.Vector2,VertexElementMethod.Default,VertexElementUsage.TextureCoordinate, 0),};
public static bool operator !=(EvoPositionTexture left, EvoPositionTexture right){
return left.GetHashCode() != right.GetHashCode();}
public static bool operator ==(EvoPositionTexture left, EvoPositionTexture right){
return left.GetHashCode() == right.GetHashCode();}
public override bool Equals(object obj){
return this == (EvoPositionTexture)obj;}
public static int SizeInBytes{
get { return sizeof(float) * 6; }}
public override int GetHashCode(){
return Position.GetHashCode() | Texture1.GetHashCode();}
public override string ToString(){
return string.Format("{0},{1},{2},{3},{4},{5}", Position.X, Position.Y, Position.Z, Position.W, Texture1.X, Texture1.Y);}
}