title: Texturing a terrain causes Windows Phone to crash (without an exception) or Models are not drawn afterwards
body: <p>I call this method on LoadContent() - after loading heightMap texture:</p>
  
  <pre><code>    private void setEffect(Texture2D heightMap)
      {
          m_BasicEffect = new BasicEffect(this.GraphicsDevice);
          m_BasicEffect.EnableDefaultLighting();
          m_BasicEffect.FogEnabled = true;
          m_BasicEffect.FogStart = 300f;
          m_BasicEffect.FogEnd = 1000f;
          m_BasicEffect.FogColor = Color.Black.ToVector3();
          m_BasicEffect.TextureEnabled = true;         
          m_BasicEffect.World = Matrix.Identity;
          m_BasicEffect.Texture = heightMap;
      }
  </code></pre>
  
  <p>Now, if I change the "m_BasicEffect.TextureEnabled = true;" to "m_BasicEffect.TextureEnabled = false;" it works, but the texture (of course) doesn't show.</p>
  
  <p>Draw method looks like this:</p>
  
  <pre><code>    public override void Draw(Microsoft.Xna.Framework.GameTime i_GameTime)
      {
          Matrix worldMatrix = Matrix.CreateTranslation(-m_TerrainWidth / 2.0f, 0, m_TerrainHeight / 2.0f) * Matrix.CreateRotationY(m_Angle);
  
          m_BasicEffect.View = MyCamera.View;
          m_BasicEffect.Projection = MyCamera.Projection;
          m_BasicEffect.World = worldMatrix;
  
          foreach (EffectPass pass in m_BasicEffect.CurrentTechnique.Passes)
          {
              pass.Apply();
              Game.GraphicsDevice.Indices = myIndexBuffer;
              Game.GraphicsDevice.SetVertexBuffer(myVertexBuffer);
              Game.GraphicsDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, m_VerticesNormalLength, 0, m_IndicesLength / 3);               
          }
      }
  </code></pre>
  
  <p>Moreover, if I try to draw Models afterwords, it throws an exception: 
  "The current vertex declaration does not include all the elements required by the current vertex shader."
  The way I try to draw the Models:</p>
  
  <pre><code>    public override void Draw(GameTime i_GameTime)
      {
          Matrix[] transforms = new Matrix[MyModel.Bones.Count];
          MyModel.CopyAbsoluteBoneTransformsTo(transforms);
          foreach (ModelMesh mesh in MyModel.Meshes)
          {               
              foreach (BasicEffect be in mesh.Effects)
              {
                  be.EnableDefaultLighting();
                  be.Projection = MyCamera.Projection;
                  be.View = MyCamera.View;                    
                  be.World = GetWorld() * mesh.ParentBone.Transform;
              }                
              mesh.Draw();
          }
      }
  </code></pre>
  
  <p>What do you think about it?
  Thanks in advance.</p>