DXライブラリ側でのテクスチャの読み込み
Posted: 2013年9月12日(木) 01:41
当方VC++とDXライブラリを用いて3Dゲームの製作を試みているのですが、製作したモデルのテクスチャの読み込みで行き詰っています。
Blenderにて製作したモデルを用いているのですが、テクスチャのパスまで書き出してくれない(○○.jpgとだけ)為に、モデルと同じ階層にテクスチャ画像を置かないと、マテリアルそのままのモデルが表示されてしまいます。
同じ場所に置けば上手く表示してくれますが、出来ればモデルならData\Model テクスチャならData\Texture と言う風にフォルダ分けしたいのです。
こちらで試みた手段は、
1.エクスポートしたモデルファイル(xファイル)のテクスチャのパスを直に書き換えてやる
2.DXライブラリのMV1SetTextureGraphHandle関数を用いて、グラフィックハンドルを指定したいテクスチャにする
の二つなのですが、
1はxファイルの階層下にテクスチャファイルが無ければ認識してくれない、モデルをエクスポートする都度書き換えるのは手間、と言う問題があり、
2のMV1SetTextureGraphHandle関数はテクスチャの画像サイズが2のn乗でなければちゃんと表示されない為、
関数の仕様を留意してテクスチャファイルを作らなければならない&UVマッピングしなければならない、と言う制約があります。
どうにかVC++側で、モデルにテクスチャのパスを渡す事はできないでしょうか。
DXライブラリからゲーム製作に入ったモノで、DirectXについてはまるで知らない状態です。
Blenderにて製作したモデルを用いているのですが、テクスチャのパスまで書き出してくれない(○○.jpgとだけ)為に、モデルと同じ階層にテクスチャ画像を置かないと、マテリアルそのままのモデルが表示されてしまいます。
同じ場所に置けば上手く表示してくれますが、出来ればモデルならData\Model テクスチャならData\Texture と言う風にフォルダ分けしたいのです。
こちらで試みた手段は、
1.エクスポートしたモデルファイル(xファイル)のテクスチャのパスを直に書き換えてやる
2.DXライブラリのMV1SetTextureGraphHandle関数を用いて、グラフィックハンドルを指定したいテクスチャにする
の二つなのですが、
1はxファイルの階層下にテクスチャファイルが無ければ認識してくれない、モデルをエクスポートする都度書き換えるのは手間、と言う問題があり、
2のMV1SetTextureGraphHandle関数はテクスチャの画像サイズが2のn乗でなければちゃんと表示されない為、
関数の仕様を留意してテクスチャファイルを作らなければならない&UVマッピングしなければならない、と言う制約があります。
どうにかVC++側で、モデルにテクスチャのパスを渡す事はできないでしょうか。
DXライブラリからゲーム製作に入ったモノで、DirectXについてはまるで知らない状態です。