トップページ > 記事閲覧
DirectX9とMMD(pmx)モデル
名前:さと 日時: 2015/05/05 02:29

こんばんは、いつもお世話になっております。 最新版3.13f(暫定適用3.14)で、発生している現象なのですが WindowsXP, Core2Quad Q9650, Radeon HD 5700 で ”かこみき ミカサと立体機動装置モデル”を読み込むと描画されません。 ※Google検索で入手をお願い致します。 Windows7(64), Celeron 1037U, Intel HD Graphics では問題なく描画されます。 試しに、SetUseDirect3DVersion( DX_DIRECT3D_9);をしてみると Windows7(64), i7-2600, Radeon HD7750 では描画できていたモデルが DX_DIRECT3D_9 モードでは消えてしまいました。 X11対応した辺りで一部のMMDモデルが描画されないので、自分の環境だけの問題かなと思っておりましたが DirectX9での何かの不具合? と気がついたのでご報告いたします。
メンテ

Page: 1 |

Re: DirectX9とMMD(pmx)モデル ( No.1 )
名前:さと 日時:2015/05/05 02:39

補足です。 Windows7(64), Celeron 1037U, Intel HD Graphics で SetUseDirect3DVersion( DX_DIRECT3D_9); をしてみたら、正常に描画されています。 WindowsXP, Core2Quad Q9650, Radeon HD 5700 でも、起動前にデスクトップカラーを変えたりすると 一度だけなら描画されたりするので、完全な再現性がわかりません。
メンテ
Re: DirectX9とMMD(pmx)モデル ( No.2 )
名前:さと 日時:2015/05/05 12:47

こんにちは、申し訳ありません。 ペコm(_ _;m)三(m;_ _)mペコ 問題のモデルだけを読み込んで描画するプログラムを書いたら 3.13, 3.13d, 3.13f(3.14)で、問題なく描画されています。 ※物理演算はどちらも DX_LOADMODEL_PHYSICS_DISABLE です。 読み込んだモデルは、kakomiki_ミカサ9.pmx なのですが条件が複雑っぽいので 確実な再現性を報告できるまで、これは保留でお願いいたします。
メンテ
Re: DirectX9とMMD(pmx)モデル ( No.3 )
名前:さと 日時:2015/05/05 13:32

