0

私はXNAを行うことで学習しており、タイトルにあるように、平面上の頂点のコレクションによって定義される2D領域を塗りつぶす方法があるかどうかを確認しようとしています。ファイルベースのテクスチャではなく、色で塗りつぶしたい。

例として、頂点が4つの四分円の三角形のファンによって定義される角の丸い長方形を考えてみましょう。頂点は三角形のコレクションを作成することによって定義されますが、三角形は隣接していない可能性があります。

さらに、複数の色で塗りつぶしたいと思います。つまり、境界領域を4つの垂直バンドに分割し、それぞれ異なる色にします。あなたは私にコードを提供する必要はありません、私をリソースに向けることは大いに役立ちます。私はグーグルで便利になることができます(私は最初に試しましたが、惨めに失敗しました)。

これは、「XNAに何が適切か」についての調査であると同時に、その実装でもあります。XNAはかなり新しいので、できることとできないことの上に、何をすべきか、何をすべきでないかについても学びたいと思っています。

4

1 に答える 1

1

それほど多くはありませんが、ここから始めます。

色の塗りつぶしは、シェーダーを使用して実現されます。ピクセル シェーダーに関する Reimer の XNA チュートリアルは、このトピックに関する優れたリソースです。

ジオメトリを計算し、それを保持する頂点バッファを作成する必要があります。XNA のすべてのベクトル ジオメトリは 3D ですが、平面に固定されたカメラを使用すると 2D がシミュレートされることに注意してください。

異なる三角形に異なる色を追加するには、基本的に、ジオメトリを個別の頂点バッファーにグループ化する必要があります。次に、シェーダーとcolorパラメーターを使用して、バッファーごとに適切な色を設定してから、バッファーをグラフィックス デバイスに渡します。または、色情報を含む頂点形式を使用することもできます。これにより、基本的に各頂点に色を割り当てることができます。

于 2010-05-15T23:32:27.450 に答える