TOP今月刊既刊I/OサポートQ&AWeb I/O通販お問い合わせ
 Q&A > DirectX 10 3Dプログラミング 書名検索: 詳細検索...
Q&A一覧
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秒
▲このページの上へ