私は生まれて初めて 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 だけに依存すると、すべてが同じように見えます。では、VertexPositionTexture[] を使用するだけでうまくいく場合、VertexBuffer を使用する意味は何ですか? :-)
(私はISがポイントだと確信しています-それを見るのを手伝ってください!!! :)
問題解決: くだらない XNA ブック! ありがとう @dowhilefor