補足です。 問題が出ないMMD(pmx)を読み込むと Log.txtにはエラーらしいのは出ないのですが、 kakomiki_ミカサ9.pmx を読み込むと Log.txtに変化がでました。 25977:Alloc memory dump 25977: size: 5393904( 5267.484kb) file:DxModelRead.cpp line:5022 ID:31208 addr:58770060 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 25977: size: 1495900( 1460.840kb) file:DxModelRead.cpp line:5012 ID:31207 addr:583a0060 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 25977: size: 1152( 1.125kb) file:in\DxHandle.cpp line:196 ID:31206 addr:15d78850 data:<....-..4&#128;.......> [2e 00 00 00 2d 00 2e 34 80 04 00 00 00 00 00 00] 25978: size: 19456( 19.000kb) file:DxModelRead.cpp line:4443 ID:31205 addr:2062e078 data:<&#136;&#224;b ....Xb.0ud..> [88 e0 62 20 00 00 00 00 58 62 05 30 75 64 1f 04] 25978: size: 356624( 348.266kb) file:DxModelRead.cpp line:4423 ID:31204 addr:30056258 data:<hb.0x&#224;b .~.0&#133;...> [68 62 05 30 78 e0 62 20 10 7e 04 30 85 18 1f 04] 25978: size: 58336( 56.969kb) file:ain\DxModel.cpp line:2380 ID:31203 addr:30047e10 data:< ~.0Xb.0&#232;$.0&#133;§..> [20 7e 04 30 58 62 05 30 e8 24 03 30 85 a7 19 04] 25978: size: 88256( 86.187kb) file:DxModelRead.cpp line:4332 ID:31202 addr:300324e8 data:<&#248;$.0.~.08pC.&#181;&#195;..> [f8 24 03 30 10 7e 04 30 38 70 43 2e b5 c3 18 04] 25979: size: 33106( 32.330kb) file:ain\DxModel.cpp line:2380 ID:31201 addr:2e437038 data:<HpC.&#232;$.0.&#238;\!.k..> [48 70 43 2e e8 24 03 30 18 ee 5c 21 05 6b 17 04] 25979: size: 29176( 28.492kb) file:DxModelRead.cpp line:4315 ID:31200 addr:215cee18 data:<(&#238;\!8pC.&#224;&#224;&#255;/&#195;&#233;..> [28 ee 5c 21 38 70 43 2e e0 e0 ff 2f c3 e9 16 04] 25979: size: 213920( 208.906kb) file:DxModelRead.cpp line:4443 ID:31199 addr:2fffe0e0 data:<&#240;&#224;&#255;/.&#238;\!`.-X&#219;w..> [f0 e0 ff 2f 18 ee 5c 21 60 00 2d 58 db 77 16 04] 25979: size: 846960( 827.109kb) file:DxModelRead.cpp line:4423 ID:31198 addr:582d0060 data:<p.-X&#224;&#224;&#255;/`..XK4..> [70 00 2d 58 e0 e0 ff 2f 60 00 16 58 4b 34 13 04] 25980: size: 1497344( 1462.250kb) file:ain\DxModel.cpp line:2380 ID:31197 addr:58160060 data:<p..X`.-X`.+Y&#235;G..> [70 00 16 58 60 00 2d 58 60 00 2b 59 eb 47 06 04] 25980: size: 18214576( 17787.673kb) file:DxModelRead.cpp line:4332 ID:31196 addr:592b0060 data:<p.+Y`..X`..X&#251;n&#239;.> [70 00 2b 59 60 00 16 58 60 00 08 58 fb 6e ef 03] 25980: size: 910744( 889.398kb) file:ain\DxModel.cpp line:2380 ID:31195 addr:58080060 data:<p..X`.+Y.&#251;&#250;/[&#128;&#217;.> [70 00 08 58 60 00 2b 59 10 fb fa 2f 5b 80 d9 02] 25980: size: 320872( 313.352kb) file:DxModelRead.cpp line:4315 ID:31194 addr:2ffafb10 data:< &#251;&#250;/`..X0&#192;7!&#211;&#154;&#203;.> [20 fb fa 2f 60 00 08 58 30 c0 37 21 d3 9a cb 02] 25981: size: 22076( 21.559kb) file:DxModelRead.cpp line:4223 ID:31193 addr:2137c030 data:<@&#192;7!.&#251;&#250;/&#200;F7!{&#181;&#198;.> [40 c0 37 21 10 fb fa 2f c8 46 37 21 7b b5 c6 02] 25981: size: 22076( 21.559kb) file:DxModelRead.cpp line:4223 ID:31192 addr:213746c8 data:<&#216;F7!0&#192;7! &#240;6!O_&#198;.> [d8 46 37 21 30 c0 37 21 20 f0 36 21 4f 5f c6 02] 【略】 26830: size: 131072( 128.000kb) file:in\DxHandle.cpp line:86 ID:25 addr:0e271048 data:<&#152;&#233;&#143;.H&#160;&#155;.H°§.H &#143;.> [98 e9 8f 0f 48 a0 9b 0f 48 b0 a7 0f 48 20 8f 0f] 26830: size: 131072( 128.000kb) file:in\DxHandle.cpp line:86 ID:24 addr:0e231048 data:<&#224;&#181;&#135;.p&#181;§.X&#186;§.H°&#135;.> [e0 b5 87 0f 70 b5 a7 0f 58 ba a7 0f 48 b0 87 0f] 26830: size: 2048( 2.000kb) file:in\DxHandle.cpp line:86 ID:23 addr:0d3cba08 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26831: size: 784( 0.766kb) file:Main\DxFont.cpp line:3602 ID:22 addr:0d3cb690 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26831: size: 2097152( 2048.000kb) file:Main\DxFont.cpp line:3521 ID:21 addr:0e7e0060 data:<&#255;&#255;&#255;&#255;&#255;&#255;&#255;&#255;> [ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f] 26831: size: 124( 0.121kb) file:\DxGraphics.cpp line:18136 ID:20 addr:0d3cb488 data:<................> [01 00 00 00 04 00 00 00 01 00 00 00 00 01 00 01] 26831: size: 496( 0.484kb) file:in\DxHandle.cpp line:196 ID:19 addr:0d3cb230 data:<........&#240;.......> [01 00 00 00 00 00 01 04 f0 01 00 00 00 00 00 00] 26832: size: 578556( 564.996kb) file:in\DxHandle.cpp line:196 ID:18 addr:0e540060 data:<....... &#252;&#211;..P.&#149;.> [01 00 00 00 00 00 01 20 fc d3 08 00 50 0b 95 00] 26832: size: 160( 0.156kb) file:in\DxHandle.cpp line:86 ID:17 addr:0d3cb128 data:<`.T.`.&#156;.`.&#245;.....> [60 00 54 0e 60 00 9c 14 60 00 f5 16 00 00 00 00] 26832: size: 136( 0.133kb) file:\DxGraphics.cpp line:23611 ID:16 addr:0d3cb038 data:<.......,......&#128;?> [00 00 00 00 00 00 00 2c 03 00 00 00 00 00 80 3f] 26832: size: 31372( 30.637kb) file:raphicsD3D9.cpp line:1377 ID:15 addr:0d3a9660 data:<.&#242;&U&#173;.U&#170;e&#213;|fU&#170; U> [11 f2 26 55 ad 1e 55 aa 65 d5 7c 66 55 aa 20 55] 26833: size: 23060( 22.520kb) file:raphicsD3D9.cpp line:1344 ID:14 addr:0d3a3be0 data:<H.T.T.H.T.T.`.H.> [48 00 54 00 54 00 48 00 54 00 54 00 60 00 48 00] 26833: size: 56404( 55.082kb) file:raphicsD3D9.cpp line:1315 ID:13 addr:0d395f20 data:<.&#242;&UeXU&#170;e&#213;|fU&#170; U> [11 f2 26 55 65 58 55 aa 65 d5 7c 66 55 aa 20 55] 26833: size: 32768( 32.000kb) file:in\DxHandle.cpp line:86 ID:12 addr:00241218 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26833: size: 65536( 64.000kb) file:in\DxHandle.cpp line:86 ID:11 addr:002311b0 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26834: size: 65536( 64.000kb) file:in\DxHandle.cpp line:86 ID:10 addr:00221148 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26834: size: 32768( 32.000kb) file:in\DxHandle.cpp line:86 ID:9 addr:002190e0 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26834: size: 16384( 16.000kb) file:in\DxHandle.cpp line:86 ID:8 addr:00215078 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26834: size: 131072( 128.000kb) file:in\DxHandle.cpp line:86 ID:7 addr:001f5010 data:<0&#178;<.&#136;&#196;<.°.). &#208;<.> [30 b2 3c 0d 88 c4 3c 0d b0 10 29 0e 20 d0 3c 0d] 26835: size: 400( 0.391kb) file:in\DxHandle.cpp line:86 ID:6 addr:001c8978 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26835: size: 32768( 32.000kb) file:in\DxHandle.cpp line:86 ID:5 addr:001ecfa8 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26835: size: 1024( 1.000kb) file:in\DxHandle.cpp line:86 ID:4 addr:001ecb40 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26836: size: 32768( 32.000kb) file:in\DxHandle.cpp line:86 ID:3 addr:001c0910 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26836: size: 131072( 128.000kb) file:in\DxHandle.cpp line:86 ID:2 addr:001ccad8 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26836: size: 131072( 128.000kb) file:in\DxHandle.cpp line:86 ID:1 addr:0016c450 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 26836: Total size:617865306(603384.062kb) Alloc num:3439 26837: 26838:Read Model Convert Error : 頂点座標と頂点法線を一時的に格納するメモリ領域の確保に失敗しました 26842:VMD Load Error : 対応していない VMD バージョンです WindowsXP, Core2Quad Q9650, Radeon HD 5700 で上記が発生して描画されません。 Windows7(64), Celeron 1037U, Intel HD Graphics では、Log.txt に以下が出る程度で問題なく描画できています。 48124:Load Texture Error : Color Channel Image File : Read Error : D:\TEST\mikasa\toon02.bmp 48204:Load Texture Error : Color Channel Image File : Read Error : D:\TEST\mikasa\toon01.bmp ライブラリは、3.13f(3.14)を使いました。
メンテ
Re: DirectX9とMMD(pmx)モデル ( No.4 )
名前:さと 日時:2015/05/05 13:46

