TWL-System G3Dライブラリ 更新履歴

■ インデックス

■ 2.2.0 PR

追加・変更された機能

■ 2.1.1

不具合修正

■ 2.1.0

追加・変更された機能

不具合修正

■ 2.0.0

追加・変更された機能

■ 2.0.0 RC

追加・変更された機能

不具合修正

■ 2008年4月8日版

追加・変更された機能

不具合修正

■ 2007年11月26日版

追加・変更された機能

不具合修正

■ 2006年5月29日版

追加・変更された機能

不具合修正

■ 2005年9月1日版

不具合修正

■ 2005年6月16日版

不具合修正

■ 2005年6月6日版

不具合修正

■ 2005年3月28日版

追加・変更された機能

不具合修正

■ 2005年1月31日版

追加・変更された機能

不具合修正

■ 2004年12月6日版

追加・変更された機能

不具合修正

■ 2004年11月10日版

追加・変更された機能

不具合修正

■ 2004年10月12日版

追加・変更された機能

不具合修正

■ 2004年9月16日版

追加・変更された機能

不具合修正

■ 2004年9月2日版

追加・変更された機能

不具合修正

■ 2004年8月10日版

追加・変更された機能

不具合修正

■ 2.2.0 PRでの変更点

ノート 83-R01: (コンバータ) オプションの追加

ジョイント、マテリアル、シェイプの最大数をチェックするオプション -maxjnt、-maxmat、-maxshp を追加しました。

ノート 83-R02: (ライブラリ) 範囲外のフレームをセットした時の挙動の統一

各種アニメーションにおいて範囲外のフレームが呼ばれた時に、種類によってアサートされたり最終フレームに丸め込むなど処理が統一されていなかったため、最終フレームに丸め込むように統一しました。

ノート 83-R03: (ドキュメント) g3dcvtr_UsersManualに警告/エラー一覧の追加

警告/エラー一覧を追加しました。

■ 2.1.1での変更点

ノート 82-R01: (ライブラリ) マテリアルスキップに関する修正の巻き戻し

ノート 81-R03: (ライブラリ) マテリアルスキップの不具合を修正の影響により、マテリアルの状態が一部正常に更新されずにポリゴンに不正な色がかかってしまう場合があるため、この修正を暫定的に巻き戻します。

■ 2.1.0での変更点

ノート 81-R01: (ライブラリ) シェイプ最大数のデフォルト値を変更

特に制限する必要がないため、1つのモデル内の最大シェイプ数を64から256に変更しました。

ノート 81-R02: (コンバータ) オプションの追加

警告をエラーとして扱うオプション -we を追加しました。

ノート 81-R03: (ライブラリ) マテリアルスキップの不具合を修正

マテリアルの更新処理において、非表示もしくは直前のマテリアルと同一であっても更新処理のスキップが行われない場合がある不具合を修正しました。

ノート 81-R04: (ライブラリ) NNS_G3D_GET_ANM マクロに関する不具合を修正

NNS_G3D_GET_ANM マクロにおいて引数として定義されていない変数を使用している不具合を修正しました。

ノート 81-R05: (コンバータ) g3dcvtrからデバッグ用のチェックを削除

リリースパッケージ中のg3dcvtrでデバッグ用のチェックが有効になっていた為に、以前はコンバート可能であったデータがエラーとなる場合がありました。これを修正しました。

ノート 81-R06: (コンバータ) 中間ファイル中の要素サイズが大きい場合にエラーとなる不具合を修正

中間ファイルに2MBを超えるコンテントを持つ要素が含まれていた際にエラーとなる不具合を修正しました。

ノート 81-R07: (コンバータ) 名前が空の場合にエラーが正しく出力されない不具合を修正

ノードやマテリアルの名前が空の場合にエラーが正しく出力されない不具合を修正しました。

■ 2.0.0での変更点

ノート 80-R01: (ライブラリ) NDMAに対応

TWLで追加されたNDMAに対応しました。

■ 2.0.0 RCでの変更点

ノート 78-R01: (コンバータ) g3dcvtrに非正則行列に関するエラーを追加

ウェイテッドエンベロープから参照されるノードのモデリング行列が非正則行列である場合にエラーを出力するよう変更しました。

ノート 78-R02: (コンバータ) g3dcvtrでframe_stepの統一処理の不具合を修正

