トップページ > 過去ログ > 記事閲覧
DX_BLENDMODE_SUBの挙動について
名前:Aquid 日時: 2009/02/27 11:13

バージョン更新に伴って不具合が現れたので報告します。 以下の様なソースを記述したところ、正式リリースされている2.25では期待通りの結果(画面左がやや薄い水色へ変化する)が得られ、2.25bに更新すると結果が変化(画面左が暗めの赤となる)してしまいます。 SetDrawBlendMode(DX_BLENDMODE_NOBLEND,0); DrawBox(0,0,640,480,GetColor(255,255,255),TRUE); SetDrawBlendMode(DX_BLENDMODE_SUB,128); DrawBox(0,0,320,480,GetColor(255,0,0),TRUE);

Page: 1 |

Re: DX_BLENDMODE_SUBの挙動について ( No.1 )
名前:管理人 日時:2009/02/28 13:37

私の手元でお書き込み頂いたプログラムを実行してみましたが、 期待通りの結果になりました。 何が原因かはわかりませんが、とりあえず私の環境でコンパイルした プログラムでも同様に期待しない結果になってしまうかお試し頂けないでしょうか? <お書き込み頂いたプログラムに DxLib_Init 等の最小限のコードを追加したもの> http://homepage2.nifty.com/natupaji/temp/SubBlendTest.zip
Re: DX_BLENDMODE_SUBの挙動について ( No.2 )
名前:Aquid 日時:2009/03/01 09:57

アップロードされたサンプルプログラムを実行してみたところ、 やはり期待通りの結果が得られませんでした。 そこで使用する環境を変えてみたところ、異なる実行結果が得られましたので ログとその結果を添付します。 ・Intel GMA950 画面左が暗い赤(色要素96,0,0)で描画される。 562: ビデオカードの情報 562: 画面モード変更処理を開始します 623: 画面モードの変更処理を開始します 640 x 480 16 bit 623: ウインドウモードにします 623: 画面モードの変更は正常に終了しました 624: カラー情報 624: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 624: ウインドウスタイルをウインドウモード用に変更します... 完了 625: 出力画面用の DirectDrawSurface を作成します 642: 各スクリーンメモリの配置位置 642: PrimaryBuffer : VIDEOMEMORY 642: BaskBuffer : VIDEOMEMORY 642: 出力画面用の DirectDrawSurface の作成は正常に終了しました 643: Direct3D 関連の初期化を行います 643: Direct3Dオブジェクトを取得します 644: Direct3Dオブジェクトを取得しました 645: HALデバイスを発見しました 646: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 647: テクスチャ最大幅:2048 最小幅:1 648: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 648: 最大テクスチャステージ数 = 4 最大テクスチャブレンド数 = 4 648: テクスチャピクセルフォーマット 648: 通常グラフィック用 649: BIT:16 RED:5 GREEN:6 BLUE:5 649: RED:00f800 GREEN:0007e0 BLUE:00001f 649: BIT:32 RED:8 GREEN:8 BLUE:8 649: RED:ff0000 GREEN:00ff00 BLUE:0000ff 650: アルファチャンネル付きグラフィック用 650: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 650: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 650: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 651: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 651: Direct3D 関連の初期化は正常に終了しました 651: グラフィック管理系の初期化を行います 652: 3Dグラフィック描画機能を使用します 687: フォントの初期化を行います 691: フォントの初期化は正常に終了しました 691: グラフィック管理系の初期化は正常に終了しました 715: サーフェス間転送には BitBlt を使用します 716: BitBlt:9323μs BltFast:9914μs 716: スキャンラインの数:800 837: 1フレーム当たりの時間は 17 msecです 837: Tri00:17 msec 838: Tri01:17 msec 838: Tri02:16 msec 838: Tri03:17 msec 838: 画面モード変更処理は正常に終了しました ・GeForce Go 7400 画面左が黒(色要素0,0,0)で描画される。 503: ビデオカードの情報 503: 画面モード変更処理を開始します 563: 画面モードの変更処理を開始します 640 x 480 16 bit 563: ウインドウモードにします 563: 画面モードの変更は正常に終了しました 563: カラー情報 564: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 564: ウインドウスタイルをウインドウモード用に変更します... 完了 564: 出力画面用の DirectDrawSurface を作成します 583: 各スクリーンメモリの配置位置 584: PrimaryBuffer : VIDEOMEMORY 584: BaskBuffer : VIDEOMEMORY 584: 出力画面用の DirectDrawSurface の作成は正常に終了しました 584: Direct3D 関連の初期化を行います 584: Direct3Dオブジェクトを取得します 585: Direct3Dオブジェクトを取得しました 585: HALデバイスを発見しました 586: ハードウエアT&Lデバイスを発見しました 586: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 587: テクスチャ最大幅:4096 最小幅:1 587: 描画制限: D_D3DPTEXTURECAPS_POW2 = 0 D_D3DPTEXTURECAPS_SQUAREONLY = 0 587: 最大テクスチャステージ数 = 8 最大テクスチャブレンド数 = 8 587: テクスチャピクセルフォーマット 588: 通常グラフィック用 588: BIT:16 RED:5 GREEN:5 BLUE:5 588: RED:007c00 GREEN:0003e0 BLUE:00001f 588: BIT:32 RED:8 GREEN:8 BLUE:8 588: RED:ff0000 GREEN:00ff00 BLUE:0000ff 588: アルファチャンネル付きグラフィック用 589: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 589: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 589: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 589: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 589: Direct3D 関連の初期化は正常に終了しました 589: グラフィック管理系の初期化を行います 590: 3Dグラフィック描画機能を使用します 616: フォントの初期化を行います 618: フォントの初期化は正常に終了しました 618: グラフィック管理系の初期化は正常に終了しました 786: サーフェス間転送には BltFast を使用します 786: BitBlt:162630μs BltFast:2393μs 786: スキャンラインの数:800 909: 1フレーム当たりの時間は 16 msecです 909: Tri00:16 msec 909: Tri01:17 msec 909: Tri02:17 msec 909: Tri03:16 msec 909: 画面モード変更処理は正常に終了しました
Re: DX_BLENDMODE_SUBの挙動について ( No.3 )
名前:管理人 日時:2009/03/01 13:26

ご情報ありがとうございます Intel GMA950 が搭載されたPCが私の手元にもあったので試してみたところ現象が再現しました メンバ変数が増えた構造体の初期化を忘れた箇所があったことが原因でした その結果として Direct3D で動作未保障の値を渡していたので、環境によって結果が左右されていたようです こちらにそのバグを修正したバージョンをアップしましたので、宜しければお使い下さい m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: DX_BLENDMODE_SUBの挙動について ( No.4 )
名前:Aquid 日時:2009/03/01 16:36

ライブラリの更新を行いました所、期待通りの挙動をする事を確認できました。 対応ありがとうございました。

Page: 1 |