WindowsXP, Core2Quad Q9650, Radeon HD 5700 で 起動・終了までの Log.txt はこうなっています。 7:システムの情報を出力します 13: DXライブラリ Ver3.14 19: 論理プロセッサの数 : 4 25: OS WindowsXP ( Build 2600 Service Pack 3 ) 136: 現時点のCPU動作速度:大体2.97GHz 142: MMX命令を使用します 148: SSE命令が使用可能です 154: SSE2命令が使用可能です 159: CPUベンダ:GenuineIntel 189: CPU名:Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz 195:COMの初期化... 成功しました 206:メモリ総量:3326.42MB 空きメモリ領域:2589.13MB 212:タイマーの精度を検査します 218:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 224: パフォーマンスカウンターを使用します タイマー精度 : 3000050.000000 KHz 236: ソフトの二重起動検査... 二重起動はされていませんでした 253:ウインドウクラスを登録します... 登録に成功しました 265:ウインドウモード起動用のウインドウを作成します 278:ウインドウの作成に成功しました 283:ウインドウを表示します 306:IMEを無効にしました 312:ウインドウスタイルをウインドウモード用に変更します... 完了 350:DirectInput関係初期化処理 356: XInput DLL の読み込み中... 成功 367: DirectInput7 の取得中... 成功 380: 引き続き初期化処理... 初期化成功 385: ジョイパッドの初期化... 392: 入力装置を見つけました 392: Device Instance Name : Generic USB Joystick 393: Device Product Name : Generic USB Joystick 393: 周期的エフェクトの作成に失敗しました。 395: ジョイパッドの追加は正常に終了しました 395: ジョイパッドの初期化は正常に終了しました 395: マウスデバイスの初期化... 初期化成功 396: キーボードデバイスの初期化... 初期化成功 397:DirectInput 関連の初期化は正常に終了しました 398:DirectSound の初期化を行います 398:DirectSound インターフェースの取得を行います.... 成功 400:引き続きインターフェースの初期化処理... 成功 481: DirectSound デバイスを列挙します 482: Module Name : Description : プライマリ サウンド ドライバ 482: Module Name : RtkHDAud.sys Description : Realtek HD Audio output 483: Module Name : AtihdXP3.sys Description : AMD HD Audio rear output 483: 最大サンプリングレート:192.00KHz 最小サンプリングレート:8.00KHz 483: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 483: 利用可能サンプリング精度 484: Primary 16bit = OK 8bit = OK 484: Secondary 16bit = OK 8bit = OK 484: 利用可能チャンネル 484: Primary MONO = OK STEREO = OK 485: Secondary MONO = OK STEREO = OK 487:DirectSound の初期化は正常に終了しました 488:d3d11.dll の読み込み.... 失敗 488:Direct3D11 のオブジェクト数を出力 489:Direct3D11 のオブジェクト合計数 : 0 489:DirectDraw オブジェクトの取得を行います.... 成功 491:引き続き初期化処理... 初期化に成功しました 493:IDirect3D9Ex オブジェクトを取得します.... IDirect3D9 オブジェクトを取得します.... 成功 495:IDirect3DDevice9 オブジェクトを取得します.... ハードウエア頂点演算を使用します 950:成功 950:Driver:ati2dvag.dll Description:AMD Radeon HD 5700 Series 951:画面のフォーマットは D3DFMT_X8R8G8B8 です 951:16bit Zバッファフォーマットは D3DFMT_D16 です 951:24bit Zバッファフォーマットは D3DFMT_D24X8 です 951:32bit Zバッファフォーマットは D3DFMT_D24X8 です 952:16bit カラーフォーマットは D3DFMT_R5G6B5 です 952:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 952:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 952:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 952:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 953:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 953:DXT1テクスチャフォーマットはD3DFMT_DXT1 です 953:DXT2テクスチャフォーマットはD3DFMT_DXT2 です 953:DXT3テクスチャフォーマットはD3DFMT_DXT3 です 953:DXT4テクスチャフォーマットはD3DFMT_DXT4 です 954:DXT5テクスチャフォーマットはD3DFMT_DXT5 です 954:描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です 954:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 954:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 955:描画用 ABGR 整数 16 ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 955:描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 955:描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 955:描画用1チャンネル整数 8 ビット型カラーフォーマットは D3DFMT_L8 です 955:描画用1チャンネル整数 16 ビット型カラーフォーマットは D3DFMT_L16 です 956:描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは D3DFMT_R16F です 956:描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは D3DFMT_R32F です 956:描画用2チャンネル整数 8 ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 956:描画用2チャンネル整数 16 ビット型カラーフォーマットは D3DFMT_G16R16 です 956:描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは D3DFMT_G16R16F です 957:描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは D3DFMT_G32R32F です 957:一度に描画できるプリミティブの最大数:5592405 957:対応している最大頂点インデックス:16777215 957:同時にレンダリングできるバッファの数:4 958:最大テクスチャサイズ 幅:8192 高さ:8192 958:テクスチャステージテンポラリレジスタ:使用可 958:減算合成のハードウェア対応:ネイティブ 958:ハードウェア頂点シェーダーバージョンコード:300 958:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 959:ピクセルシェーダーバージョンコード:300 1062:バックバッファロック転送の時間:29071nsec 一時的な描画可能バッファを使用した転送の時間:1257nsec 1062:バックバッファロックを使用しません 1062:Zバッファを作成します.... 成功 1091:プログラマブルシェーダーを使用します 1153:フォントの初期化を行います 1155:フォントの初期化は正常に終了しました 1155:文字コードバッファの初期化を行います... 完了しました 【略】※この間に、Read Model Convert Error : 頂点座標と頂点法線を一時的に格納するメモリ領域の確保に失敗しました 31040:ウインドウを閉じようとしています 31043:ウインドウが破棄されようとしています 31044:ソフトを終了する準備が整いました 31168:フォントの初期化を行います 31170:フォントの初期化は正常に終了しました 31177:Direct3DDevice9 の解放 2 31204:d3d9.dll の解放 1 31206:DirectInput 関連の終了処理... 完了 31209:DirectSound の終了処理は正常に終了しました 31272: 31272:Alloc memory dump 31272: Total size:0(0.000kb) Alloc num:0 31273:
メンテ
Re: DirectX9とMMD(pmx)モデル ( No.5 )
名前:管理人 日時:2015/05/06 02:13