icaファイルの回転データのXYZ成分、もしくはimaファイルのRGB成分が次の2つの条件を満たす際に、コンスタントな成分のframe_stepが全体のフレームステップとして採用されてしまう不具合を修正しました。

■ 2008年4月8日版での変更点

ノート 76-R01: (コンバータ) g3dcvtrにアニメーションデータの参照範囲チェックを追加しました。

ica、iva、ima、itp、itaの各中間ファイルにおいて、アニメーションデータがインデックス参照される際の範囲チェックを追加しました。

ノート 76-R02: (マニュアル) 改訂履歴の書式変更

下記に示すpdfマニュアルの改訂履歴の書式を変更しました。

ノート 76-R03: (マニュアル) Xerces-C++のライセンスに関する表記を変更

g3dcvtr_UsersManual.pdfにおいて、Xerces-C++のライセンスに関する表記を変更しました。

ノート 76-R04: (コンバータ) g3dcvtrがエラー発生時に正しい返り値を返さない不具合を修正

g3dcvtrがエラー発生時に1ではなく常に0を返していた不具合を修正しました。

ノート 76-R05: (コンバータ) g3dcvtrでframe_step統一処理の仕様変更

icaファイルの回転データのXYZ成分のframe_stepを統一する際に、最も精度の低いframe_stepではなく最も精度の高いframe_stepに統一するように仕様を変更しました。

■ 2007年11月26日版での変更点

ノート 71-R01: (ライブラリ) 仕様変更

ノート 71-R02: (コンバータ) g3dcvtrの仕様変更

.imaファイルを変換する際、従来はRed, Green, Blue成分のframe_stepが揃っていなければエラーとなっていましたが、 これをエラーとせず、最も精度の高いframe_stepに合わせて変換を行うよう仕様を変更しました。

ノート 71-R03: (ライブラリ) ASSERTに関する不具合を修正

ノート 71-R04: (コンバータ) icaファイル変換時に間違った回転データが出力されることがある不具合を修正

.icaファイルを変換する際、 frame_sizeとframe_step_modeの組み合わせによっては間違った回転データが出力されることがある不具合を修正しました。

ノート 71-R05: (コンバータ) g3dcvtrの.imdファイル変換時にSBCコマンドのNODEDESC命令が正しく発行されないことがある不具合を修正

.imdファイルを変換する際、 ノード構成と<display>::priorityの設定によってはSBCコマンドのNODEDESC命令が正しく発行されないことがある不具合を修正しました。

■ 2006年5月29日版での変更点

ノート 59-R01: (コンバータ) g3dcvtrでコマンドライン引数をファイルから読み込めるように修正

コマンドライン引数をファイルから読み込むことが可能になりました。 先頭にアットマーク(@)をつけたコマンドライン引数は、2文字目以降がファイル名として認識され、 そのファイルの内容が引数として展開されるようになりました。 複数ファイル・多段階の展開が可能です。なお、ファイル参照が循環した場合にはエラーになります。

ノート 59-R02: (コンバータ) g3dcvtrに-tex-nomergeオプションを追加

g3dcvtrに-tex-nomergeオプションを追加いたしました。 このオプションを使用すると、テクスチャやパレットの名前が違う場合は、 データが同一でもマージされずに別々の領域が確保されるようになります。

ノート 59-R03: (ライブラリ) コメントの修正

NNS_G3dGeUseFastDma関数のコメントを修正しました。

ノート 59-R04: (コンバータ) ビルボードを含む中間ファイルがコンバートできない不具合を修正

ビルボードを含む中間ファイルがコンバートできないことがある不具合を修正しました。

■ 2005年9月1日版での変更点

ノート 50-R01: (ライブラリ) 微小角度の回転アニメーションがスムースにならない不具合を修正

微小角度の回転アニメーションを作成した場合に、 アニメーションがスムースにならないという不具合を修正しました。

■ 2005年6月16日版での変更点

ノート 46-R01: (ライブラリ) 各種バグフィックス

2005/06/06版で混入したバグを修正しました。

■ 2005年6月6日版での変更点

ノート 45-R01: (ライブラリ) アニメーション再生時の不具合を修正

.icaファイルを-OSオプションでコンバートした場合、 正しく再生されないケースがあるという不具合を修正しました。

■ 2005年3月28日版での変更点

