private void DrawModel(Model myModel) { // Copy any parent transforms. Matrix[] transforms = new Matrix[myModel.Bones.Count]; myModel.CopyAbsoluteBoneTransformsTo(transforms); // Draw the model. A model can have multiple meshes, so loop. foreach (ModelMesh mesh in myModel.Meshes) { //mesh.Effects = new ModelEffectCollection(new List<Effect> { Effect }); foreach (var part in mesh.MeshParts) { part.Effect = Effect; } var world = new Matrix( new Vector4(0, 0, 1, 0), new Vector4(-1, 0, 0, 0), new Vector4(0, 1, 0, 0), new Vector4(0, 0, 0, 1)); Effect.World = world * Matrix.CreateScale(0.5f) * Matrix.CreateTranslation(new Vector3(0.5f)); //world * Matrix.CreateTranslation(new Vector3(1));//transforms[mesh.ParentBone.Index] * Matrix.CreateRotationY(modelRotation); mesh.Draw(); } c.Draw(Effect); }
public override Matrix Render(ref Matrix currentTransformation, BasicEffect effect, object parameter) { cube.Position = Movable.Position; cube.Draw(effect); return(currentTransformation); }