Platform SDK: DirectX

TnLHAL デバイス

一部の新しい 3D ハードウェアには、トランスフォーム & ライティング処理にハードウェア アクセラレーションを実行して、CPU の作業負荷を解放するものがある。これが可能な場合、アプリケーションでは、このようなデバイスを使用してパフォーマンスを最適化できる。Direct3D の TnLHAL デバイスは、ハードウェアのトランスフォーム、ライティング、およびラスタ化モジュールをすべて実装する。

アプリケーションは、3D カードに直接アクセスするわけではない。アプリケーションは、Direct3D 関数およびメソッドを呼び出す。Direct3D は、ハードウェア アブストラクション レイヤ (HAL) を介してハードウェアにアクセスする。アプリケーションが動作するコンピュータが HAL に対応している場合は、HAL デバイスを使用することで最高のパフォーマンスを実現できる。

[C++]

トランスフォーム & ライティングのハードウェア アクセラレーションを実行できるハードウェア デバイスは、D3DDEVCAPS_HWTRANSFORMANDLIGHT デバイス機能を公開する。C++ で TnLHAL デバイスを作成するには、IDirect3D7::CreateDevice メソッドを呼び出し、第 1 パラメータとして IID_IDirect3DTnLHalDevice 値を渡す。詳細については、「Direct3D デバイスの作成」を参照すること。

[Visual Basic]

トランスフォーム & ライティングのハードウェア アクセラレーションを実行できるハードウェア デバイスは、D3DDEVCAPS_HWTRANSFORMANDLIGHT デバイス機能を公開する。Visual Basic で TnLHAL デバイスを作成するには、Direct3D7.CreateDevice メソッドを呼び出し、第 1 パラメータとして "IID_IDirect3DTnLHALDevice" 文字列定数を渡す。詳細については、「Direct3D デバイスの作成」を参照すること。