これは初心者の質問ですが、広範囲に検索しましたが、答えが見つかりません。
同じウィンドウに描画する必要がある 2 つの別個のメッシュがあり、どちらも DrawUserIndexedPrimitives を使用しています。独自のビューと射影行列を持つ 2 つの BasicEffect インスタンスを使用しています。
ただし、これらがレンダリングされると、2 つを結ぶ線が表示されます。XNA は、それらが同じメッシュの一部であると考えています。それぞれに個別の GraphicsDeviceManager インスタンスを使用する必要がありますか? それは正しくないようです..
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
GraphicsDevice.VertexDeclaration = declaration;
effect.Begin();
effect.View = view;
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Begin();
GraphicsDevice.DrawUserIndexedPrimitives<VertexPositionNormalTexture>(PrimitiveType.TriangleList, positions1, 0, positions1.Length, index1, 0, index1.Length / 3);
pass.End();
}
effect.End();
effect2.Begin();
effect2.View = view2;
foreach (EffectPass pass in effect2.CurrentTechnique.Passes)
{
pass.Begin();
GraphicsDevice.DrawUserIndexedPrimitives<VertexPositionNormalTexture>(PrimitiveType.TriangleList, positions2, 0, positions2.Length, index2, 0, index2.Length / 3);
pass.End();
}
effect2.End();
base.Draw(gameTime);
}
位置 1 の最後の三角形は、位置 2 の最初の三角形に結合されます。
あなたが与えることができる助けをありがとう..