ログを拝見する限りではメモリが足りなくなっているようです DXライブラリでのPMD, PMXファイルの読み込みには大量のメモリを必要としますので 最新バージョンでDXライブラリ内部で使用するメモリが若干増えたことで 以前のバージョンではギリギリ足りていたメモリが、今回のバージョンでは足りなくなったのだと思います 64bitアプリとしてビルド、実行すれば使用できるメモリが大幅に増えるので本件のエラーは発生しなくなると思います 若しくは DxLibModelViewer_64bit.exe で読み込んだ後、MV1形式で保存した MV1ファイルを読み込むようにすれば 読み込み時に必要なメモリ容量が大幅に減るので( MV1ファイルの読み込みに必要なメモリ容量は他のモデルファイル形式に 比べて非常に少ないので )、この方法でもエラーは発生しなくなると思います どちらの解決策も一長一短ですが、よろければお試しください m(_ _;m
メンテ
Re: DirectX9とMMD(pmx)モデル ( No.6 )
名前:さと(解決) 日時:2015/05/06 17:44

>ログを拝見する限りではメモリが足りなくなっているようです うむむ、なるほど。 >MV1形式で保存した MV1ファイルを読み込む 早速コンバートをしてみたところ、無事読み込んで描画できました。 >読み込み時に必要なメモリ容量が大幅に減る 実装データは面倒がらずMV1形式に変えておいた方が良いみたいですね。 不勉強でした;; お手数をおかけして申し訳ありません。 ありがとうございました。
メンテ

Page: 1 |

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

   クッキー保存