DXライブラリ質問&雑談掲示板2
[トップに戻る] [使いかた] [ワード検索] [管理用]
おなまえ
題  名
メッセージ
削除キー (記事削除用。英数字で8文字以内)
クッキー情報を保存

<管理人>
ご返信は一週間に一度、土日のどちらかで行います。平日は時間に余裕があるときだけご返信します。

[4923] DXライブラリ 3.19f をアップしました 投稿者:管理人 投稿日:2018/12/15(Sat) 00:05 [返信]
今回も細かなバグ修正や改良が主な内容となります ただ、次のバージョンでDXアーカイブの仕様が変更となり、それまでのDXアーカイブファイルが使用できなくなるので Ver3.19f がこれまでのDXアーカイブファイルを使用できる最後のバージョンとなります 今までのDXアーカイブファイルが使用できなくなる主な原因はDXアーカイブファイルの暗号化処理にあります 詳しくは yumetodoさんがこちらに纏めてくださっていますので、興味のある方はご覧ください m(_ _)m <DxLibのDxArchiveの暗号化する機能とExport Administration Regulations 輸出管理規則> https://qiita.com/yumetodo/items/89af53d3cf8bc236de2f

[4922] Re:[4921] ご返信 投稿者:みけにゃんこ 投稿日:2018/11/16(Fri) 08:47 [返信]
素早い対応ありがとうございます、 例外発生が無くなった事を確認できました。

[4921] ご返信 投稿者:管理人 投稿日:2018/11/15(Thu) 23:40 [返信]
> みけにゃんこさん サンプルソースの掲載ありがとうございます、手元でも例外発生を確認できました 修正版をアップしましたので、よろしければお試しください m(_ _)m http://dxlib.o.oo7.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 http://dxlib.o.oo7.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 http://dxlib.o.oo7.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.2 用 http://dxlib.o.oo7.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 http://dxlib.o.oo7.jp/temp/DxLibDotNet.zip // Windows版 .NET用 http://dxlib.o.oo7.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』をして下さい)

