トップページ > 記事閲覧
direct3d11でサンプルプログラムのブルーム処理基本
名前:みなつ 日時: 2020/05/22 19:07

サンプルプログラムのブルーム処理基本を実行したのですが、数フレームおきに画面全体が真っ白になります SetUseDirecr3Dで11以外にしたら発生しませんでした GraphFilterBltのBRIGHT_CLIPでフィルター出来ていない時があるのかと思うのですが よろしくお願いします
メンテ

Page: 1 |

Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.1 )
名前:管理人 日時:2020/05/24 03:07

私も手元でブルーム処理基本を実行しましたが、画面が真っ白になる現象は発生せず正常に動作しました もしお使いのバージョンが最新バージョン( 3.21f )ではありませんでしたら 最新バージョンでは正常に動作するかもしれませんので、最新バージョンで再度お試しになってみてください m(_ _)m もし最新バージョンでも真っ白になる現象が発生しましたら、お手数で申し訳ありませんが 実行すると作業用フォルダに作成される Log.txt の中身を掲示板に丸ごと貼り付けてください m(_ _;m ( 原因が分かる出力があるかもしれませんので… )
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.2 )
名前:みなつ 日時:2020/05/24 08:54

3.21fでも変わらず発生しました。 0:ChangeWindowMode実行 1:ウインドウモードフラグが立てられました 8:DXライブラリの初期化処理開始 14: システムの情報を出力します 19: DXライブラリ Ver3.21f 24: 論理プロセッサの数 : 8 29: OS Windows10 ( Build 18363 ) 140: 現時点のCPU動作速度:大体3.96GHz 146: MMX命令を使用します 152: SSE命令が使用可能です 158: SSE2命令が使用可能です 163: CPUベンダ:GenuineIntel 192: CPU名:Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz 197: COMの初期化... 成功 212: 非同期読み込み処理の初期化...成功 229: ファイルアクセス処理の初期化...成功 241: メモリ総量:8135.02MB 空きメモリ領域:2374.86MB 247: タイマーの精度を検査します 252: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 259: パフォーマンスカウンターを使用します タイマー精度 : 10000.000000 KHz 274: ソフトの二重起動検査... 二重起動はされていませんでした 293: ウインドウクラスを登録します... 登録に成功しました 306: ウインドウモード起動用のウインドウを作成します 313: ディスプレイ情報のセットアップ開始 322: モニターの数:1 ディスプレイデバイスの数:4 329: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz 343: ディスプレイ情報のセットアップ完了 353: ウインドウの作成に成功しました 363: ウインドウを表示します 456: IMEを無効にしました 467: ウインドウスタイルをウインドウモード用に変更します... 完了 521: DirectInput関係初期化処理 529: XInput DLL の読み込み中... 成功 550: DirectInput7 の取得中... DirectInput8 の取得を試みます...成功 585: 引き続き初期化処理... 初期化成功 614: ジョイパッドの初期化... 626: 入力装置を見つけました 636: Device Instance Name : Wireless Controller 646: Device Product Name : Wireless Controller 655: 周期的エフェクトの作成に失敗しました。 663: 周期的エフェクトの作成に失敗しました。 673: ジョイパッドの追加は正常に終了しました 691: ジョイパッドの初期化は正常に終了しました 697: マウスデバイスの初期化... 初期化成功 714: キーボードデバイスの初期化... 初期化成功 732: DirectInput 関連の初期化は正常に終了しました 745: WASAPI の初期化を行います 762: デフォルト遅延時間 : 10.000 ms 771: 最小遅延時間 : 3.000 ms 777: 遅延時間 : 10.000 ms 788: チャンネル数   : 2 ch 795: 量子化ビット深度 : 32 bit 804: 有効ビット深度  : 32 bit 811: サンプリングレート : 48000 Hz 819: データ形式 : 浮動小数点型 848: 動作モード : 共有モード 854: WASAPI の初期化は正常に終了しました 862: d3d11.dll の読み込み.... 成功 880: dxgi.dll の読み込み.... 成功 892: API CreateDXGIFactory2 のアドレスを取得します.... 成功 905: IDXGIFactory2 を作成します.... 成功 921: API D3D11CreateDevice のアドレスを取得します.... 成功 937: IDXGIAdapter を取得します.... 成功 949: Direct3D 11 FeatureLevel 11_0 以上を対象とします 956: ID3D11Device オブジェクトを取得します.... 成功 1044: IDXGIDevice1 を取得します.... 成功 1057: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 1064: [ウインドウモード 640x480] 1070: IDXGISwapChain2 を作成します.... 成功 1083: IDXGIFactory2->CreateSwapChainForHwnd の戻り値:0x00000000 1091: IDXGIOutput を取得します.... 成功 1107: Graphics Device:NVIDIA GeForce GTX 960 1114: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1120: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 1127: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 1134: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 1140: 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1147: 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1154: アルファ付き 16bit カラーフォーマットは DXGI_FORMAT_B4G4R4A4_UNORM です 1160: アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1166: アルファテスト用 16bit カラーフォーマットは DXGI_FORMAT_B5G5R5A1_UNORM です 1174: アルファテスト用 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1181: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 1190: DXT2テクスチャフォーマットは使えません 1196: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 1202: DXT4テクスチャフォーマットは使えません 1209: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 1215: BC7_UNORM テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM です 1221: BC7_UNORM_SRGB テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM_SRGB です 1228: ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1237: ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1244: ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1254: 1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1260: 1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1267: 1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1274: 1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1281: 2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1289: 2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1297: 2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1309: 2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1321: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1328: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1334: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1341: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1347: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1355: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1365: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1371: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1378: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1384: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1391: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1397: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1404: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1412: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1422: 使用する機能レベル:D3D_FEATURE_LEVEL_11_1 1433: 同時にレンダリングできるバッファの数:8 1442: 最大テクスチャサイズ 幅:16384 高さ:16384 1452: 標準描画用の頂点バッファの作成.... 成功 1467: シェーダーコード関係の初期化.... 成功 1491: 各種シェーダー用定数バッファの作成.... 成功 1510: 各種 ID3D11InputLayout の作成.... 成功 1563: 画像の単純転送処理の初期化... 成功 1576: 深度バッファを作成します.... 成功 1590: フォントの初期化を行います 1598: フォントの初期化は正常に終了しました 1689: 文字コードバッファの初期化を行います... 完了しました 1708:DXライブラリの初期化処理終了 40956:ウインドウを閉じようとしています 40971:ウインドウが破棄されようとしています 40979:ソフトを終了する準備が整いました 40987:フォントの初期化を行います 40994:フォントの初期化は正常に終了しました 41023:d3d11.dll の解放 1 41030:dxgi.dll の解放 1 41037:Direct3D11 のオブジェクト数を出力 41043:Direct3D11 のオブジェクト合計数 : 0 41049:DirectInput 関連の終了処理... 完了 41058:サウンド関連の終了処理... 完了 41079:ウィンドウ関連の終了処理... 完了 41157:COMを終了... 完了 41163: 41168:Alloc memory dump 41175: Total size:0(0.000kb) Alloc num:0 41181:
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.3 )
名前:管理人 日時:2020/05/26 00:59

