ページ 11

xファイルを表示できない

Posted: 2013年7月27日(土) 10:59
by dic
xファイルを表示するのに挑戦しています。

DirectX のサンプルにある、[ tiger.x ] を表示するプログラムを組んだのですが、
ポリゴンのみ表示され、テクスチャーは表示されず、真っ黒の状態です。

ソースコード一式をアップロードしました。
どこが悪いのかをご指摘ください。
参考書にある、作者のメールアドレスはすでに使われていなくて、どこに
相談したらいいのかがわからず、ここで質問させてください。

環境は、Visual C++ 2010 Express
DirectX SDK 9.0 と DirectX SDK 2010 Summer ← うるおぼえ
です。

Re: xファイルを表示できない

Posted: 2013年7月27日(土) 13:05
by jay
この場合、実はソースコードが悪いとは限らないんですよね

その[ tiger.x ]と言うのをテキストエディタで開いて
テクスチャのパスがキチンと設定されているか確認してください

テクスチャのファイル名で検索すればヒットするハズです


とりあえず確認しておいて損はないと思いますよ
いえ、別にソースコードを読むのが面倒だったとかそういう訳じゃなくってですね・・・w

Re: xファイルを表示できない

Posted: 2013年7月29日(月) 20:37
by 珈琲
・Xファイル作成時にテクスチャパスが相対パスではなく絶対パスになっているケース
・Xファイルのテクスチャは「実行ファイルからの相対パス」になっていないケース

Xファイルでテクスチャが表示されないのは大体この2種類が原因だと思います。

Re: xファイルを表示できない

Posted: 2013年7月30日(火) 19:14
by dic(ネカフェより)
MeshMaterialList {
1;
1;
0;;
Material {
0.694118;0.694118;0.694118;1.000000;;
50.000000;
1.000000;1.000000;1.000000;;
0.000000;0.000000;0.000000;;
TextureFilename {
"tiger.bmp";
}
}

上が、Xファイルの テクスチャのところです。
パスはあっているはずです。
ネカフェのパソコンなので、SDKやらのツールがないので、確認はとれていません。


ここでは、あまりよい情報が得られないのでマルチポストをします。

Re: xファイルを表示できない

Posted: 2013年8月02日(金) 12:32
by dic(ネカフェより)
生のDirectX は使わずに DxLibをしようすることにしました。

Re: xファイルを表示できない

Posted: 2013年8月10日(土) 14:13
by mmss
9-1 メッシュの読み込み
D3DXLoadMeshFromX();
*buffer = GetBufferPointer();
マテリアル
Release( buffer );
法線データの記述がない Xファイルのとき (tiger.x)
if( (GetFVF() & D3DFVF_NORMAL) == 0 )
FVF = GetFVF() | D3DFVF_NORMAL;
CloneMeshFVF( FVF, &Mesh );
D3DXComputeNormals( Mesh ); // 各頂点の法線を計算する。