[4920] 無題 投稿者:みけにゃんこ 投稿日:2018/11/15(Thu) 10:45 [返信]
はじめまして、こんにちは ALT+TAB等でフルスクリーンからディスクトップに戻された場合に例外が発生 デバッグビルドで例外箇所がわかります 動作中にスリープ等をしないようにSetThreadExecutionStateを使用しています。 一応、対策は SetAlwaysRunFlagをFALSEにして他のスレッドから画面を戻せばなんとかなりますが・・・ お忙しいと思いますが確認宜しくおねがいします。 色々、削っていますがサンプルソースです。 #include "stdafx.h" #include <windows.h> #include <DxLib.h> int ScreenHandle[16]; /* 例外発生条件 発生する SetAlwaysRunFlag(TRUE); SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED); 発生しない SetAlwaysRunFlag(FALSE); SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED); 発生しない SetAlwaysRunFlag(TRUE); // SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED); */ void draw_screen_prog(void) { //ScreenHandle[0] → ScreenHandle[1]にcopy SetDrawScreen(ScreenHandle[0]); //ALT+TAB等でフルスクリーンからディスクトップに戻された場合、例外が発生する //SetAlwaysRunFlag(FALSE)時は例外発生しない //↓例外発生 GetDrawScreenGraph(0, 0, 1920, 120, ScreenHandle[1]);//保存 //↑例外発生 ClearDrawScreen();//ScreenHandle[0] 消し //描画処理 SetDrawScreen(DX_SCREEN_BACK); ClearDrawScreen(); DrawString(40, 40, "RUN", GetColor(255, 255, 255)); } void ReloadFunction(void) { ReloadFileGraphAll(); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) { SetOutApplicationLogValidFlag(FALSE);//debug log禁止 SetUseDXNetWorkProtocol(FALSE);//DXライブラリ用の通信プロトコルを使用禁止 SetWaitVSyncFlag(TRUE);//垂直同期信号 (TRUE:待つ FALSE:待たない) SetEnableXAudioFlag(FALSE);//XAudio2 使用設定 SetWindowUserCloseEnableFlag(FALSE);// メインウインドウの[×]ボタンを押した時にDXライブラリが自動的にウインドウを閉じるかどうかを設定する( TRUE:自動的に閉じる( デフォルト ) FALSE:閉じない ) SetSysCommandOffFlag(TRUE);//ALTキーや Windowsキーを無効にするかどうかを設定する SetMultiThreadFlag(TRUE);//DirectDraw や Direct3D の協調レベルをマルチスレッド対応にするかどうか SetAeroDisableFlag(TRUE);//TRUEでAeroを切る // SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8);//文字処理をUTF-8へ // SetGraphMode(1920, 1080, DesktopColorBitDepth); SetGraphMode(1920, 1080, 32); ChangeWindowMode(FALSE);//FULLスクリーン SetFullScreenResolutionMode(DX_FSRESOLUTIONMODE_NATIVE);//モニターの解像度を SetGraphMode で指定した解像度に変更します SetMouseDispFlag(FALSE);//マウスカーソルoff SetWindowStyleMode(4);// ウインドウをクライアント領域以外何も無いタイプにする SetWindowPosition(0, 0);// ウインドウの位置をデスクトップの一番左上に移動 if (DxLib_Init() == -1) exit(1);//DXライブラリ初期化ERROR // SetRestoreGraphCallback(ReloadFunction);// 画像復元関数を登録 ///// SetAlwaysRunFlag(TRUE);// //↓これをコメントした場合は例外発生しない・・・ SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED); //↑これをコメントした場合は例外発生しない・・・ ///// SetTransColor(0, 0, 0);//透過色の指定 (R,G,B) SetBackgroundColor(0, 0, 0);//ClearDrawScreen()時の色指定 ScreenHandle[0] = MakeScreen(1920, 120, TRUE); ScreenHandle[1] = MakeScreen(1920, 120, TRUE); SetDrawScreen(ScreenHandle[0]); ClearDrawScreen(); SetDrawScreen(ScreenHandle[1]); ClearDrawScreen(); //その他画像読み込み while (CheckHitKey(KEY_INPUT_ESCAPE) == 0) { //ESCAPEで終了します if (ProcessMessage() == -1) break; if (GetWindowUserCloseFlag() == 1) break; draw_screen_prog(); ScreenFlip(); } InitGraph(); InitSoundMem(); InitFontToHandle(); DxLib_End();// DXライブラリ使用の終了処理 SetThreadExecutionState(ES_CONTINUOUS); exit(0); }

