Développement XNA pour la XBox et le PC
274
effect.View = view;
effect.LightingEnabled = false;
InitializeVertices();
InitializeIndices();
}
public void Draw()
{
graphicsDevice.VertexDeclaration = new VertexDeclaration(graphicsDevice,
➥VertexPositionColor.VertexElements);
effect.Begin();
foreach (EffectPass CurrentPass in effect.CurrentTechnique.Passes)
{
CurrentPass.Begin();
graphicsDevice.DrawUserIndexedPrimitives(PrimitiveType.TriangleList,
➥vertices, 0, vertices.Length, indices, 0, indices.Length / 3);
CurrentPass.End();
}
effect.End();
}
private void InitializeVertices()
{
vertices = new VertexPositionColor[8];
// Front Top left corner
vertices[0].Position = new Vector3(position.X - widthOver2, position.Y +
➥widthOver2, position.Z + widthOver2);
// Front Bottom right corner
vertices[1].Position = new Vector3(position.X + widthOver2, position.Y -
➥widthOver2, position.Z + widthOver2);
// Front Bottom left corner
vertices[2].Position = new Vector3(position.X - widthOver2, position.Y -
➥widthOver2, position.Z + widthOver2);
// Front Top right corner
vertices[3].Position = new Vector3(position.X + widthOver2, position.Y +
➥widthOver2, position.Z + widthOver2);
// Back Top left corner
vertices[4].Position = new Vector3(position.X + widthOver2, position.Y +
➥widthOver2, position.Z - widthOver2);
// Back Bottom right corner
vertices[5].Position = new Vector3(position.X - widthOver2, position.Y -
➥widthOver2, position.Z - widthOver2);
// Back Bottom left corner
vertices[6].Position = new Vector3(position.X + widthOver2, position.Y -
➥widthOver2, position.Z - widthOver2);
// Back Top right corner
=Labat FM.book Page 274 Vendredi, 19. juin 2009 4:01 16
274
effect.View = view;
effect.LightingEnabled = false;
InitializeVertices();
InitializeIndices();
}
public void Draw()
{
graphicsDevice.VertexDeclaration = new VertexDeclaration(graphicsDevice,
➥VertexPositionColor.VertexElements);
effect.Begin();
foreach (EffectPass CurrentPass in effect.CurrentTechnique.Passes)
{
CurrentPass.Begin();
graphicsDevice.DrawUserIndexedPrimitives(PrimitiveType.TriangleList,
➥vertices, 0, vertices.Length, indices, 0, indices.Length / 3);
CurrentPass.End();
}
effect.End();
}
private void InitializeVertices()
{
vertices = new VertexPositionColor[8];
// Front Top left corner
vertices[0].Position = new Vector3(position.X - widthOver2, position.Y +
➥widthOver2, position.Z + widthOver2);
// Front Bottom right corner
vertices[1].Position = new Vector3(position.X + widthOver2, position.Y -
➥widthOver2, position.Z + widthOver2);
// Front Bottom left corner
vertices[2].Position = new Vector3(position.X - widthOver2, position.Y -
➥widthOver2, position.Z + widthOver2);
// Front Top right corner
vertices[3].Position = new Vector3(position.X + widthOver2, position.Y +
➥widthOver2, position.Z + widthOver2);
// Back Top left corner
vertices[4].Position = new Vector3(position.X + widthOver2, position.Y +
➥widthOver2, position.Z - widthOver2);
// Back Bottom right corner
vertices[5].Position = new Vector3(position.X - widthOver2, position.Y -
➥widthOver2, position.Z - widthOver2);
// Back Bottom left corner
vertices[6].Position = new Vector3(position.X + widthOver2, position.Y -
➥widthOver2, position.Z - widthOver2);
// Back Top right corner
=Labat FM.book Page 274 Vendredi, 19. juin 2009 4:01 16
