Я впервые в жизни смотрю на XNA и озадачен прочитанными примерами. Они содержат дубликаты, которые я не понимаю:
protected override void LoadContent()
{
_verts1 = new VertexPositionTexture[6];
_vertexBuffer1 = new VertexBuffer(
GraphicsDevice,
typeof(VertexPositionTexture),
_verts1.Length,
BufferUsage.None);
_vertexBuffer1.SetData(_verts1);
...
}
protected override void Draw(GameTime gameTime)
{
...
GraphicsDevice.SetVertexBuffer(_vertexBuffer1);
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Apply();
GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>(
PrimitiveType.TriangleStrip,
_verts1,
0,
4);
}
...
}
Я не понимаю, почему ОБА VertexBuffer и VertexPositionTexture используются в методе рисования. Разве этого не достаточно, чтобы держать VertexBuffer рядом?
Если я удаляю вызовы GraphicsDevice.SetVertexBuffer и просто использую GraphicsDevice.DrawUserPrimitives - все выглядит одинаково! Итак: какой смысл иметь VertexBuffer, когда я могу обойтись, просто используя VertexPositionTexture []? : -)
(Я уверен, что это точка зрения - пожалуйста, помогите мне увидеть это !!!:)
Проблема решена: дрянная книга XNA! Спасибо @ dowhilefor