DirectX

DirectX

DirectX11とDirectX9比較

DirectX11(D3D11)はDirectX9ハードウェア上でも動きます。 そういう場合に、DirectX11とDirectX9ではどちらを選択すべきだろうか、と思ってちょっと比較をしてみようかと思います。 ■チェック環境 RADEON HD 5450(DX11対応ハード) Geforce9600GT Geforce6800GT サンプルプログラムとして...
DirectX

DirectX11始めました -第3回-

今回はプログラムを修正して4角形にしたうえで、テクスチャを貼ってみます。 ■今回のプログラムの流れ *準備段階 第2回のものに加え、以下の準備を行います。 テクスチャの準備 サンプラーオブジェクトの準備 また以下の修正を行います。 頂点データの修正 TEXCOORDの追加 シェーダーの変更 頂点入力レイアウトを変更 *メッセージループ 画面クリア処理の後、以...
DirectX

DirectX11始めました -第2回-

今回は画面に三角形1つを出すまでをがんばってみます。 ■今回のプログラムの流れ *準備段階 第1回のものに加え、以下の準備を行います。 頂点バッファの準備 シェーダーの準備 頂点入力レイアウトオブジェクトを作成 *メッセージループ 画面クリア処理の後、以下の設定を行います。 バッファのセット 頂点バッファのセット 入力頂点の情報オブジェクトをセット シェーダ...
DirectX

DirectX11始めました

■はじめに Windows7 SP1やVisualStudio2010 SP1が出ている現在において、未だにDirectX11を扱うプログラムコードを作ったことがありませんでした。2011年4月と"11"繋がりで、ちょっとDirectX11を始めてみました。 いつものことですが、画面をクリアするまでの最小限サンプルをまずは作ってみようと思います。 昨年夏にD...
DirectX

DirectX11ちょっと調べてみた

■DirectX11環境でのDX9ハードウェア DirectX11(D3D11)では、DX9ハードウェア上でも動作します。 正確には、DX9相当の機能を使う分には動作できるという感じです。 使用するAPIを変えなくてもDX9ハードウェアからDX11ハードウェアまで 動作できるというのは魅力ですが、何もしなくても動作するというのとはちがうようです。 新しい環境...
DirectX

シャドウマップ続き

未だ原因不明 DirectX SDKの入れ替え 動作OSの変更 WinXP,Win7 と試したが変わらず うーん、いったい何なんだろう。。。
DirectX

ハードウェアシャドウマップをやってみる -エラー編-

■うまく行きそうで失敗 AMD RADEON 5450の環境でもハードウェアシャドウマップが使える*1というので ちょっと試してみました。 しかしながら、DirectXのデバッグランタイムを使用すると エラーメッセージが表示される結果となってしまい現在調査中。 同プログラムはNVIDIA製グラフィックボード使ったときには正常だったのですが。 表示されるエラー...
DirectX

D3DPOOLについて考える

今回はDirectX9でのD3DPOOLについて考えてみました。 最近はDX10の話だったので、ちょっと流れをぶち切ってしまいました。 以下の話は、すべてWindowsXP DirectX9での話となります。 Vista以降のDirectX9Exの話はまた異なるため、そのうちにでも。 ■ 説明 このページを見てしまってから思い悩むことになってしまいました。 ...
DirectX

DirectX10でテクスチャ配列を使用する例

前回の日記で書いた、DirectX10でテクスチャ配列を使用するサンプルができました。 いろいろとはまりどころはあったのですが、ようやく出来ました。 注意点はその都度説明します。今回のサンプルではテクスチャ配列を使う例ということで、 下の図のようなイメージで実装しました。 2枚のテクスチャをテクスチャ配列として、あたかも1つのテクスチャオブジェクトとして扱い...
DirectX

DirectX10以降のテクスチャ配列について

今回気になることもあって、改めて調べてみました。 ■ はじめに 聞いていた話ではテクスチャ配列の利便性っていうものは、 複数のテクスチャを1つの変数(名)で扱えて便利だよって感じでした。 また大抵の場合、使用されるテクスチャの集合(セット)はユニークであるし、 そういった場合にはそれら集合をまとめて変更できるから良いって話でした。 * 例 あるモデルに付いて...