Je suis totalement d'accord avec Coincoin, le code contextuel aiderait.
Et si vous voulez simplement dessiner un maillage transformé à l'écran, vous n'avez pas besoin de transformer le maillage de cette manière. Vous pouvez simplement changer l'une des matrices du monde, de la vue et de la projection. Cela produit un résultat attendu. Comme dans l'exemple de code suivant.
// Clear the backbuffer to a Blue color.
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Blue,
1.0f, 0);
// Begin the scene.
device.BeginScene();
device.Lights[0].Enabled = true;
// Setup the world, view, and projection matrices.
Matrix m = new Matrix();
if(destination.Y != 0)
y += DXUtil.Timer(DirectXTimer.GetElapsedTime) * (destination.Y
* 25);
if(destination.X != 0)
x += DXUtil.Timer(DirectXTimer.GetElapsedTime) * (destination.X
* 25);
m = Matrix.RotationY(y);
m *= Matrix.RotationX(x);
device.Transform.World = m;
device.Transform.View = Matrix.LookAtLH(
new Vector3(0.0f, 3.0f,-5.0f),
new Vector3(0.0f, 0.0f, 0.0f),
new Vector3(0.0f, 1.0f, 0.0f));
device.Transform.Projection = Matrix.PerspectiveFovLH(
(float)Math.PI/4, 1.0f, 1.0f, 100.0f);
// Render the teapot.
teapot.DrawSubset(0);
// End the scene.
device.EndScene();
Cet échantillon provient de here.