0
一般質問を渡します。私は同じ頂点を渡したいが、異なるシェーダパラメータを使用したい。これは動作しない。ここで再利用頂点シェーダに
は、問題のコードです:
foreach (EffectPass pass in quinticFX.CurrentTechnique.Passes)
{
quinticFX.Parameters["NumPoints"].SetValue(CurvedVertices.Count());
pass.Apply();
GraphicsDevice.SamplerStates[0] = LinearMirrorState;
GraphicsDevice.Textures[0] = solid;
quinticFX.Parameters["radiusOfBeam"].SetValue(8);
GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>(PrimitiveType.TriangleStrip, CurvedVertices.ToArray(), 0, CurvedVertices.Count() - 2);
pass.Apply();
quinticFX.Parameters["radiusOfBeam"].SetValue(4);
quinticFX.Parameters["P"].SetValue(cp1);
GraphicsDevice.DrawUserPrimitives<VertexPositionTexture>(PrimitiveType.TriangleStrip, CurvedVertices.ToArray(), 0, CurvedVertices .Count() - 2);
}
私はは、あなたがこれを行うことがを想定し、それが二回、別のコントロールポイントと幅(この場合、カーブで)を引きます。これは当てはまりません。最も新しいプリミティブのセットだけが描画されます。どんな助けでも大歓迎です。