トップページ > 記事閲覧
DOFサンプルについて
名前:yellow 日時: 2017/02/25 12:19

DXライブラリホームページ内の被写界深度(DOF)サンプルについて 質問させてください。 dxlib.o.oo7.jp/program/dxprogram_DepthOfField.html テスト環境はshader5.0/dx11/VS2015 C++です。 ビルドはできますがデバッグ実行すると正常に描画されない(真っ黒)くなります log.txt 883:使用する機能レベル:D3D_FEATURE_LEVEL_11_0 1190:頂点シェーダーの作成に失敗しました 1195:頂点シェーダーの作成に失敗しました SetUseDirect3DVersion(DX_DIRECT3D_9EX)を記述すると正常に描画するようです がこのへん半信半疑です その他、WidthとHeightのサイズを変えると領域がテクスチャーのサイズに固定されている (画面が一部しか更新されない)
メンテ

Page: 1 |

Re: DOFサンプルについて ( No.1 )
名前:管理人 日時:2017/02/26 02:30

> SetUseDirect3DVersion(DX_DIRECT3D_9EX)を記述すると正常に描画するようです > がこのへん半信半疑です サンプル名『サンプルプログラム 被写界深度基本 ( Direct3D 9用、要シェーダーモデル2.0 )』の通り、 こちらは Direct3D 9 用なので、 Direct3D 11 では使用できません ( サンプルでも SetUseDirect3DVersion(DX_DIRECT3D_9EX) が記述されています ) > その他、WidthとHeightのサイズを変えると領域がテクスチャーのサイズに固定されている > (画面が一部しか更新されない) すみません、『WidthとHeightのサイズ』とはどちらのことを指しているのでしょうか?
メンテ
Re: DOFサンプルについて ( No.2 )
名前:yellow 日時:2017/02/26 12:44

>サンプル名『サンプルプログラム 被写界深度基本 ( Direct3D 9用、要シェーダーモデル2.0 )』の通り、 >こちらは Direct3D 9 用なので、 Direct3D 11 では使用できません >( サンプルでも SetUseDirect3DVersion(DX_DIRECT3D_9EX) が記述されています ) 確認したところおっしゃるとおりでした。コードも記載がありまして 問題ありません。当方の手違いからいろいろと勘違いしていたようです。 お手数をお掛けしましてすみませんでした。 >すみません、『WidthとHeightのサイズ』とはどちらのことを指しているのでしょうか? 申し訳ありません。こちらも記載を間違ってしまいました。 正しくはこちらの #define SCREEN_W (640) #define SCREEN_H (480) 被写界深度基本サンプルをみるとこの解像度を変更した場合 自動的に縮尺される構造になっていますが 画面の解像度指定の部分を800x600や1280x768や 1280x1024などに変更して実行すると部分的に更新されない 領域が出てしまうようです。 例えばこの場合 SCREEN_W(1280) SCREEN_H(1024)にした場合は SCREEN_TEX_WやSCREEN_TEX_Hなども変更する必要がありますでしょうか
メンテ
Re: DOFサンプルについて ( No.3 )
名前:管理人 日時:2017/02/26 12:50

> 例えばこの場合 > SCREEN_W(1280) > SCREEN_H(1024)にした場合は > SCREEN_TEX_WやSCREEN_TEX_Hなども変更する必要がありますでしょうか はい、SCREEN_TEX_W は SCREEN_W より大きい2の乗数の値に、 SCREEN_TEX_H は SCREEN_H より大きい2の乗数の値にする必要があります ( 現在の GPU であれば 2の乗数である必要は無いかもしれませんが一応… )
メンテ
Re: DOFサンプルについて ( No.4 )
名前:yellow(解決) 日時:2017/02/26 13:22

なるほど、了解しました。ご教示頂いた 内容をもとに参考にさせていただきます。 今回はありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存