[4919] ご返信 投稿者:管理人 投稿日:2018/11/06(Tue) 01:38 [返信]
> Gacchoさん 私は今年予定していた作業が遅れに遅れている状態なので参加できそうにありません、すみません m(_ _;m > 休日プログラマーさん すみません、こちらの挙動は『αチャンネルを持たない画像形式でαチャンネルを持たせるための仕様』となります 元のファイル名の末尾に _a が付いたファイルがあると、それをαチャンネルの画像として読み込むというものです 恐らく title_a.jpg を title.jpg のαチャンネルの画像として読み込もうとして、画像のサイズが異なるなどの 理由でエラーになったのだと思います 関数リファレンスの LoadGraph の解説の『アルファチャンネル画像の自動読み込みについて』という項目に 記載されていますので、よろしければご覧ください <LoadGraph> http://dxlib.o.oo7.jp/function/dxfunc_graph1.html#R3N2

[4918] DrawGraphでjpgの読込がエラーに 投稿者:休日プログラマー 投稿日:2018/11/04(Sun) 21:53 [返信]
タイトルの通りですが、とある読込方で戻り値が-1となり、画像が描画できない事が。 当方、かなり久しぶりにDXライブラリを触りまして、使用していたVisualStudioも2010から2017になり 色々違ってて戸惑っていたのですが、以前は800×600のウィンドウサイズで作っていたものを、1280×720 に変更し、画像サイズもそれに合わせて作り直しました。 その際に画像を読み込んだら描画されずに・・・。 色々弄って結果的に描画は出来たのですが、 title_a.jpgという感じの名前を付けたファイルが_b,_c,_dと複数あり、それとは別にtitle.jpgという 名前のファイルを用意し、title.jpgを読み込むと-1となります。 _a〜のファイルを削除、もしくはtitle.jpgを違う名前にすると読み込みます。 とりあえず読込には成功して一応問題なく動いているのですが、これはなんででしょうね? ちょっと気になったので書き込まさせていただきました。

[4917] Advent Calendar 投稿者:Gaccho 投稿日:2018/10/31(Wed) 22:25 [返信]
こんにちは。 DXライブラリのAdvent Calendarを作成いたしましたので、告知です。 Advent Calendarとは12/1から12/25までの期間中、 参加者が記事を投稿するイベントです。 参加は自由です。誰でも参加できます。 DxLibに関することならどんな記事でも投稿できます。 作成したゲームの紹介や、 DxLibの便利な機能紹介、 〇〇機能を試してみた など、色々な用途でお使い頂けます。 知識を共有出来たら嬉しいです。 URL qiita.com/advent-calendar/2018/dxlib

[4916] Re:[4914] ご返信 投稿者:スーパー初心者 投稿日:2018/10/30(Tue) 09:16 [返信]
> すみません、完全な後付のおまけ機能なので、そのような使い方しか出来ません 相変わらずの素早いお返事、ありがとうございます。 機械変換とはいえ、C#に対応して頂けただけでも、こちらとしては御の字です。 ゲーム開発環境として、C#といえば真っ先にUnityが浮かぶ昨今ですが ずっとDXライブラリで作られたゲームをプレイしていた自分が同じ技術で 同じステージに立てるのが嬉しくて、つい色々と無茶を言ってしまったかも知れません。 もしご迷惑をお掛けしていたら、すみませんでした。 ただ、ツール作成に特化したWinForms(WPFも?)とDXライブラリの技術の合わせ技で マップエディタ、果てはゲームエディタも手軽に作れる光明が見えた気がしています。 また何かあった際にはよろしくお願い致します。

[4914] ご返信 投稿者:管理人 投稿日:2018/10/30(Tue) 00:02 [返信]
> スーパー初心者さん > その場合は見えないコントロールにSetUserWindowでハンドルを指定し > その後はメインの描画先を使用せずにひたすらSetScreenFlipTargetWindowで個々のハンドルを > 指定するしか方法はないのでしょうか? > 出来ればあまりそういう泥臭いマネはしたくないんですが・・・ すみません、完全な後付のおまけ機能なので、そのような使い方しか出来ません

[4913] 無題 投稿者:スーパー初心者 投稿日:2018/10/29(Mon) 05:39 [返信]
素早いお返事ありがとうございます! SetScreenFlipTargetWindowの存在は過去ログから知っていましたが まさか複数画面ではなく、個々のコントロールのハンドルを指定する事が 出来るのは初めて知りました!ありがとうございます! これだと、正常動作するかどうかはともかく、ボタンコントロールですら 描画先に指定できますね!やりませんが!(笑) ちなみに、WinFormsでDXライブラリを使用する場合、メインの描画先を何か一つの コントロールにSetUserWindowで指定しないとWinFormsのFormとは別にDXライブラリの画面が 起動してしまいますが、その場合は見えないコントロールにSetUserWindowでハンドルを指定し その後はメインの描画先を使用せずにひたすらSetScreenFlipTargetWindowで個々のハンドルを 指定するしか方法はないのでしょうか? 出来ればあまりそういう泥臭いマネはしたくないんですが・・・ そもそも、コントロールをDXライブラリの描画先に指定すること自体が非常識という事は 重々承知しておりますが、何か良い方法があれば重ねてご教示願います。

[4912] ご返信 投稿者:管理人 投稿日:2018/10/28(Sun) 23:12 [返信]
> スーパー初心者さん SetUserWindow でメイン画面とする描画先を設定できる他に SetScreenFlipTargetWindow という ScrenFlip で裏画面の内容を転送するウィンドウを指定するための関数があります // ScreenFlip で画像を転送する先のウィンドウを設定する( NULL を指定すると設定解除 ) int SetScreenFlipTargetWindow( HWND TargetWindow, double ScaleX = 1.0 , double ScaleY = 1.0 ) ; こちらを使用すれば複数のフォームに対してDXライブラリの描画結果を表示することができると思います C# ではありませんが、SetScreenFlipTargetWindow を使用して複数のウィンドウに表示したサンプルを記載します #include <windows.h> #include "DxLib.h" char *szClassNme[ 2 ] = { "ウィンドウ1クラスネーム", "ウィンドウ2クラスネーム", } ; // メッセージ処理用関数 LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_DESTROY: PostQuitMessage( 0 ) ; break ; default : return(DefWindowProc( hWnd, msg, wParam, lParam ) ) ; } return ( 0L ) ; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow) { int pos, pos_add ; LONGLONG time ; LONGLONG temp_time ; MSG msg ; HWND hWnd[ 2 ] ; WNDCLASS myProg ; // サブウィンドウの作成 myProg.style = CS_HREDRAW | CS_VREDRAW ; myProg.lpfnWndProc = WndProc ; myProg.cbClsExtra = 0 ; myProg.cbWndExtra = 0 ; myProg.hInstance = hInstance ; myProg.hIcon = NULL ; myProg.hCursor = LoadCursor( NULL, IDC_ARROW ) ; myProg.hbrBackground = (HBRUSH)GetStockObject( NULL_BRUSH ) ; myProg.lpszMenuName = NULL ; myProg.lpszClassName = szClassNme[ 0 ] ; if( !RegisterClass( &myProg ) ) { return FALSE; } hWnd[ 0 ] = CreateWindow( szClassNme[ 0 ], "ウィンドウ1", WS_OVERLAPPEDWINDOW, 100, 100, 500, 500, NULL, NULL, hInstance, NULL ) ; ShowWindow( hWnd[ 0 ], nCmdShow ) ; UpdateWindow( hWnd[ 0 ] ) ; myProg.lpszClassName = szClassNme[ 1 ] ; if( !RegisterClass( &myProg ) ) { return FALSE; } hWnd[ 1 ] = CreateWindow( szClassNme[ 1 ], "ウィンドウ2", WS_OVERLAPPEDWINDOW, 700, 100, 500, 500, NULL, NULL, hInstance, NULL ) ; ShowWindow( hWnd[ 1 ], nCmdShow ) ; UpdateWindow( hWnd[ 1 ] ) ; // ウィンドウモードで起動 ChangeWindowMode( TRUE ) ; // VSYNC待ちをしない設定に変更 SetWaitVSyncFlag( FALSE ) ; // ウィンドウモードで起動 ChangeWindowMode( TRUE ) ; // 背景色を灰色に設定 SetBackgroundColor( 128,128,128 ) ; // 非アクティブ状態でも動作するように設定 SetAlwaysRunFlag( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // メッセージループ time = GetNowHiPerformanceCount() ; pos = 0 ; pos_add = 8 ; while( ProcessMessage() == 0 ) { // サブウィンドウのメッセージ処理 if( PeekMessage( &msg, hWnd[ 0 ], 0, 0, PM_REMOVE ) ) { TranslateMessage(&msg); DispatchMessage(&msg); } if( PeekMessage( &msg, hWnd[ 1 ], 0, 0, PM_REMOVE ) ) { TranslateMessage(&msg); DispatchMessage(&msg); } // 移動処理 pos += pos_add ; if( pos > 400 || pos < 0 ) { pos_add = -pos_add ; } // メインウィンドウ用の描画 ClearDrawScreen() ; DrawBox( pos, 0, pos + 64, 64, GetColor( 255,0,0 ), TRUE ) ; SetScreenFlipTargetWindow( NULL ) ; ScreenFlip() ; // 少し時間の経過を待つ WaitTimer( 2 ) ; // ウィンドウ1用の描画 ClearDrawScreen() ; DrawBox( 0, pos, 48, pos + 48, GetColor( 0,255,0 ), TRUE ) ; SetScreenFlipTargetWindow( hWnd[ 0 ] ) ; ScreenFlip() ; // 少し時間の経過を待つ WaitTimer( 2 ) ; // ウィンドウ2用の描画 ClearDrawScreen() ; DrawBox( pos, pos, pos + 80, pos + 80, GetColor( 0,0,255 ), TRUE ) ; SetScreenFlipTargetWindow( hWnd[ 1 ], 2.0, 1.0 ) ; ScreenFlip() ; // 時間待ち処理( 60fps ) temp_time = GetNowHiPerformanceCount() ; while( temp_time - time < 1000000 / 60 ) { Sleep( 0 ) ; temp_time = GetNowHiPerformanceCount() ; } time = temp_time ; } // DXライブラリの後始末 DxLib_End(); return 0 ; } よろしければお試しください m(_ _)m

[4911] 複数領域への描画 投稿者:スーパー初心者 投稿日:2018/10/28(Sun) 22:04 [返信]
度々お世話になります。 とあるブログでC#でWindowsFormsのAPIとDXライブラリが連携できることに 感動を覚えて、これで描画部分を全てDXライブラリに任せて ツール部分ではWindowsFormsを使用したマップエディタの様なものを作ろうと 思い立ったのですが、DXライブラリのインスタンスは一つなので描画先が 一つに固定になってしまいます。 一応、現在まともに成功した部分だけを報告すると WindowsFormsで作成した画面にPanelコントロールを貼り付け そのパネルの領域に対してDXライブラリで描画を行うところまでは成功しています。 ちなみに、上記の方法はPanelのHandleをSetUserWindowに渡す形で実現しています。 要件としてマップエディタはRPGツクールの様に1画面内にマップチップや フィールド等を表示する複数の領域があり、それぞれの領域にそれぞれ別の描画を行いたいです。 WindowsFormsのAPIにも画像を描画する機能はもちろんありますが、描画速度だったり そもそも使いづらかったりで、あまり使いたくないというのが本音です。 アニメーションの編集等も作成するツールで行いたいので、本体(ゲーム)と マップエディタの動作保証が出来る点でも魅力的だと考えています。 というか、死にたくなるほど業務システムばっかり作ってきた自分としては そんな夢のコラボが出来たらむしろ死んでもいいと思う位嬉しいです。 過去ログで複数画面に対しての描画方法は確認しましたが、今回同じ方法で描画するのは 難しいと思い、質問させて頂きました。 もし、何かしら勘違いがあればご指摘願います。

[4910] ご返信 投稿者:管理人 投稿日:2018/10/18(Thu) 02:06 [返信]
> BayLeafさん ご確認いただきありがとうございます 無事軽くなったようで何よりです (^ ^

[4909] Re:[4907] ご返信 投稿者:BayLeaf 投稿日:2018/10/14(Sun) 23:23 [返信]
> なるほど確かに見るからに重そうですね… > ( このページを作成した当時は『3D関数が使えるほど高性能なPCならこれくらい大丈夫だろう』と考えて不精した気がします… ) > 近いうちに関数の一覧と解説のページを分ける作業をしようと思います m(_ _)m ありがとうございます。先程確認したところ、硬直がなくなっていました。 これでスマートフォンで確認しながら作業ができます。 電車内などでふと実装を思いついて確認したいときに便利なんですよね。

[4908] ご返信 投稿者:管理人 投稿日:2018/10/14(Sun) 23:07 [返信]
> BayLeafさん 3D関係関数のページを分割してファイルサイズを下げてみました よろしければ動作が軽くなっているかご確認ください m(_ _)m

[4907] ご返信 投稿者:管理人 投稿日:2018/10/09(Tue) 03:05 [返信]
> BayLeafさん > 関数リファレンス一覧と詳細な関数説明が同じページにあることで > スクロールが長くなっていることが原因かなと思います。 なるほど確かに見るからに重そうですね… ( このページを作成した当時は『3D関数が使えるほど高性能なPCならこれくらい大丈夫だろう』と考えて不精した気がします… ) 近いうちに関数の一覧と解説のページを分ける作業をしようと思います m(_ _)m

[4906] Re:[4905] ご返信 投稿者:BayLeaf 投稿日:2018/10/08(Mon) 14:33 [返信]
> 表示件数を 30件にしてみました ありがとうございます。かなり動作が軽くなりました。 > 個人的にリファレンスを開いた瞬間に関数の一覧があって欲しいので、申し訳ありませんがこちらには対応できません いえいえ、シンプルな画面で見やすいので大丈夫です。 > 手元のAndroid端末で Chrome を使って開く限りでは特に硬直することは無いのですが、お使いの端末とブラウザは何でしょうか? 私も Chrome を使っています。 今開いたら関数リファレンスは正常に開くことができましたが、 3D関係関数のページが重くなり応答しなくなります(待機すれば解決はするのですが)。 関数リファレンス一覧と詳細な関数説明が同じページにあることで スクロールが長くなっていることが原因かなと思います。

[4905] ご返信 投稿者:管理人 投稿日:2018/10/07(Sun) 02:10 [返信]
> BayLeafさん ご提案ありがとうございます > ・掲示板 > デフォルトの表示件数を減らし、表示数を指定するタブあったらと思います。 表示件数を 30件にしてみました > ・関数リファレンス > リファレンストップはジャンル別に分けたリンクのみ(使用必須関数は据え置き)を置き、 > 各ページはジャンル指定したもののみを置く(各ジャンルのリンクを各ページ下部にも置けば移動が楽になりそうです)。 個人的にリファレンスを開いた瞬間に関数の一覧があって欲しいので、申し訳ありませんがこちらには対応できません 手元のAndroid端末で Chrome を使って開く限りでは特に硬直することは無いのですが、お使いの端末とブラウザは何でしょうか?

[4904] サイトについて 投稿者:BayLeaf 投稿日:2018/10/05(Fri) 15:50 [返信]
いつもお世話になっております。 スマートフォンでも時々アクセスすることがあるのですが、一部箇所が重くて硬直してしまいます。 よく発生するのは以下の箇所です。 ・この掲示板 ・関数リファレンス そこでページの表示軽減策として要望です。 ・掲示板 デフォルトの表示件数を減らし、表示数を指定するタブあったらと思います。 ・関数リファレンス リファレンストップはジャンル別に分けたリンクのみ(使用必須関数は据え置き)を置き、 各ページはジャンル指定したもののみを置く(各ジャンルのリンクを各ページ下部にも置けば移動が楽になりそうです)。 忙しいと思いますのでお時間があるときに編集をお願いします。

[4903] ご返信 投稿者:管理人 投稿日:2018/10/05(Fri) 01:05 [返信]
> Effekseerさん > 最初てっきり、ステンシルバッファ使っているものかと思ってました。 当時はどんなGPUでもステンシルバッファが使えるという時代ではなかったので… m(_ _;m

[4902] CreateMaskScreenについて 投稿者:Effekseer 投稿日:2018/10/03(Wed) 20:29 [返信]
返答ありがとうございます。 なかなか、それに対応させようとすると大変そうなので対応困難という風にします。 最初てっきり、ステンシルバッファ使っているものかと思ってました。

[4901] ご返信 投稿者:管理人 投稿日:2018/10/03(Wed) 01:27 [返信]
> ひいちゃさん > ファミコンやPS1のDXライブラリは出ないのかなー、とw DXライブラリのハンドル方式はメモリ数KBや数MBの環境では贅沢すぎるので、 作るとしても似た使い方ができる全く別物の省メモリ仕様ライブラリを作る必要があるのでちょっと難しいですね… ( 公式の開発環境も無いですし…あと何よりiOS対応したら対応プラットフォームを増やす作業は一旦終了にしたいですし… ) > Effekseerさん CreateMaskScreen を使用すると描画先がマスク処理用の第三のレンダーターゲットとなりますので、その関係ではないかと思います ( DXライブラリのマスク処理はピクセルシェーダーどころか Direct3D 7 のテクスチャステージもそんなに使えない頃に実装したものなので、一回の描画の度に 1. マスク処理用レンダーターゲットに描画 2. マスク処理用レンダーターゲットの描画された領域の内容を、マスクのテクスチャと合成しながら本来の描画先に転送 ということをしています、CPUで行っているとこは『マスクのテクスチャ』にマスクのイメージを転送する処理です ( マスクのテクスチャをロックして転送しています、もっと効率の良い処理はあるのですが何時までも改良せずに後回しになっています… ) )

[4900] CreateMaskScreenについて 投稿者:Effekseer 投稿日:2018/10/02(Tue) 23:13 [返信]
お世話になっております。 Effekseerです。 CreateMaskScreenを使用するとEffekseerで描画したエフェクトが描画できなくなるという報告がきています。 この関数のコード自体はまだ読んでいないのですが、説明を見てる限りCPUでなんらかの処理をしているようにみえます。 そのため、GPUで描画しているEffekseerは対応できない、という認識で大丈夫でしょうか? お手数ではありますが、よろしくお願いします。

[4899] 投稿者:ひいちゃ 投稿日:2018/09/24(Mon) 18:10 [返信]
と思ったら、ファミコンの開発は、アセンブラでなきゃダメなのか…… イキナリオワタOTL

[4898] Re:[4897] ご返信 投稿者:ひいちゃ 投稿日:2018/09/24(Mon) 18:00 [返信]
> HSPの独自言語ながらC言語っぽいところやBASICっぽいところがあってなんとなく > どのような処理なのかわかります > 結構そのままDXライブラリの関数が使えてしまうのですね、凄い… 自分も、ググってみて、HSPでDXライブラリが使えると知って、『おー』と思います。 一時期、HSPに流れていた時期もあったのでw どんどん広がっていきますねDXライブラリ!^^ > ActiveBasic は更新が 10年滞っていますが、現在でも使用されている方は居られるのでしょうか… (・・;; そこが問題ですよねー。まぁ、これがもとでActiveBasicの復権につながってくれればーw そういえば、この前ふと思ったことなのですが…… ファミコンやPS1のDXライブラリは出ないのかなー、とw まぁ、それ以前に、両機種の開発環境はどうする、という話ですが(苦笑

[4897] ご返信 投稿者:管理人 投稿日:2018/09/24(Mon) 01:16 [返信]
> ひいちゃさん メールありがとうございます すみません、以前もメールでURLを教えていただいていたことを失念していました… m(_ _;m HSPの独自言語ながらC言語っぽいところやBASICっぽいところがあってなんとなく どのような処理なのかわかります 結構そのままDXライブラリの関数が使えてしまうのですね、凄い… > ちなみに後日、ActiveBasic版も公開する予定w ActiveBasic は更新が 10年滞っていますが、現在でも使用されている方は居られるのでしょうか… (・・;;

[4896] 公開している 投稿者:ひいちゃ 投稿日:2018/09/23(Sun) 18:14 [返信]
>> ひいちゃさん >HSP は昔から知っているのですが、使ったことがないのでHSP用のDXライブラリ開発テンプレートなるものが >どのようなものなのか想像するしかない状態です… >ところでどちらで公開されているのでしょうか? >ひいちゃさんのウェブサイト『B-Maga』では見つからなかったのですが… 公開しているアドレス、メールで送っておきましたー。 それで、HSPには残念ながらテンプレートから自動的にプロジェクトを作る機能がないので、 テンプレートのソースをコピーして、そのソースに色々コードを書いていく形式となりますー。 ちなみに後日、ActiveBasic版も公開する予定w

[4895] ご返信 投稿者:管理人 投稿日:2018/09/23(Sun) 00:53 [返信]
> ひいちゃさん HSP は昔から知っているのですが、使ったことがないのでHSP用のDXライブラリ開発テンプレートなるものが どのようなものなのか想像するしかない状態です… ところでどちらで公開されているのでしょうか? ひいちゃさんのウェブサイト『B-Maga』では見つからなかったのですが…

[4894] HSP用テンプレート 投稿者:ひいちゃ 投稿日:2018/09/17(Mon) 10:39 [返信]
どうもです! このたび、HSP用のDXライブラリ開発テンプレートを作り、公開いたしました! これを使えば、HSPを使った、DXライブラリ使用のゲームの開発がやりやすくなる!……はず。 もしよければ、使ってみてくださいませ!

[4893] ご返信 投稿者:管理人 投稿日:2018/09/13(Thu) 00:49 [返信]
> was-blue.0793さん メールにご返信しましたので、よろしければご確認ください。m(_ _)m

記事No 削除キー

- Aska BBS -