ノート 43-R01: (ライブラリ) フレームの補間の精度を改善

ジョイントアニメーションでフレームの補間がおこなわれる際に、 キーフレーム間の回転変化量が大きい場合にモデルに歪みが大きくなる場合があり、これを改善しました。

ノート 43-R02: (ライブラリ) SBC命令のコールバックの不具合を修正

SBC 命令NODEDESC, BBY において、 TIMING_CでTIMING_BのNNS_G3D_RSFLAG_SKIPフラグが使われてしまう問題を修正しました。 また、SBC 命令NODEDESC, BBY, BB において、TIMING_Cで処理をスキップした場合に、 以降の処理が破綻してしまう問題を修正しました。

ノート 43-R03: (コンバータ) g3dcvtrにて環境マップ用のコードが不正に動作する不具合を修正

複数の.imdを変換した場合に、環境マップ用のコードが不正に動作する不具合を修正しました。

■ 2005年1月31日版での変更点

ノート 39-R01: (ライブラリ) 環境マップ・投影マップのサポート

NNSi_G3dFuncSbc_ENVMAP関数とNNSi_G3dFuncSbc_PRJMAP関数を追加し、 環境マップと投影(正射影)マップをサポートしました。

ノート 39-R02: (サンプル) サンプルの追加

サンプルを追加しました。

ノート 39-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.6.0に対応

g3dcvtrがNITRO中間ファイルバージョン1.6.0に対応しました。 環境マップや投影マップを含む.imdファイルをコンバートします。

ノート 39-R04: (ライブラリ) ウェイテッドエンベロープモデルの描画における不具合を修正

ウェイテッドエンベロープモデルで、classic scale offが設定されていた場合(Softimage3D又はSoftimage |XSI)、 g3dcvtrが出力する.nsbmdファイル内の一部データが不正なため、正常に描画されないというバグの修正。

■ 2004年12月6日版での変更点

ノート 34-R01: (サンプル) サンプルの追加

サンプルを追加しました。

ノート 34-R02: (ドキュメント) G3Dバイナリファイルフォーマットについてのドキュメントを追加

NitroSystem\docs\G3D\G3D_BinaryFormat.pdfにG3Dで使用する バイナリファイルのフォーマットについて解説されています。

ノート 34-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.5.0で追加された仕様に対応

NITRO中間ファイルバージョン1.5.0で追加された、<material>要素に対する追加属性、<display>要素に対する追加属性に対応しました。

ノート 34-R04: (コンバータ) バイナリ生成を改善

複数の<display>要素があるジョイントにビルボードをつけた場合のバイナリ生成を改善しました。

ノート 34-R05: (ライブラリ) Y軸ビルボード変換の不具合を修正

Y軸ビルボード変換を厚みのあるオブジェクトに対して行った場合、 不適切な見かけとなる不具合を修正しました。

ノート 34-R06: (ライブラリ) コールバックが正しく呼ばれない不具合を修正

NNS_G3D_SBC_CALLBACK_TIMING_A_DISABLEマクロを定義してG3Dをコンパイルした場合に、 コールバックが正しく呼ばれないという不具合を修正しました。

■ 2004年11月10日版での変更点

ノート 31-R01: (ライブラリ) ジョイントアニメーションの部分的な再生をサポート

NNS_G3dAnmObjDisableID関数とNNS_G3dAnmObjEnableID関数を追加し、 一部のジョイントだけを対象にしたジョイントアニメーション再生をサポートしました。

ノート 31-R02: (ライブラリ) ジョイントアニメーションにおいて小数点以下フレームの補間再生をサポート

.icaファイルの<node_anm_info>::interpolationがlinearに指定されている場合、 小数点以下のフレームを指定すると、前後のフレームを線形補間してジョイントアニメーションを再生します。 なお、アニメーションをループ再生させる場合には、<node_anm_info>::interp_end_to_startをonにしておく必要があります。

ノート 31-R03: (ライブラリ) ウェイテッドエンベロープ表示の高速化

NNSi_G3dFuncSbc_NODEMIX関数の実装を改良し、ウェイテッドエンベロープ付モデルの表示を高速化しました。

ノート 31-R04: (ライブラリ) NNSG3dRenderObj構造体、NNSG3dRS構造体へのアクセサの追加

