Deviceクラスは実際のグラフィックデバイスに類似したものであり、描画はすべてこのDeviceを介して行います。
public Device(
int adapter, // ディスプレイ アダプタ (グラフィックス・カード)
DeviceType deviceType, // デバイス タイプ
Control renderWindow, // レンダリング対象のウィンドウ
CreateFlags behaviorFlags, // 動作モード
params PresentParameters[] presentationParameters // プレゼンテーション パラメータ
);
| 列挙子 | 説明 |
|---|---|
| Hardware | ハードウェア デバイス (HALデバイス) |
| Reference |
リファレンス ラスタライザ (reference rasterizer) を使用する。 極度に低速。デバッグ用 |
| Software | ソフトウェア デバイス |
リファレンス ラスタライザ (reference rasterizer)
ソフトウェア デバイスとは異なり、リファレンス ラスタライザはあらゆるDirect3D機能をサポートしている。これらの機能は処理速度よりも精度を重視してソフトウェアで実装されているため、結果が得られるまでには時間がかかる。リファレンス ラスタライザは、利用可能な場合は特別なCPU命令を十分に利用するが、市販アプリケーションを対象とはしていない。リファレンス ラスタライザは、機能テストやデモンストレーションにのみ使用すること。
リファレンス デバイス - 1. デバイスの種類 | MSDN
| 定数 | 説明 | |
|---|---|---|
| 頂点処理※1 | HardwareVertexProcessing | ハードウェアによる頂点処理 |
| SoftwareVertexProcessing | ソフトウェアによる頂点処理 | |
| MixedVertexProcessing | ハードウェアとソフトウェアによる頂点処理 | |
| AdapterGroupDevice | マスタ アダプタが所有するすべてのヘッドを駆動 | |
| DisableDriverManagement | ドライバの代わりにDirectXがリソースを管理 | |
| PureDevice | 内部状態を追跡せずに、ドライバへの最適なパスを利用 [パフォーマンスを向上]※2 | |
| MultiThreaded | マルチスレッドでの安全性を要求 [パフォーマンスは低下] | |
| FpuPreserve | 倍精度浮動小数の使用を指示 [パフォーマンスは低下] | |
| プロパティ | 型 | 内容 |
|---|---|---|
| AvailableTextureMemory | int | 使用可能なテクスチャ メモリの量の推定値 |
| ClipPlanes | ClipPlanes | デバイスのクリップ面 |
| ClipStatus | ClipStatus | クリップ ステータス |
| CreationParameters | DeviceCreationParameters | デバイスの作成パラメータ |
| CurrentTexturePalette | int | 現在のテクスチャ パレット |
| DepthStencilSurface | Surface | Direct3DDevice オブジェクトが所有する深度ステンシル サーフェイス |
| DeviceCaps | Caps | レンダリング デバイスの能力 |
| DisplayMode | DisplayMode | ディスプレイ モードの空間解像度、色解像度、リフレッシュ周波数 |
| Disposed | bool | オブジェクトが解放されているかどうか |
| Indices | IndexBuffer | インデックス データ |
| IsUsingEventHandlers | ||
| Lights | Lights | デバイスのライト |
| Material | Material | デバイスのマテリアル |
| NPatchMode | float | N パッチ モードのセグメント |
| NumberOfSwapChains | int | 非明示的なスワップ チェーンの数 |
| PixelShader | PixelShader | 現在設定されているピクセル シェーダ |
| PresentationParameters | PresentParameters | プレゼンテーション パラメータ |
| RasterStatus | RasterStatus | スワップ チェーンが表示されているモニタのラスタを記述する情報 |
| RenderState | RenderStates | デバイスに対するレンダリング ステートの値 |
| SamplerState | SamplerStates | サンプラ ステート値 |
| ScissorRectangle | System.Drawing.Rectangle | シザー矩形 (scissor rectangle) |
| SoftwareVertexProcessing | bool | 頂点処理 (ハードウェアまたはソフトウェア) モード |
| TextureState | TextureStates | 割り当てられているテクスチャのステート値 |
| Transform | Transforms | トランスフォーム ステートを記述する行列 |
| UnmanagedComPointer | ||
| VertexDeclaration | VertexDeclaration | 頂点シェーダ宣言 |
| VertexFormat | VertexFormats | サポートされる柔軟な頂点フォーマット |
| VertexShader | VertexShader | 現在設定されている頂点シェーダ |
| Viewport | Viewport | デバイスに現在設定されているビューポート パラメータ |
| イベント | 説明 |
|---|---|
| DeviceCreated | デバイスが作成されたときに発生する。 |
| DeviceLost | デバイスが消失しようとしているときに発生する。 |
| DeviceReset | デバイスがリセットした後に発生する。 |
| DeviceResizing | デバイスがリサイズしているときに発生する。 |