次の方法で共有


Higher-Order プリミティブ (Direct3D 9)

Direct3D 9 では、ポイント、線、三角形、グリッド プリミティブがサポートされています。 これらは、線形以外の高次補間をサポートするように拡張されています。 三角形と線は空間範囲を持つ一方で、これまではどちらも線形補間を使用してレンダリングされていました。 Direct3D 9 では、Direct3D では、より高い順序 (クインティック補間まで) を使用したこれらのプリミティブ型のレンダリングがサポートされています。 さらに、新しいクワッド プリミティブ型がサポートされるようになりました。 この新しい型は、高次補間でレンダリングすることもできます。 この機能は、主にキャラクターのアニメーションとレンダリングの要件に基づきます。 地形や水などの他のサーフェスにも使用できます。

上位のプリミティブは、リスト、ストリップ、ファン、またはインデックス付きメッシュとして API に送信される場合に、高次補間をサポートします。 これは、頂点自体でエンコードされた追加情報を使用して実現されます。 たとえば、法線ベクトルを使用して頂点で接線平面を定義し、3 次補間を有効にすることができます。 ほとんどの実装では、平面三角形へのテッセレーションによる高次補間がサポートされています。 テッセレーション ステップは、頂点シェーダー ステージの前に論理的に適用されます。 頂点シェーダー API は入力データにセマンティクスを適用しないため、位置を表す頂点ストリーム コンポーネントと必要に応じて法線ベクトルを識別する特別なメカニズムが提供されます。 他のすべてのコンポーネントは、それに応じて補間されます。

このセクションでは、上位のプリミティブについて説明し、アプリケーションで使用する方法について説明します。 情報は次のトピックに分かれています。

解像度の向上による品質の向上

現在のプリミティブは、滑らかなサーフェスを表すのに最適ではありません。 3 次多項式などの高次補間メソッドを使用すると、曲線形状のレンダリングでより正確な計算が可能になります。 これにより、シルエットエッジや反射面照明で見えるファセットアーティファクトを減らしたり排除したりすることで、リアリズムが向上します。 さらに、チップ上でテッセレーションが発生しても、テッセレーションされた三角形はバス帯域幅に影響しません。 多くの場合、少量のテッセレーションを使用すると、パフォーマンスへの影響を最小限に抑えながら、画質を向上させることができます。

Direct3D 9 は、既存の多角形指向ツールとアート パイプラインによって作成されたコンテンツに解像度の向上を適用する簡単な方法を提供します。 アプリケーションでは、必要なレベルのテッセレーションのみを提供し、通常のベクトルを含む標準の三角形構文を使用してデータを送信する必要があります。

Spline-Based ツールからの直接マッピング

現在の多くのオーサリング ツールでは、平面三角形メッシュで一般的に提供されるよりも強力なモデリング操作を可能にするために、上位のプリミティブがサポートされています。 効率的に使用すると、生成されるパッチの数が妥当になるように、そのようなツールは API によって直接レンダリングできるコンテンツを生成できます。 この要件を満たすために、受信頂点データ ストリームを制御ポイントの 2D 配列として解釈し、目的の解像度にテッセレーションする新しいエントリ ポイントが追加されました。

頂点パイプライン