NNS_G3dRenderObj構造体とNNS_G3dRS構造体に対するアクセサを追加しました。

ノート 31-R05: (サンプル) サンプルの追加

サンプルを追加しました。

ノート 31-R06: (ライブラリ) α値のアニメーションが正確に再生されない不具合を修正

2004/10/12版における、マテリアルカラーアニメーションでα値のアニメーションが正確に再生されないという不具合を修正しました。

ノート 31-R07: (ライブラリ) アニメーションデータが重複して出力される場合がある不具合の修正

g3dcvtrで.icaファイルをコンバートする場合、フレームステップを2か4に設定していると、最終フレーム付近のフレームでアニメーションデータが重複して出力される場合があるという不具合を修正しました。

ノート 31-R08: (ライブラリ) フレームステップが2か4での再生が不正になる不具合の修正

ジョイントアニメーションで、スケールが8以上又は0.125以下のフレームが存在する場合に、 フレームステップが2か4での再生が不正であるという不具合を修正しました。

ノート 31-R09: (ライブラリ) 表示が不正になるという不具合の修正

ウェイテッドエンベロープの使用時に、カメラが遠いか近い場合、 G3D内部で使用しているテンポラリ変数がオーバーフローするため表示が不正になるという不具合を修正しました。

ノート 31-R10: (コンバータ) g3dcvtrで一部データが不正に出力されるという不具合を修正

g3dcvtrで多くの.imdファイルを1つの.nsbmdファイルにコンバートする場合、 一部データが不正に出力されるという不具合を修正しました。

ノート 31-R11: (コンバータ) g3dcvtrでのアニメーションデータのアラインメントに関する不具合を修正

g3dcvtrで複数の.imaファイルをコンバートする場合、 2番目以降のアニメーションデータのアラインメントが適切に取られていないことがあるという不具合を修正しました。

ノート 31-R12: (コンバータ) g3dcvtrでの<box_test>のpos_scale値出力に関する不具合の修正

g3dcvtrで<box_test>のpos_scale値に対応するデータとして<model_info>のpos_scale値を出力しているという不具合を修正しました。

■ 2004年10月12日版での変更点

ノート 26-R01: (ライブラリ) ウェイテッドエンベロープ表示の追加

NNSi_G3dFuncSbc_NODEMIX関数を追加し、 g3dcvtrで変換されたウェイテッドエンベロープ付のモデルを表示することができるようになりました。 なお、.nsbmdファイルの形式は拡張されていますので、.imdファイルに関しては再コンバートする必要があります。

ノート 26-R02: (ライブラリ) コールバックの仕様変更

コールバックの仕様が変更されました。一部のケースで従来バージョンとは互換性がとれない場合があります。

ノート 26-R03: (ライブラリ) マテリアルアニメーションのチューニング

マテリアルカラーアニメーションとテクスチャSRTアニメーションのパフォーマンスの向上とコードサイズの削減を行いました。 また、マテリアルカラーアニメーションの実行時に、鏡面反射輝度テーブルが必ずイネーブルになるというバグを修正しました。

ノート 26-R04: (サンプル) サンプルの追加

サンプルを追加しました。

ノート 26-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbma .nsbtp .nsbtaファイル)’

g3dcvtrに.nsbma / .nsbtp / .nsbta形式のファイルを引数として与えた場合のサマリ表示の形式を変更しました。

ノート 26-R06: (ライブラリ) NNS_G3dGeSendDLを使用するとハングアップする不具合を修正

NITRO-SDKのGX_InitEx関数でGX_DMA_NOT_USEを選択したときに、 NNS_G3dGeSendDLを使用するとハングアップするという不具合を修正しました。

ノート 26-R07: (ライブラリ) テクスチャのスケーリングが不正にになる場合がある不具合を修正

SoftImage3Dを使用してテクスチャ付のモデルを作成した場合、 テクスチャのスケーリングが正しくなくなる場合があるという不具合を修正しました。

ノート 26-R08: (ライブラリ) ライトの方向が不正に設定されてしまう不具合を修正

NNS_G3dGlbFlushWVP関数において、ライトの方向が不正に設定されてしまうという不具合を修正しました。

ノート 26-R09: (ライブラリ) サイズの大きなテクスチャに関する不具合を修正

サイズの大きなテクスチャが表示されない場合があるという不具合を修正しました。

