トップページ > 過去ログ > 記事閲覧
3D機能停止時のLoadBlendGraph
名前:SmokingWOLF 日時: 2010/09/20 21:43

いつもDXライブラリにお世話になっております。 前回の素早い対応、誠にありがとうございました。 DXライブラリ3.04a(9/19 1:31版)にて、LoadBlendGraph(DrawBlendGraph)の挙動に 気になる点がございましたので、ご報告させていただきます。 【3D機能停止時のLoadBlendGraph】 1.LoadBlendGraph関数のサンプルを使用 2.サンプル文のWinMain直後にSetUse3DFlag(false);を追加して、3D機能を停止する 3.LoadBlendGraphで読み込む画像は「PNG形式(256色)」にする 以上の条件で実行すると、ブレンド処理が、3で指定した画像を無視して 全画面一斉に切り替わってしまうという現象を確認しました。 このとき、LoadBlendGraphの返り値は、-1ではありませんでした(134414399といった値)。 なお、条件2 (3D機能停止)を省いて、1&3のみで実験した場合は、期待通りの動作が行われました。 また、1&2を満たした状況で、条件3の画像をグレースケールBMP画像にした場合も、 期待通りの処理が行われました。 実験に使用したPNGファイルは以下のものです。 www.silversecond.com/WolfRPGEditor/tmp/Blend.png Scene1.jpg、Scene2.jpgは、こちらのサイトでお借りしたものを使用させていただきました。 ご確認いただけますと幸いです。

Page: 1 |

Re: 3D機能停止時のLoadBlendGraph ( No.1 )
名前:七篠 日時:2010/09/20 18:37

横槍で失礼します。適当なことを言って申し訳ありません。 DXライブラリミニテクニック、『前処理』のすすめを読まれるとわかるとおもいますが、 DxLib_Init 関数の前に行える処理は限定されています。 おそらくそれが原因では?
Re: 3D機能停止時のLoadBlendGraph ( No.2 )
名前:SmokingWOLF 日時:2010/09/20 19:28

>>1 アドバイスありがとうございます。 試してみたところ、DxLib_Initの後にSetUse3DFlag(false)を入れると、 3Dモードの停止が反映されていない印象でした。 以下のソースを試したところ、DxLib_Init()を行った後に SetUse3DFlag(false)して3Dモードを停止したにも関わらず、 直後のGetUse3DFlag()で真を返し、「3D機能がオンになってます」という メッセージボックスが表示されます。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウィンドウモードで起動 ChangeWindowMode(true) ; // DXライブラリ初期化処理 if( DxLib_Init() == -1 ) return -1 ; SetUse3DFlag(false); if(GetUse3DFlag()){ MessageBox(0,"3D機能がオンになってます","",0); } // DXライブラリ使用の終了処理 DxLib_End() ; // ソフトの終了 return 0 ; } お手数お掛けしますが、こちらも併せて、ご確認いただけますでしょうか。 環境を忘れていましたが、OSはWindowsXP Home SP3。 DirectXは9.0C、グラフィックチップはGeForce9800M GTSです。
Re: 3D機能停止時のLoadBlendGraph ( No.3 )
名前:いっち 日時:2010/09/20 19:31

私も事象確認しました。 SetUse3DFlag は DxLib_Init を呼ぶ前でしか機能しないのが正常だと思います。 (おそらくニッチな機能のため記載されていないのだと思います。) bmpは問題なしというのがちょっと謎ですが。
Re: 3D機能停止時のLoadBlendGraph ( No.4 )
名前:七篠 日時:2010/09/20 23:29

憶測でものを言って申し訳ありませんでした。 当方でもDxLib_Init の前に呼ばないとエラーになる旨確認しました。 それだけじゃなんなので当方でも検証でSetUse3DFlag(false)時 Blend.bmpが8bit できる Blend.bmpが16bit できない となっているため、たまたまできただけの可能性があるかと思います
Re: 3D機能停止時のLoadBlendGraph ( No.5 )
名前:管理人 日時:2010/09/25 20:12

ご報告ありがとうございます ソフトウエアレンダリングモードで、パレットを使用した画像を LoadBlendGraph で読み込んだ場合に 正常に処理されないようになっていました 修正したバージョンをアップしましたので、よろしければお試し下さい m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: 3D機能停止時のLoadBlendGraph ( No.6 )
名前:SmokingWOLF(解決) 日時:2010/09/25 23:46

修正されていることを、こちらの環境でも確認しました! ご対応下さって、誠にありがとうございます。

Page: 1 |