お試しいただきありがとうございます 3.21fでも駄目でしたか… ログを拝見する限りでも特に現象の原因になりそうな点はありませんでした うーん、謎です… ビルドで作成されたバイナリデータに何らかの原因がある可能性もありますので、 お手数で申し訳ありませんが、よろしければこちらの私の環境でビルドして作成した 『ブルーム処理基本』の実行ファイルを実行して、同様の現象が発生してしまうか ご確認いただけないでしょうか? m(_ _;m https://dxlib.xsrv.jp/temp/BloomTest.zip ( zipファイルを解凍して、中にある BloomTest.exe を実行してください )
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.4 )
名前:みなつ 日時:2020/05/26 23:02

実行してみましたが、同じ現象が発生しました。 グラフィックドライバーを更新して、実行してみたらブルーム処理基本では発生しなくなったのですが、 PMXモデルを表示するプログラムにブルーム処理を追加して、モデル座標を動かすと同様の現象が発生しました。 別のPCで実行したら、発生しなかったので環境の問題かもしれませんが。
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.5 )
名前:管理人 日時:2020/05/27 02:16

同様の現象が発生しましたか… 画面全体が真っ白になるということですが、真っ白のピクセルで埋め尽くされるのでしょうか? ( DrawBox( 0, 0, 640, 480, GetColor( 255,255,255 ), TRUE ); を実行したのと同じ状態になるのでしょうか? ) GraphFilter の BRIGHT_CLIP が正常に動作しなくても真っ白になることは無いので もし仮にそうだとしますと、みなつさんが推測されている通り環境の問題のかもしれません…
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.6 )
名前:みなつ 日時:2020/05/27 03:42

開始後は正常にブルーム処理されるのですが、少し経つと過剰にブルーム処理され、 真っ白(DrawBox( 0, 0, 640, 480, GetColor( 255,255,255 ), TRUE ); を実行したのと同じ状態)になる。 この時HighBrightScreenのところでピクセルがフィルターされておらず通常の描画と同じ画面になり、 画面全体が明るくなっている(ガウスフィルタが加算されている)という感じです。 ただ、今確認したら白いピクセルだけでなく、背景の3Dモデルの色らしい色(通常青っぽい色が水色に)が混じる感じになっています。 またSetUseDirect3DVersion(DX_DIRECT3D_11);以外では発生しないのは変わらずです。
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.7 )
名前:管理人 日時:2020/05/28 00:45

> 開始後は正常にブルーム処理されるのですが、少し経つと過剰にブルーム処理され、 > 真っ白(DrawBox( 0, 0, 640, 480, GetColor( 255,255,255 ), TRUE ); を実行したのと同じ状態)になる。 > この時HighBrightScreenのところでピクセルがフィルターされておらず通常の描画と同じ画面になり、 > 画面全体が明るくなっている(ガウスフィルタが加算されている)という感じです。 本日ブルーム処理基本のコードを色々変更しつつ実行したところ、私の環境でもほぼ同じ現象が発生しました ( 画面が真っ白になることはありませんでしたが BRIGHT_CLIP が正常に動作していないような挙動にはなりました ) 私のPCに搭載されているグラフィックカードも GeForce だったので、同じような現象が発生する条件はあったのだと思います そして原因を調べたところ、やはりドライバの不具合としか言えないような原因で、修正も 『なんでこの変更をすると正常に挙動するのかわからない( 本来こんな変更しなくても正常に動作するはずなのに… )』 というような修正となりました… みなつさんの環境でも正常に動作するようになったかどうかは分かりませんが よろしければこちらの修正版をお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: direct3d11でサンプルプログラムのブルーム処理基本 ( No.8 )
名前:みなつ(解決) 日時:2020/05/28 01:47

修正版で試してみました。今のところ問題なく正常に動作します。 また何か問題があれば報告させていただきます。 ありがとうございました。
メンテ

Page: 1 |

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

   クッキー保存