■ 2004年9月16日版での変更点

ノート 21-R01: (ライブラリ) カレント行列を取得するための関数を追加

NNS_G3dGetCurrentMtx関数により、 カレントの位置座標行列と方向ベクトル行列を取り出すことができます。

ノート 21-R02: (ライブラリ) NNS_G3dGlbFlushP, NNS_G3dGlbFlushVP, NNS_G3dGlbFlushWVP関数の追加

描画前にカレント行列等の初期設定をする関数のバリエーションを初期化方法毎に3種類に分けました。 これらの関数はカレント行列の設定のみが以下のように異なります。

上記の関数の違いにより、描画中にカレント行列を取得した場合カレント行列はそれぞれ、 カメラ座標系・ワールド座標系・ローカル座標系の行列になります。 必要とする行列によって3種類の関数を使い分けると、 行列から必要なデータを取得する際に逆行列をかける等の計算を省略することが可能です。

なお、NNS_G3dGlbFlushP関数と従来からあるNNS_G3dGlbFlush関数は同じ動作をします。 NNS_G3dGlbFlushWVP関数とNNS_G3dGlbFlushAlt関数についても同様です。

ノート 21-R03: (ライブラリ) NNSG3dGlb構造体に対するアクセサの追加

NNSG3dGlb構造体内のデータへの読み出し、 書き出しを行うための各種アクセサ関数を追加、整備しました。

ノート 21-R04: (ライブラリ) 未使用コードの削除

未使用であったコードを削除しました。

ノート 21-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbca .nsbvaファイル)

g3dcvtrに.nsbca形式のファイルと .nsbva形式のファイルを引数として与えた場合のサマリ表示の形式を変更しました。

ノート 21-R06: (ライブラリ) スケーリングが正しくかからない不具合を修正

NNS_G3dDraw1Mat1Shpにおいてスケーリングが正しくかからないことがあるという不具合を修正しました。

ノート 21-R07: (ライブラリ) TexCoordソース使用のテクスチャを使用したモデルが正しく描画されない不具合を修正

NNS_G3dDraw1Mat1ShpにおいてTexCoordソースを使用したテクスチャを使用したモデルが 正しく描画されないというバグを修正しました。

■ 2004年9月2日版での変更点

ノート 20-R01: (ライブラリ) 単純なオブジェクトを高速に描画するための関数を追加

関数NNS_G3dDraw1Mat1Shpを新設し、単純なオブジェクトの高速な描画が可能になりました。

ノート 20-R02: (ライブラリ) ジオメトリFIFO不具合(2004/09/01)への対処

ジオメトリFIFOの不具合に対処いたしました。

ノート 20-R03: (ライブラリ) 最適化

256バイトより短いディスプレイリストの転送はDMAを使用せず、CPUで転送するようになりました。

ノート 20-R04: (コンバータ) g3dcvtrのエラー表示の改善

入力XMLファイルにエラーがあった場合のエラー表示を改善しました。

ノート 20-R05: (コンバータ) g3dcvtrの出力の改善

g3dcvtrの出力の改善により、 ディスプレイリストのDMA転送に関係したストール期間が短くなるようになりました。

ノート 20-R06: (ライブラリ) 子ノードのリストが不正となる不具合を修正

NNS_G3dGetChildNodeIDListが出力する子ノードのリストが正しくない場合があるという不具合を修正しました。

ノート 20-R07: (ライブラリ) アニメーションの複数追加に関する不具合を修正

同一のレンダリングオブジェクトにアニメーションを複数追加する場合、 アニメーションが再生されなくなることがあるというバグを修正しました。

ノート 20-R08: (コンバータ) フルウェイトエンベロープモデルの変換に関する不具合を修正

g3dcvtrでフルウェイトエンベロープモデルを正しく変換できない場合があるという不具合を修正しました。

■ 2004年8月10日版での変更点

ノート 16-R01: (ライブラリ) マテリアルカラーアニメーションに対応

マテリアルカラーアニメーションの再生に対応しました。

ノート 16-R02: (ライブラリ) テクスチャSRTアニメーションに対応

テクスチャSRTアニメーションの再生に対応しました。

ノート 16-R03: (ライブラリ) 各種バグフィックス

テクスチャ行列の計算・アニメーションのブレンド・テクスチャパターンアニメーション他の不具合を修正しました。