Q
サンプル・プログラムを実行するとエラーが発生する
本書のサンプル・プログラムを、「DirectX SDK (March 2008)」以降のDirectX SDKがインストールされている環境でビルドし実行すると、エラーが発生します。
2009年05月20日受付
A
本書「DirectX10 3Dプログラミング」は、「DirectX SDK (April 2007)」を使ったプログラミング技法について解説しており、本書サンプルにつきましても、「DirectX SDK (April 2007)」の環境で動作することを確認しております。
「DirectX SDK (March 2008)」以降のSDKでは、シェーダ コンパイラの仕様(実装)が変更されており、「DirectX SDK (March 2008)」以降のSDKを使用すると、エラーが発生いたします。
エラーの原因は、ピクセルシェーダ関数内で定義している「length」変数が、組み込み関数の「length関数」と名前が衝突していることにあります。そのため、「DirectX SDK (March 2008)」以降のSDKを使われる場合は、以下の処理を行なって頂くことで、この問題を回避できます。
************************************************************
・すべての「*.fx」ファイルと「D3D10Sample12.sh」ファイルで、ピクセル シェーダ関数内で定義している「length」変数が、組み込み関数「length関数」と名前が衝突しているので、変数名を「leng」などに変更する。
************************************************************
※ 本書はあくまでも「DirectX SDK (April 2007)」を対象とした解説書となっております。この問題は、厳密に言えば本書サンプルの問題とも言えると思いますが、本書で対象としている「DirectX SDK (April 2007)」を含め、「DirectX SDK (March 2008)」より前のSDKではエラーになっておりませんでした。
最終更新日:2009年09月14日 17時34分40秒
Q
Wavefront OBJ フォーマットを作れるソフトについて
Wavefront OBJ フォーマットを作成するソフトの入手方法を教えてください。
2008年04月09日受付
A
Wavefront OBJフォーマットのデータファイルを作成できる3DCGソフトの例としましては、
・3ds Max (Autodesk)
http://www.autodesk.co.jp/
・Blender (Blender Foundation)
http://www.blender.org/
・LightWave 3D (ディ・ストーム)
http://www.dstorm.co.jp/
・Maya (Autodesk)
http://www.autodesk.co.jp/
・Metasequoia (O.Mizno)
http://www.metaseq.net/
・Shade (イーフロンティア)
http://shade.e-frontier.co.jp/
・SOFTIMAGE|XSI (Avid)
http://www.softimage.jp/
・六角大王 (終作)
http://www.shusaku.co.jp/www/
などがあるようです。他にも対応ツールはいろいろあると思います。
(なお、これらのツールをすべて実際に使用して確認してはおりません)。
最終更新日:2009年09月14日 17時33分33秒
Q
「Direct3D 10.1」が登場しても、この本は使えるか
「Direct3D 10.0」が、「Vista SP1」が登場するときには「10.1」になると聞きましたが、そうなってもこの本は使えるのでしょうか?
2007年08月29日受付
A
本書「DirectX10 3Dプログラミング」は、「Direct3D 10.0」を対象としたプログラミング解説書です。「Windows Vista SP1」では「10.0」と「10.1」が同時にサポートされるとアナウンスされています。そのため、本書の内容は「Vista SP1」においても「Direct3D 10.0」のプログラミング解説書として有効だと思います。
なお、「Direct3D 10.0」用として作ったプログラムは、「Windows Vista SP1」上でも「Direct3D 10.0」を使うプログラムとして動作します。「10.1」を使うプログラムは「Direct3D 10.1」用として作らなければなりませんが、「Direct3D 10.1」は「Direct3D 10.0」のマイナーアップ版のため、「Direct3D 10.0」と比べてプログラミングをする際の相違点はあまり多くなく、本書の内容の多くの部分が「Direct3D 10.1」でも利用できると思われます。そのため、本書は「Direct3D 10.1」のプログラミングにおける資料としても有用だと思います。
最終更新日:2007年08月29日 00時02分47秒