ユーザ用ツール

サイト用ツール


d3d:start

Direct3D (Direct3D12/11/10)

新しい Direct3D

D3D API Version ShaderModel OS
Direct3D 11.0 5.0 7 (vista) cs, tessellator, multithreading
Direct3D 11.1 5.0 8 (7) Mobile (ARM) Support (Feature level 9) Shader MinPrec, UAV 64, Every stage UAV
Direct3D 11.2 5.0 8.1 Tiled Resource
Direct3D 11.3 5.1 10 ShaderModel 5.1, ROV, Conservative Rasterizer, Stencil Ref
Direct3D 11.4 5.1 10 (1511) NV12, Multithreaded protection
Direct3D 12 5.1/6.0 10 D3D11.3 + Low Overhead API
Feature Level D3D12
11_0 CS/TS/DS, UAV 8, BC6H/7 Fermi / Kepler / Maxwell v1
11_1 UAV 64, Every stage UAV, 16bpp format, GCN 1.0 / Intel HD Graphics Gen7.5 / Gen 8
12_0 Tiled Tier2, ResBind Tier2, TypedUAV GCN 1.1 / GCN 1.2 / Polaris GCN 4
12_1 ROV, Conservative Rasterization Maxwell v2 / Pascal / Intel HD Graphics Gen 9

API Version と FeatureLevel

API Version は機能を使う場合に必要な API のことです。DirectX では ID3D11Device → ID3D11Device1 のように Interface に番号が付きます。

Feature Level は GPU が対応しているハードウエアの機能をまとめてグループ化したものです。一定の機能に対応している場合に FeatureLevel を設けることで機能の判定がわかりやすくなります。 OpenGL の Extension と同じで、FeatureLevel に満たなくても、部分的に上位の機能に対応していることがあります。

機能面から GPU を選ぶ場合は、対応している API Version よりも FeatureLevel の方が重要になります。特に GPU は新製品でもリネームが多いので、型番だけでは FeatureLevel がわからなくなっています。

Direct3D 11.3

  • Rasterizer Order View
  • ASTC Texture (OpenGL ES 3.0 の圧縮テクスチャと同じ)
  • Stencil Reference Value
  • Conservative Rasterization

Direct3D 12

  • CommandList (CommandBuffer)
  • PipelineStateObject (PSO)
  • Rasterizer Order View (ROV)
  • ASTC Texture (OpenGL ES 3.0 の圧縮テクスチャと同じ)
  • Conservative Rasterization

ドキュメント類

blogエントリより

Direct3D11

Direct2D 1

Direct3D 10/10.1

    • Direct3D 10 / 1.01 関連はこちらにまとめました。

Direct3D Mobile

    • WindowsMobile で使用できる Direct3D API です。関連エントリをまとめました。

その他トピック

GPU 一般

ノーマルマップの互換性問題について

CPU/SSE 関連

オリジナルデモプログラム

ss00.jpg

Vista + Direct3D10 用のサンプルプログラムです。 WindowsVista と Direct3D10 対応のビデオカードが必要です。 シェーダーだけで Cube の形状を生成して 描画しています。 頂点バッファもインデックスバッファもなしにモデルデータの表示が可能です。



ss02.jpg

シェーダーに文字列をそのまま渡して描画してみるサンプルです。1byte 頂点形式を使って 1頂点 = 1byte = ASCIIコード です。



シェーダーだけで迷路を作っています。初期画像を元にレンダリングを繰り返すだけで成長します。



作った迷路を自分で探索します。色のついた無数の点が迷路の隅々まで動き回ります。これもシェーダーだけで実現しています。



ジオメトリシェーダーでモデルを ばらばら にします。これもシェーダーのみの処理です。



ss07.jpg

ジオメトリシェーダーを使って、プリミティブタイプ QUADLIST を描画できるようにします。



ss10.jpg

半透明描画で、ピクセル単位でソートを行うシェーダーです。最大重なり回数制限あり。
でも Stencil Routed A-Buffer (PDF) の方がいいです。



ss11.jpg

ピクセル単位の半透明ソートシェーダーは、順番を維持しつつより高度な Blend アルゴリズムを実装できるという利点もあります。偏光板のシミュレートを行ってみました。
でも Stencil Routed A-Buffer (PDF) の方がいいです。



リンク

d3d/start.txt · 最終更新: 2016/08/25 03:38 by oga