TwlIPL_commit-99/add-ins/TwlSystem/docs/ChangeLog/G3D_ChangeLog.html

621 lines
31 KiB
HTML
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<title>NITRO-System G3Dライブラリ 更新履歴</title>
<meta http-equiv="Content-Type" content="text/html">
<meta http-equiv="content-style-type" content="text/css" />
<style type="text/css">
<!--
H1
{
font-weight : bold;
font-size : 250%;
text-align : left;
color : #46f;
margin : 0em 0em 0.5em 0em;
}
H2
{
font-weight : bold;
font-size : 150%;
text-align : left;
margin : 2em 0em 0.5em 0em;
padding-top : 8pt;
border-top-style : double;
border-top-width : 3px;
}
H3
{
font-weight : bold;
font-size : 120%;
margin : 1em 0em 0.5em 0em;
padding-top : 8pt;
border-top-style : solid;
border-top-width : 1px;
}
H4
{
font-weight : normal;
font-size : 100%;
margin : 0em 0em 0em 0.5em;
}
DIV.date
{
font-size : normal;
text-align : right;
margin : 0pt 0pt 12pt 0pt;
}
DIV.licence
{
margin: 0em;
border-style : solid;
border-width : 1px;
}
P
{
font-size : normal;
margin : 0em 1em 0.5em 1em;
line-height : 150%;
}
PRE
{
font-size : normal;
margin : 0em 0em 1em 2em;
line-height : 120%;
}
DT
{
margin : 1em 0em 0em 1em;
}
DD
{
margin-left : 3em;
}
UL
{
margin-top : 0em;
}
-->
</style>
</head>
<body>
<h1>NITRO-System G3Dライブラリ 更新履歴</h1>
<h2>■ インデックス</h2>
<h3><a href="#version_20080408">■ 2008年04月08日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_76-R01">ノート 76-R01: (マニュアル) 改訂履歴の書式変更</a></li>
<li><a href="#note_76-R02">ノート 76-R02: (マニュアル) Xerces-C++のライセンスに関する表記を変更</a></li>
</ul>
<h3><a href="#version_20071126">■ 2007年11月26日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_71-R01">ノート 71-R01: (ライブラリ) 仕様変更</a></li>
<li><a href="#note_71-R02">ノート 71-R02: (コンバータ) g3dcvtrの仕様変更</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_71-R03">ノート 71-R03: (ライブラリ) ASSERTに関する不具合を修正</a></li>
<li><a href="#note_71-R04">ノート 71-R04: (コンバータ) icaファイル変換時に間違った回転データが出力されることがある不具合を修正</a></li>
<li><a href="#note_71-R05">ノート 71-R05: (コンバータ) g3dcvtrの.imdファイル変換時にSBCコマンドのNODEDESC命令が正しく発行されないことがある不具合を修正</a></li>
</ul>
<h3><a href="#version_20060529">■ 2006年05月29日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_59-R01">ノート 59-R01: (コンバータ) g3dcvtrでコマンドライン引数をファイルから読み込めるように修正</a></li>
<li><a href="#note_59-R02">ノート 59-R02: (コンバータ) g3dcvtrに-tex-nomergeオプションを追加</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_59-R03">ノート 59-R03: (ライブラリ) コメントの修正</a></li>
<li><a href="#note_59-R04">ノート 59-R04: (コンバータ) ビルボードを含む中間ファイルがコンバートできない不具合を修正</a></li>
</ul>
<h3><a href="#version_20050901">■ 2005年09月01日版</a></h3>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_50-R01">ノート 50-R01: (ライブラリ) 微小角度の回転アニメーションがスムースにならない不具合を修正</a></li>
</ul>
<h3><a href="#version_20050616">■ 2005年06月16日版</a></h3>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_46-R01">ノート 46-R01: (ライブラリ) 各種バグフィックス</a></li>
</ul>
<h3><a href="#version_20050606">■ 2005年06月06日版</a></h3>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_45-R01">ノート 45-R01: (ライブラリ) アニメーション再生時の不具合を修正</a></li>
</ul>
<h3><a href="#version_20050328">■ 2005年03月28日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_43-R01">ノート 43-R01: (ライブラリ) フレームの補間の精度を改善</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_43-R02">ノート 43-R02: (ライブラリ) SBC命令のコールバックの不具合を修正</a></li>
<li><a href="#note_43-R03">ノート 43-R03: (コンバータ) g3dcvtrにて環境マップ用のコードが不正に動作する不具合を修正</a></li>
</ul>
<h3><a href="#version_20050131">■ 2005年01月31日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_39-R01">ノート 39-R01: (ライブラリ) 環境マップ・投影マップのサポート</a></li>
<li><a href="#note_39-R02">ノート 39-R02: (サンプル) サンプルの追加</a></li>
<li><a href="#note_39-R03">ノート 39-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.6.0に対応</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_39-R04">ノート 39-R04: (ライブラリ) ウェイテッドエンベロープモデルの描画における不具合を修正</a></li>
</ul>
<h3><a href="#version_20041206">■ 2004年12月06日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_34-R01">ノート 34-R01: (サンプル) サンプルの追加</a></li>
<li><a href="#note_34-R02">ノート 34-R02: (ドキュメント) G3Dバイナリファイルフォーマットについてのドキュメントを追加</a></li>
<li><a href="#note_34-R03">ノート 34-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.5.0で追加された仕様に対応</a></li>
<li><a href="#note_34-R04">ノート 34-R04: (コンバータ) バイナリ生成を改善</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_34-R05">ノート 34-R05: (ライブラリ) Y軸ビルボード変換の不具合を修正</a></li>
<li><a href="#note_34-R06">ノート 34-R06: (ライブラリ) コールバックが正しく呼ばれない不具合を修正</a></li>
</ul>
<h3><a href="#version_20041110">■ 2004年11月10日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_31-R01">ノート 31-R01: (ライブラリ) ジョイントアニメーションの部分的な再生をサポート</a></li>
<li><a href="#note_31-R02">ノート 31-R02: (ライブラリ) ジョイントアニメーションにおいて小数点以下フレームの補間再生をサポート</a></li>
<li><a href="#note_31-R03">ノート 31-R03: (ライブラリ) ウェイテッドエンベロープ表示の高速化</a></li>
<li><a href="#note_31-R04">ノート 31-R04: (ライブラリ) NNSG3dRenderObj構造体、NNSG3dRS構造体へのアクセサの追加</a></li>
<li><a href="#note_31-R05">ノート 31-R05: (サンプル) サンプルの追加</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_31-R06">ノート 31-R06: (ライブラリ) α値のアニメーションが正確に再生されない不具合を修正</a></li>
<li><a href="#note_31-R07">ノート 31-R07: (ライブラリ) アニメーションデータが重複して出力される場合がある不具合の修正</a></li>
<li><a href="#note_31-R08">ノート 31-R08: (ライブラリ) フレームステップが2か4での再生が不正になる不具合の修正</a></li>
<li><a href="#note_31-R09">ノート 31-R09: (ライブラリ) 表示が不正になるという不具合の修正</a></li>
<li><a href="#note_31-R10">ノート 31-R10: (コンバータ) g3dcvtrで一部データが不正に出力されるという不具合を修正</a></li>
<li><a href="#note_31-R11">ノート 31-R11: (コンバータ) g3dcvtrでのアニメーションデータのアラインメントに関する不具合を修正</a></li>
<li><a href="#note_31-R12">ノート 31-R12: (コンバータ) g3dcvtrでの&lt;box_test&gt;のpos_scale値出力に関する不具合の修正</a></li>
</ul>
<h3><a href="#version_20041012">■ 2004年10月12日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_26-R01">ノート 26-R01: (ライブラリ) ウェイテッドエンベロープ表示の追加</a></li>
<li><a href="#note_26-R02">ノート 26-R02: (ライブラリ) コールバックの仕様変更</a></li>
<li><a href="#note_26-R03">ノート 26-R03: (ライブラリ) マテリアルアニメーションのチューニング</a></li>
<li><a href="#note_26-R04">ノート 26-R04: (サンプル) サンプルの追加</a></li>
<li><a href="#note_26-R05">ノート 26-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbma .nsbtp .nsbtaファイル)</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_26-R06">ノート 26-R06: (ライブラリ) NNS_G3dGeSendDLを使用するとハングアップする不具合を修正</a></li>
<li><a href="#note_26-R07">ノート 26-R07: (ライブラリ) テクスチャのスケーリングが不正にになる場合がある不具合を修正</a></li>
<li><a href="#note_26-R08">ノート 26-R08: (ライブラリ) ライトの方向が不正に設定されてしまう不具合を修正</a></li>
<li><a href="#note_26-R09">ノート 26-R09: (ライブラリ) サイズの大きなテクスチャに関する不具合を修正</a></li>
</ul>
<h3><a href="#version_20040916">■ 2004年09月16日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_21-R01">ノート 21-R01: (ライブラリ) カレント行列を取得するための関数を追加</a></li>
<li><a href="#note_21-R02">ノート 21-R02: (ライブラリ) NNS_G3dGlbFlushP, NNS_G3dGlbFlushVP, NNS_G3dGlbFlushWVP関数の追加</a></li>
<li><a href="#note_21-R03">ノート 21-R03: (ライブラリ) NNSG3dGlb構造体に対するアクセサの追加</a></li>
<li><a href="#note_21-R04">ノート 21-R04: (ライブラリ) 未使用コードの削除</a></li>
<li><a href="#note_21-R05">ノート 21-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbca .nsbvaファイル)</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_21-R06">ノート 21-R06: (ライブラリ) スケーリングが正しくかからない不具合を修正</a></li>
<li><a href="#note_21-R07">ノート 21-R07: (ライブラリ) TexCoordソース使用のテクスチャを使用したモデルが正しく描画されない不具合を修正</a></li>
</ul>
<h3><a href="#version_20040902">■ 2004年09月02日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_20-R01">ノート 20-R01: (ライブラリ) 単純なオブジェクトを高速に描画するための関数を追加</a></li>
<li><a href="#note_20-R02">ノート 20-R02: (ライブラリ) ジオメトリFIFO不具合(2004/09/01)への対処</a></li>
<li><a href="#note_20-R03">ノート 20-R03: (ライブラリ) 最適化</a></li>
<li><a href="#note_20-R04">ノート 20-R04: (コンバータ) g3dcvtrのエラー表示の改善</a></li>
<li><a href="#note_20-R05">ノート 20-R05: (コンバータ) g3dcvtrの出力の改善</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_20-R06">ノート 20-R06: (ライブラリ) 子ノードのリストが不正となる不具合を修正</a></li>
<li><a href="#note_20-R07">ノート 20-R07: (ライブラリ) アニメーションの複数追加に関する不具合を修正</a></li>
<li><a href="#note_20-R08">ノート 20-R08: (コンバータ) フルウェイトエンベロープモデルの変換に関する不具合を修正</a></li>
</ul>
<h3><a href="#version_20040810">■ 2004年08月10日版</a></h3>
<h4>追加・変更された機能</h4>
<ul style="list-style-type:none;">
<li><a href="#note_16-R01">ノート 16-R01: (ライブラリ) マテリアルカラーアニメーションに対応</a></li>
<li><a href="#note_16-R02">ノート 16-R02: (ライブラリ) テクスチャSRTアニメーションに対応</a></li>
</ul>
<h4>不具合修正</h4>
<ul style="list-style-type:none;">
<li><a href="#note_16-R03">ノート 16-R03: (ライブラリ) 各種バグフィックス</a></li>
</ul>
<h2 id="version_20080408">■ 2008年04月08日版での変更点</h2>
<h3 id="note_76-R01">ノート 76-R01: (マニュアル) 改訂履歴の書式変更</h3>
<p>下記に示すpdfマニュアルの改訂履歴の書式を変更しました。
</p>
<ul><li> G3D_BinaryFormat.pdf
</li>
<li> g3dcvtr_UsersManual.pdf
</li>
</ul>
<h3 id="note_76-R02">ノート 76-R02: (マニュアル) Xerces-C++のライセンスに関する表記を変更</h3>
<p>g3dcvtr_UsersManual.pdfにおいて、Xerces-C++のライセンスに関する表記を変更しました。
</p>
<h2 id="version_20071126">■ 2007年11月26日版での変更点</h2>
<h3 id="note_71-R01">ノート 71-R01: (ライブラリ) 仕様変更</h3>
<ul><li> NNS_G3D_USE_FASTGXDMAマクロを定義するとNNS_G3dGeUseFastDma関数を呼んでもジオメトリコマンドの転送方法が切換できない仕様になっていましたが、これを切換可能なように変更しました。
</li>
</ul>
<ul><li> NNSi_G3dAnmBlendJnt関数で回転行列のブレンドを行うとき、ブレンド結果の行ベクトルがゼロベクトルになると、
正規化の際にASSERTに失敗するという仕様になっていましたが、
ブレンド結果がゼロベクトルとなった場合はブレンド前の状態に戻すように変更しました。
</li>
</ul>
<h3 id="note_71-R02">ノート 71-R02: (コンバータ) g3dcvtrの仕様変更</h3>
<p>.imaファイルを変換する際、従来はRed, Green, Blue成分のframe_stepが揃っていなければエラーとなっていましたが、
これをエラーとせず、最も精度の高いframe_stepに合わせて変換を行うよう仕様を変更しました。
</p>
<h3 id="note_71-R03">ノート 71-R03: (ライブラリ) ASSERTに関する不具合を修正</h3>
<ul><li> NNS_G3dResDefaultSetup関数においてメモリ確保に失敗した場合、
ロールバック処理中に必ずASSERTに失敗してしまい、処理が正常に終了しない不具合を修正しました。
</li>
</ul>
<ul><li> NNS_G3dGetAnmByIdx関数の第二引数にリソースの所持しているアニメーション数以上の数値を指定した場合、
本来NULLが返るべきところがASSERTで失敗するという不具合を修正しました。
</li>
</ul>
<h3 id="note_71-R04">ノート 71-R04: (コンバータ) icaファイル変換時に間違った回転データが出力されることがある不具合を修正</h3>
<p>.icaファイルを変換する際、
frame_sizeとframe_step_modeの組み合わせによっては間違った回転データが出力されることがある不具合を修正しました。
</p>
<h3 id="note_71-R05">ノート 71-R05: (コンバータ) g3dcvtrの.imdファイル変換時にSBCコマンドのNODEDESC命令が正しく発行されないことがある不具合を修正</h3>
<p>.imdファイルを変換する際、
ノード構成と&lt;display&gt;::priorityの設定によってはSBCコマンドのNODEDESC命令が正しく発行されないことがある不具合を修正しました。
</p>
<h2 id="version_20060529">■ 2006年05月29日版での変更点</h2>
<h3 id="note_59-R01">ノート 59-R01: (コンバータ) g3dcvtrでコマンドライン引数をファイルから読み込めるように修正</h3>
<p>コマンドライン引数をファイルから読み込むことが可能になりました。
先頭にアットマーク(@)をつけたコマンドライン引数は、2文字目以降がファイル名として認識され、
そのファイルの内容が引数として展開されるようになりました。
複数ファイル・多段階の展開が可能です。なお、ファイル参照が循環した場合にはエラーになります。
</p>
<h3 id="note_59-R02">ノート 59-R02: (コンバータ) g3dcvtrに-tex-nomergeオプションを追加</h3>
<p>g3dcvtrに-tex-nomergeオプションを追加いたしました。
このオプションを使用すると、テクスチャやパレットの名前が違う場合は、
データが同一でもマージされずに別々の領域が確保されるようになります。
</p>
<h3 id="note_59-R03">ノート 59-R03: (ライブラリ) コメントの修正</h3>
<p>NNS_G3dGeUseFastDma関数のコメントを修正しました。
</p>
<h3 id="note_59-R04">ノート 59-R04: (コンバータ) ビルボードを含む中間ファイルがコンバートできない不具合を修正</h3>
<p>ビルボードを含む中間ファイルがコンバートできないことがある不具合を修正しました。
</p>
<h2 id="version_20050901">■ 2005年09月01日版での変更点</h2>
<h3 id="note_50-R01">ノート 50-R01: (ライブラリ) 微小角度の回転アニメーションがスムースにならない不具合を修正</h3>
<p>微小角度の回転アニメーションを作成した場合に、
アニメーションがスムースにならないという不具合を修正しました。
</p>
<h2 id="version_20050616">■ 2005年06月16日版での変更点</h2>
<h3 id="note_46-R01">ノート 46-R01: (ライブラリ) 各種バグフィックス</h3>
<p>2005/06/06版で混入したバグを修正しました。
</p>
<h2 id="version_20050606">■ 2005年06月06日版での変更点</h2>
<h3 id="note_45-R01">ノート 45-R01: (ライブラリ) アニメーション再生時の不具合を修正</h3>
<p>.icaファイルを-OSオプションでコンバートした場合、
正しく再生されないケースがあるという不具合を修正しました。
</p>
<h2 id="version_20050328">■ 2005年03月28日版での変更点</h2>
<h3 id="note_43-R01">ノート 43-R01: (ライブラリ) フレームの補間の精度を改善</h3>
<p>ジョイントアニメーションでフレームの補間がおこなわれる際に、
キーフレーム間の回転変化量が大きい場合にモデルに歪みが大きくなる場合があり、これを改善しました。
</p>
<h3 id="note_43-R02">ノート 43-R02: (ライブラリ) SBC命令のコールバックの不具合を修正</h3>
<p>SBC 命令NODEDESC, BBY において、
TIMING_CでTIMING_BのNNS_G3D_RSFLAG_SKIPフラグが使われてしまう問題を修正しました。
また、SBC 命令NODEDESC, BBY, BB において、TIMING_Cで処理をスキップした場合に、
以降の処理が破綻してしまう問題を修正しました。
</p>
<h3 id="note_43-R03">ノート 43-R03: (コンバータ) g3dcvtrにて環境マップ用のコードが不正に動作する不具合を修正</h3>
<p>複数の.imdを変換した場合に、環境マップ用のコードが不正に動作する不具合を修正しました。
</p>
<h2 id="version_20050131">■ 2005年01月31日版での変更点</h2>
<h3 id="note_39-R01">ノート 39-R01: (ライブラリ) 環境マップ・投影マップのサポート</h3>
<p>NNSi_G3dFuncSbc_ENVMAP関数とNNSi_G3dFuncSbc_PRJMAP関数を追加し、
環境マップと投影(正射影)マップをサポートしました。
</p>
<h3 id="note_39-R02">ノート 39-R02: (サンプル) サンプルの追加</h3>
<p>サンプルを追加しました。
</p>
<ul><li> EnvMapサンプル。環境マップされた球を表示するサンプルです。
</li>
<li> ProjMapサンプル。投影(正射影)マップされた球を表示するサンプルです。
</li>
</ul>
<h3 id="note_39-R03">ノート 39-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.6.0に対応</h3>
<p>g3dcvtrがNITRO中間ファイルバージョン1.6.0に対応しました。
環境マップや投影マップを含む.imdファイルをコンバートします。
</p>
<h3 id="note_39-R04">ノート 39-R04: (ライブラリ) ウェイテッドエンベロープモデルの描画における不具合を修正</h3>
<p>ウェイテッドエンベロープモデルで、classic scale offが設定されていた場合(Softimage3D又はSoftimage |XSI)、
g3dcvtrが出力する.nsbmdファイル内の一部データが不正なため、正常に描画されないというバグの修正。
</p>
<h2 id="version_20041206">■ 2004年12月06日版での変更点</h2>
<h3 id="note_34-R01">ノート 34-R01: (サンプル) サンプルの追加</h3>
<p>サンプルを追加しました。
</p>
<ul><li> Translucentサンプル。半透明のポリゴン同士が重なるモデルの描画についてのサンプルです。
</li>
</ul>
<h3 id="note_34-R02">ノート 34-R02: (ドキュメント) G3Dバイナリファイルフォーマットについてのドキュメントを追加</h3>
<p>NitroSystem\docs\G3D\G3D_BinaryFormat.pdfにG3Dで使用する
バイナリファイルのフォーマットについて解説されています。
</p>
<h3 id="note_34-R03">ノート 34-R03: (コンバータ) g3dcvtrがNITRO中間ファイルver. 1.5.0で追加された仕様に対応</h3>
<p>NITRO中間ファイルバージョン1.5.0で追加された、&lt;material&gt;要素に対する追加属性、&lt;display&gt;要素に対する追加属性に対応しました。
</p>
<h3 id="note_34-R04">ノート 34-R04: (コンバータ) バイナリ生成を改善</h3>
<p>複数の&lt;display&gt;要素があるジョイントにビルボードをつけた場合のバイナリ生成を改善しました。
</p>
<h3 id="note_34-R05">ノート 34-R05: (ライブラリ) Y軸ビルボード変換の不具合を修正</h3>
<p>Y軸ビルボード変換を厚みのあるオブジェクトに対して行った場合、
不適切な見かけとなる不具合を修正しました。
</p>
<h3 id="note_34-R06">ノート 34-R06: (ライブラリ) コールバックが正しく呼ばれない不具合を修正</h3>
<p>NNS_G3D_SBC_CALLBACK_TIMING_A_DISABLEマクロを定義してG3Dをコンパイルした場合に、
コールバックが正しく呼ばれないという不具合を修正しました。
</p>
<h2 id="version_20041110">■ 2004年11月10日版での変更点</h2>
<h3 id="note_31-R01">ノート 31-R01: (ライブラリ) ジョイントアニメーションの部分的な再生をサポート</h3>
<p>NNS_G3dAnmObjDisableID関数とNNS_G3dAnmObjEnableID関数を追加し、
一部のジョイントだけを対象にしたジョイントアニメーション再生をサポートしました。
</p>
<h3 id="note_31-R02">ノート 31-R02: (ライブラリ) ジョイントアニメーションにおいて小数点以下フレームの補間再生をサポート</h3>
<p>.icaファイルの&lt;node_anm_info&gt;::interpolationがlinearに指定されている場合、
小数点以下のフレームを指定すると、前後のフレームを線形補間してジョイントアニメーションを再生します。
なお、アニメーションをループ再生させる場合には、&lt;node_anm_info&gt;::interp_end_to_startをonにしておく必要があります。
</p>
<h3 id="note_31-R03">ノート 31-R03: (ライブラリ) ウェイテッドエンベロープ表示の高速化</h3>
<p>NNSi_G3dFuncSbc_NODEMIX関数の実装を改良し、ウェイテッドエンベロープ付モデルの表示を高速化しました。
</p>
<h3 id="note_31-R04">ノート 31-R04: (ライブラリ) NNSG3dRenderObj構造体、NNSG3dRS構造体へのアクセサの追加</h3>
<p>NNS_G3dRenderObj構造体とNNS_G3dRS構造体に対するアクセサを追加しました。
</p>
<h3 id="note_31-R05">ノート 31-R05: (サンプル) サンプルの追加</h3>
<p>サンプルを追加しました。
</p>
<ul><li> PartialAnm1サンプル。ジョイントアニメーションの部分的な再生を行います。
</li>
<li> PartialAnm2サンプル。ジョイントアニメーションの部分的な再生を行いますが、PartialAnm1よりは複雑なケースです。
</li>
<li> SlowMotionサンプル。ジョイントアニメーションをスローモーションで再生します。
</li>
<li> SharedMotionサンプル。同一のジョイントアニメーションリソースを、体型の違うつのモデルで再生します。
</li>
<li> ScreenUtilサンプル。座標変換ユーティリティAPIのサンプルです。ワールド座標系からBGスクリーン座標系に変換したり、BGスクリーン座標系からワールド座標系に変換したりします。
</li>
</ul>
<h3 id="note_31-R06">ノート 31-R06: (ライブラリ) α値のアニメーションが正確に再生されない不具合を修正</h3>
<p>2004/10/12版における、マテリアルカラーアニメーションでα値のアニメーションが正確に再生されないという不具合を修正しました。
</p>
<h3 id="note_31-R07">ノート 31-R07: (ライブラリ) アニメーションデータが重複して出力される場合がある不具合の修正</h3>
<p>g3dcvtrで.icaファイルをコンバートする場合、フレームステップを2か4に設定していると、最終フレーム付近のフレームでアニメーションデータが重複して出力される場合があるという不具合を修正しました。
</p>
<h3 id="note_31-R08">ノート 31-R08: (ライブラリ) フレームステップが2か4での再生が不正になる不具合の修正</h3>
<p>ジョイントアニメーションで、スケールが8以上又は0.125以下のフレームが存在する場合に、
フレームステップが2か4での再生が不正であるという不具合を修正しました。
</p>
<h3 id="note_31-R09">ノート 31-R09: (ライブラリ) 表示が不正になるという不具合の修正</h3>
<p>ウェイテッドエンベロープの使用時に、カメラが遠いか近い場合、
G3D内部で使用しているテンポラリ変数がオーバーフローするため表示が不正になるという不具合を修正しました。
</p>
<h3 id="note_31-R10">ノート 31-R10: (コンバータ) g3dcvtrで一部データが不正に出力されるという不具合を修正</h3>
<p>g3dcvtrで多くの.imdファイルを1つの.nsbmdファイルにコンバートする場合、
一部データが不正に出力されるという不具合を修正しました。
</p>
<h3 id="note_31-R11">ノート 31-R11: (コンバータ) g3dcvtrでのアニメーションデータのアラインメントに関する不具合を修正</h3>
<p>g3dcvtrで複数の.imaファイルをコンバートする場合、
2番目以降のアニメーションデータのアラインメントが適切に取られていないことがあるという不具合を修正しました。
</p>
<h3 id="note_31-R12">ノート 31-R12: (コンバータ) g3dcvtrでの&lt;box_test&gt;のpos_scale値出力に関する不具合の修正</h3>
<p>g3dcvtrで&lt;box_test&gt;のpos_scale値に対応するデータとして&lt;model_info&gt;のpos_scale値を出力しているという不具合を修正しました。
</p>
<h2 id="version_20041012">■ 2004年10月12日版での変更点</h2>
<h3 id="note_26-R01">ノート 26-R01: (ライブラリ) ウェイテッドエンベロープ表示の追加</h3>
<p>NNSi_G3dFuncSbc_NODEMIX関数を追加し、
g3dcvtrで変換されたウェイテッドエンベロープ付のモデルを表示することができるようになりました。
なお、.nsbmdファイルの形式は拡張されていますので、.imdファイルに関しては再コンバートする必要があります。
</p>
<h3 id="note_26-R02">ノート 26-R02: (ライブラリ) コールバックの仕様変更</h3>
<p>コールバックの仕様が変更されました。一部のケースで従来バージョンとは互換性がとれない場合があります。
</p>
<ul><li> NNS_G3dRenderObjSetInitFunc関数を使用することにより、レンダリング直前にNNSG3dRS構造体を引数にとる関数を実行できるようになりました。
</li>
<li> NNSG3dRS構造体のコールバック関数ポインタをSBC命令の数だけ確保することにより、レンダリング時にSBC命令種類につきつずつコールバックを登録することができるようになりました。この変更により、複数のコールバックを簡単に使用することができるようになります。
</li>
<li> SBC命令のアドレスを指定してコールバックを呼び出すことはできなくなりました。よって、NNS_G3dRenderObjSetCallBack関数の第3引数の値は無効となります。
</li>
<li> コールバック関数内でコールバック条件やコールバック関数を変更しているコードは変更する必要があります。詳しくは、callback4, callback5サンプルを参照してください。
</li>
</ul>
<h3 id="note_26-R03">ノート 26-R03: (ライブラリ) マテリアルアニメーションのチューニング</h3>
<p>マテリアルカラーアニメーションとテクスチャSRTアニメーションのパフォーマンスの向上とコードサイズの削減を行いました。
また、マテリアルカラーアニメーションの実行時に、鏡面反射輝度テーブルが必ずイネーブルになるというバグを修正しました。
</p>
<h3 id="note_26-R04">ノート 26-R04: (サンプル) サンプルの追加</h3>
<p>サンプルを追加しました。
</p>
<ul><li> RecordMtxサンプル。g3dcvtrの-sオプションを利用して.imdファイルをコンバートすることにより、callback2サンプルと同様の処理をコールバック関数を使用せずに行うことができます。
</li>
<li> ManualSetupサンプル。NNS_G3dResDefaultSetup関数を使用せずに、読み込んだ.nsbmdファイルをセットアップする方法を説明しています。
</li>
<li> callback5サンプル。コールバック関数を複数登録できるようになったのに伴い、コールバック使用サンプルを追加しました。
</li>
<li>ShadowVolumeサンプル。G3Dを使用してシャドウボリュームを表示する方法を解説しています。
</li>
<li> Envelopeサンプル。ウェイテッドエンベロープを用いた場合と用いない場合の表示品質とパフォーマンスの比較を行っています。
</li>
</ul>
<h3 id="note_26-R05">ノート 26-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbma .nsbtp .nsbtaファイル)</h3>
<p>g3dcvtrに.nsbma / .nsbtp / .nsbta形式のファイルを引数として与えた場合のサマリ表示の形式を変更しました。
</p>
<h3 id="note_26-R06">ノート 26-R06: (ライブラリ) NNS_G3dGeSendDLを使用するとハングアップする不具合を修正</h3>
<p>NITRO-SDKのGX_InitEx関数でGX_DMA_NOT_USEを選択したときに、
NNS_G3dGeSendDLを使用するとハングアップするという不具合を修正しました。
</p>
<h3 id="note_26-R07">ノート 26-R07: (ライブラリ) テクスチャのスケーリングが不正にになる場合がある不具合を修正</h3>
<p>SoftImage3Dを使用してテクスチャ付のモデルを作成した場合、
テクスチャのスケーリングが正しくなくなる場合があるという不具合を修正しました。
</p>
<h3 id="note_26-R08">ノート 26-R08: (ライブラリ) ライトの方向が不正に設定されてしまう不具合を修正</h3>
<p>NNS_G3dGlbFlushWVP関数において、ライトの方向が不正に設定されてしまうという不具合を修正しました。
</p>
<h3 id="note_26-R09">ノート 26-R09: (ライブラリ) サイズの大きなテクスチャに関する不具合を修正</h3>
<p>サイズの大きなテクスチャが表示されない場合があるという不具合を修正しました。
</p>
<h2 id="version_20040916">■ 2004年09月16日版での変更点</h2>
<h3 id="note_21-R01">ノート 21-R01: (ライブラリ) カレント行列を取得するための関数を追加</h3>
<p>NNS_G3dGetCurrentMtx関数により、
カレントの位置座標行列と方向ベクトル行列を取り出すことができます。
</p>
<h3 id="note_21-R02">ノート 21-R02: (ライブラリ) NNS_G3dGlbFlushP, NNS_G3dGlbFlushVP, NNS_G3dGlbFlushWVP関数の追加</h3>
<p>描画前にカレント行列等の初期設定をする関数のバリエーションを初期化方法毎に3種類に分けました。
これらの関数はカレント行列の設定のみが以下のように異なります。
</p>
<ul><li> NNS_G3dGlbFlushP関数は、カレント射影行列に射影変換行列を、カレント位置座標行列と方向ベクトル行列にカメラ行列とモデリング行列を合成した行列を設定します。
</li>
<li> NNS_G3dGlbFlushVP関数は、カレント射影行列に射影変換行列とカメラ行列を合成した行列を、カレント位置座標行列と方向ベクトル行列にモデリング行列を設定します。
</li>
<li> NNS_G3dGlbFlushWVP関数は、カレント射影行列に射影変換行列・カメラ行列・モデリング行列を合成した行列を、カレント位置座標行列と方向ベクトル行列に単位行列を設定します。
</li>
</ul>
<p>上記の関数の違いにより、描画中にカレント行列を取得した場合カレント行列はそれぞれ、
カメラ座標系・ワールド座標系・ローカル座標系の行列になります。
必要とする行列によって3種類の関数を使い分けると、
行列から必要なデータを取得する際に逆行列をかける等の計算を省略することが可能です。
</p>
<p>なお、NNS_G3dGlbFlushP関数と従来からあるNNS_G3dGlbFlush関数は同じ動作をします。
NNS_G3dGlbFlushWVP関数とNNS_G3dGlbFlushAlt関数についても同様です。
</p>
<h3 id="note_21-R03">ノート 21-R03: (ライブラリ) NNSG3dGlb構造体に対するアクセサの追加</h3>
<p>NNSG3dGlb構造体内のデータへの読み出し、
書き出しを行うための各種アクセサ関数を追加、整備しました。
</p>
<h3 id="note_21-R04">ノート 21-R04: (ライブラリ) 未使用コードの削除</h3>
<p>未使用であったコードを削除しました。
</p>
<h3 id="note_21-R05">ノート 21-R05: (コンバータ) g3dcvtrのサマリ表示形式の変更(.nsbca .nsbvaファイル)</h3>
<p>g3dcvtrに.nsbca形式のファイルと
.nsbva形式のファイルを引数として与えた場合のサマリ表示の形式を変更しました。
</p>
<h3 id="note_21-R06">ノート 21-R06: (ライブラリ) スケーリングが正しくかからない不具合を修正</h3>
<p>NNS_G3dDraw1Mat1Shpにおいてスケーリングが正しくかからないことがあるという不具合を修正しました。
</p>
<h3 id="note_21-R07">ノート 21-R07: (ライブラリ) TexCoordソース使用のテクスチャを使用したモデルが正しく描画されない不具合を修正</h3>
<p>NNS_G3dDraw1Mat1ShpにおいてTexCoordソースを使用したテクスチャを使用したモデルが
正しく描画されないというバグを修正しました。
</p>
<h2 id="version_20040902">■ 2004年09月02日版での変更点</h2>
<h3 id="note_20-R01">ノート 20-R01: (ライブラリ) 単純なオブジェクトを高速に描画するための関数を追加</h3>
<p>関数NNS_G3dDraw1Mat1Shpを新設し、単純なオブジェクトの高速な描画が可能になりました。
</p>
<h3 id="note_20-R02">ノート 20-R02: (ライブラリ) ジオメトリFIFO不具合(2004/09/01)への対処</h3>
<p>ジオメトリFIFOの不具合に対処いたしました。
</p>
<h3 id="note_20-R03">ノート 20-R03: (ライブラリ) 最適化</h3>
<p>256バイトより短いディスプレイリストの転送はDMAを使用せず、CPUで転送するようになりました。
</p>
<h3 id="note_20-R04">ノート 20-R04: (コンバータ) g3dcvtrのエラー表示の改善</h3>
<p>入力XMLファイルにエラーがあった場合のエラー表示を改善しました。
</p>
<h3 id="note_20-R05">ノート 20-R05: (コンバータ) g3dcvtrの出力の改善</h3>
<p>g3dcvtrの出力の改善により、
ディスプレイリストのDMA転送に関係したストール期間が短くなるようになりました。
</p>
<h3 id="note_20-R06">ノート 20-R06: (ライブラリ) 子ノードのリストが不正となる不具合を修正</h3>
<p>NNS_G3dGetChildNodeIDListが出力する子ードのリストが正しくない場合があるという不具合を修正しました。
</p>
<h3 id="note_20-R07">ノート 20-R07: (ライブラリ) アニメーションの複数追加に関する不具合を修正</h3>
<p>同一のレンダリングオブジェクトにアニメーションを複数追加する場合、
アニメーションが再生されなくなることがあるというバグを修正しました。
</p>
<h3 id="note_20-R08">ノート 20-R08: (コンバータ) フルウェイトエンベロープモデルの変換に関する不具合を修正</h3>
<p>g3dcvtrでフルウェイトエンベロープモデルを正しく変換できない場合があるという不具合を修正しました。
</p>
<h2 id="version_20040810">■ 2004年08月10日版での変更点</h2>
<h3 id="note_16-R01">ノート 16-R01: (ライブラリ) マテリアルカラーアニメーションに対応</h3>
<p>マテリアルカラーアニメーションの再生に対応しました。
</p>
<h3 id="note_16-R02">ノート 16-R02: (ライブラリ) テクスチャSRTアニメーションに対応</h3>
<p>テクスチャSRTアニメーションの再生に対応しました。
</p>
<h3 id="note_16-R03">ノート 16-R03: (ライブラリ) 各種バグフィックス</h3>
<p>テクスチャ行列の計算・アニメーションのブレンド・テクスチャパターンアニメーション他の不具合を修正しました。
</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>