Unity では DirectX 11 や OpenGL Core などのグラフィックス API を使用し、コンピュートシェーダー、テッセレーション シェーダー、シェーダーモデル 5.0 など、その優れた機能を利用することが可能です。
This option is on by default (i.e. on Windows, your games and Editor will try to use DX11, and fall back to DX9 when not available). To enable DirectX 11 for your game builds and the Editor, enable the Use DX11 option in Player Settings.
注意 *DX11 を使用するには、少なくとも Windows Vista かそれ以降で、少なくとも DX10 レベル (できれば DX11 レベル) の GPU が必要です。DX11 モードで作動している場合は、Unity エディターウィンドウのタイトルの後ろに <DX11> と表示されます。
このオプションは、Mac と Linux ではデフォルトで有効になっています (つまりこれらのプラットフォームでは、ゲームとエディターで OpenGL Core が使用されています)。
Windows で OpenGL Core を使用可能にしデフォルトに設定するには、Player Settings で Auto Graphics API for Windows のチェックを外し、OpenGL Core をリストに加えます。デフォルトにしたい場合には、OpenGL Core をリストの一番上にドラッグします。
注意 OpenGL Core の利用するための最低仕様は以下のとおりです。*
コンピュートシェーダーにより GPU を超並列プロセッサーとして使用できます。モードの詳細については コンピュートシェーダー を参照してください
サーフェイスシェーダーは簡単なテッセレーションと Displacement をサポートします。詳細については Surface Shader テッセレーション を参照してください。
手動で シェーダープログラム を書く場合、DirectX 11 シェーダーモデル 5.0 機能、すなわちジオメトリ、Hull、ドメインシェーダーを含めて、を完全に使用できます。
現在 Surface Shader コンパイルパイプラインの一部は DirectX 特有の HLSL 文法を解釈できないため、HLSL 機能である StructuredBuffers や RWTextures 、その他の非 DirectX 9 文法を使用する場合、DirectX 11 のみのプリプロセッサーマクロでラッピングする必要があります。詳細については プラットフォーム別のレンダリングの違い を参照してください。
以下のスクリーンショットは、DirectX 11 や OpenGL Core で可能な効果の例を表しています。
’’この画像でのブラーエフェクト( Bokeh として知られる)は非常に明るいピクセル上でのテクスチャのスプラッティングにもとづいています。これにより HDR レンダリングとも組み合わせると特にリアリティのあるカメラレンズのブラーを生成できます。