none
XNAでPrimitives描画とmesh描画を同時に行うとPrimitives描画がうまくいかない問題について。 RRS feed

  • 質問

  • XNA バージョン 4.0

    私はXNAでパーティクルシステムを制作しました。パーティクルはDrawIndexedPrimitives関数を使用し、画像をポリゴンに張り付け描画しています。Primitives単体だと描画できるのですが、Primitivesと同時にMeshを描画をすると小さな点が表示されるだけという状況です。以下はPrimitives描画とMesh描画のDraw関数です。ネットで検索しても、XNAの情報はかなり少なく行き詰っている状況です。些細な情報でも教えていただけるとありがたいです。

    Primitives

    public override void Draw(GameTime gameTime) { game.GraphicsDevice.RasterizerState = rasterizerState; game.GraphicsDevice.DepthStencilState = DepthStencilState.None; foreach (EffectPass pass in effect.CurrentTechnique.Passes) { pass.Apply(); game.GraphicsDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, vertices.Length, 0, 2); }

                base.Draw(gameTime); }

    Mesh

            public override void Draw(GameTime gameTime)
            {
                if (model == null || !isVisible)
                {
                    return;
                }
                foreach (ModelMesh mesh in model.Meshes)
                {
                    game.GraphicsDevice.DepthStencilState = DepthStencilState.Default;
                    foreach (BasicEffect effect in mesh.Effects)
                    {
                        game.GraphicsDevice.BlendState = BlendState.AlphaBlend;
                        effect.EnableDefaultLighting();
                        effect.View = camera.View;
                        effect.Projection = camera.Projection;
                        effect.World = modelTransform[mesh.ParentBone.Index] * modelWorld;
                    }
                    mesh.Draw();
                }
                base.Draw(gameTime);
            }


    2019年12月3日 11:38

すべての返信

  • さくらぁさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    確認したところ、本件はXNAに関連するようです。
    より良いサポートのため、https://stackoverflow.com/questions/tagged/xna(英語となりますが)にご投稿することをお勧めします。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2019年12月6日 7:13
    モデレータ