Easy3D For HSP3 ver5.5.0.2 (HSP3.3同梱バージョン)





Easy3D(e3dhsp3.dll)は、DirectXで3Dゲームを作るためのプラグインです。
DirectX9.0c がインストールされていないと、動きません。


(図はサンプルのe3dhsp3_fight_MOA.hspのスクリーンショット
簡単な格闘ゲームなら投げ技なども入れて300行程度で作成可能。)


おちゃっこLABでは、 Easy3Dで使用する3D形状データ、モーションデータを編集するためのツールRokDeBone2も公開していますので、あわせてご使用ください。
RokDeBone2のバージョンだけが新しい場合、 Easy3Dでの形状やモーションファイルの読み込みで失敗することがあります。 そんなときは、Easy3Dのバージョンも最新のものをダウンロードして使用するようにしてください。 なぜかといいますと、 RokDeBone2がバージョンアップした際には、ファイルのフォーマットが新しくなることがあります。 新しいファイルは古いプログラムで読み込もうとするとエラーになります。 ですので、そういう症状が出た場合は、Easy3Dも最新版をダウンロードしなおして使用してください。 古いファイルは、新しいプログラムでも問題なく読み込めるようにしていくつもりです。


おちゃっこ
http://www5d.biglobe.ne.jp/~ochikko/



スクリプトを組む上で、必要な、関数の説明は、こちらのページです。
Easy3D For HSPの関数の説明



Easy3D For HSPについてのTIPSや最新情報は、
おちゃっこLABのEasy3D For HSP3公式ページへどうぞ。
(サンプルや関連ツールも公開されています。)

Tips : モーションアクセラレータについて

Tips : ver5.3.0.0での変更点について

Tips : ver5.4.0.0での変更点について

Tips : ver5.5.0.0での変更点について

Tips : Sig, Qua, Moaファイルの読み込みがエラーになるとき

Tips : HSP3.2同梱版からのバージョンアップについて



著作権・ライセンス

本プログラムの著作権は、製作者である"おちゃっこ"にあります。

本プログラムを使用したことによって生じたいかなる損害についても、 著作権保有者はその保障義務を一切負わないものとします。
Easy3Dや、RokDeBone2を使用して作ったデータや作品は、 自由に配布できることにします。 ただし、サンプルなどで使用しているデータには、それぞれ作者さんの著作権があるので注意してください。

Easy3Dを使った自分で作った作品などを配布する場合は、 必須ではありませんがreadme.txtの隅っこにでもおちゃっこLABの名前を書いておいてもらえると宣伝になるのでうれしいです。 (書かなくてもかまいません。)

あと、これは著作権とは関係ありませんが、何か途中経過でもいいのでおもしろいものが出来たら掲示板などで報告してもらえると、こちらもやる気が出てうれしいです。

/////////////////////////////////////////////////////////
// 更新ログ

ver1.0.0.1
  HSP3.1β3に対応しました。
  変更点については、変更点についてをご覧ください。

ver1.0.0.1(2006/06/09)
    サンプルのe3dhsp3_SwapChain.asが、マウス入力により表示がちらつくというご指摘があったので、修正しました。
    サンプルの拡張子をhspに変えました。
    e3dhsp3.dllは、同じままです。
    同じバージョン番号での、マイナーバージョンアップとします。

ver1.0.0.2(2006/07/09)
    フォグ(頂点フォグ)が使えるようになりました。
      E3DSetLinearFogParams関数の追加。

ver1.0.0.3(2006/07/10)
    スプライトやフォント描画時には、フォグが影響しないように、修正しました。
    同じファイル(sig, gnd, mqo, im2)を、複数のプログラムで、同時に読もうとしたときに、エラーになるのを修正しました。

ver1.0.0.4(2006/07/10 その2)
    dual coreプロセッサで、うまく同期できないことがあるのを修正しました。

ver1.0.0.5(2006/07/10 その3)
    E3DRenderの8番目の引数に、transskipを追加。
      transskipに1をセットすると、頂点変換処理がスキップされます。
      不透明、半透明と、2回、E3DRenderを呼び出す場合は、2回目の呼び出し時に、transskipに1を指定してください。
      このフラグを使用することで、e3dhsp3_fight.hspの描画速度は、1.7倍速になりました。

ver1.0.0.6(2006/07/16)
    デバッグ
      E3DGetBBoxで、partnoに-1を指定すると、エラーになるバグを修正しました。
    マニュアルのE3DGetScreenPos2の引数が、間違っていたのを修正しました。
      1番目の引数は、scidです。

ver1.0.0.7(2006/07/26)
    あたり判定関数の追加
      E3DChkConflict3
      E3DChkConfBySphere3
        判定パーツ番号に、配列を指定できるようにし、複数パーツ同士の当たり判定を、一回の呼び出しで、出来るようにしました。


ver2.0.0.1(2006/08/04)
    DirectX9.0cへ対応(ただし、ハードウェア頂点処理は、まだ、封印した状態)

    RokDeBone2 ver2.0.0.1のデータに対応。

    トゥーン表示に対応
      E3DSetShaderTypeに、COL_TOON1を指定すると、トゥーン表示できます。
      COL_TOON1でのE3DSetShaderType命令は、割と重い処理なので、初期化時に、1回だけ実行してください。
      詳しくは、サンプル、e3dhsp3_toon1.hspをご覧ください。

    E3DInitを呼び出さない状態で、E3DByeを呼んでも、エラーにならないように修正。


ver2.0.0.2(2006/08/07)
  RokDeBone2で、「色ト」ボタンを押した状態で、保存したsigファイルに対応。
  E3DSetMovableAreaThread関数を追加。
  E3DSetShaderType で、COL_TOON1を指定して、複数回呼び出すと、メモリリークするバグを修正。


ver2.0.0.3(2006/08/11)
  ver2.0.0.3のRokDeBone2のsigファイルに対応。


ver2.0.0.4(2006/08/15)
  E3DRenderSpriteに、引数を追加。
    traz引数を追加。
    奥行き情報を、指定できるようになりました。


ver2.0.0.5(2006/08/21)
  半透明のブレンディングモード(アッドモードその2)を、追加。
    E3DSetBlendingMode で、モードに2を指定すると、頂点アルファを考慮したアッドモードになります。

  E3DCreateSpriteFromBMSCRを追加
    HSPの描画画面(E3Dでの描画を除く)と同じ内容のスプライトを作成します。
    非表示の画面に対しても、使用できます。

ver2.0.0.6(2006/08/23)
    デバッグ
      同名ファイルから、複数のスプライトを作成し、そのうちのひとつを、E3DDestroySpriteで破棄すると、
      残りのスプライトの描画時に、エラーになるバグ、を修正しました。


ver2.0.0.7(2006/09/21)
    E3DGetBoneNoByNameを、エンドジョイントに対しても、呼び出せるようにしました。
    
    マニュアルの微調整
      ver2.0.0.1で、エンドジョイントにも、姿勢情報が格納されるようになったので、
      エンドジョイントに関する記述を修正。

    Visual Studio 2005でビルド。


ver2.0.0.8(2006/09/22)
    モデルデータ中で、絶対パスで指定されているテクスチャが、見つからなかった場合は、
    モデルデータと同じディレクトリを探して、読み込むようにしました。


ver2.0.0.9(2006/09/25)

    E3DCreateBGに引数を追加。
      7番目の引数に、フォグの計算に使う、カメラからの距離を指定します。

      この引数に、E3DSetLinearFogParamsで指定するendより小さい値を指定すれば、
      背景は、フォグの色に染まりながらも、うっすらと見えるように出来ます。


ver2.0.1.0(2006/10/08)

    デバッグ
      ドライブのルートで、exeを実行すると、E3DInitでエラーになることがあるバグを、修正しました。


ver2.0.1.1(2006/10/17)

    デバッグ
      E3DCreateSpriteFromBMSCR で作成したスプライトが、E3DDestroySpriteで削除できないバグを修正しました。


ver2.0.1.2(2007/01/26)
    モーションアクセラレータの設定機能の追加。
    詳しくは、モーションアクセラレータについてをご覧ください。

    E3DLoadMOAFile
    E3DSetNewPoseByMOA
    E3DGetMotionFrameNo
    E3DGetKeyboardCnt
    E3DResetKeyboardCnt
    の追加。


ver2.0.1.3(2007/01/29)
    デバッグ
      モーションアクセラレータ使用時に、補間終了後、同じポーズが3つ続くバグを修正。
      新ボーンを追加後に、それを無効にして、旧モーションを読むと、モーションがよれるバグを修正。
      PingPongモーション処理を修正。
      
    超簡易暗号化関数追加
      E3DEncodeBeta
      E3DDecodeBeta


ver2.0.1.4(2007/02/01)
    デバッグ
      E3DCreateSpriteFromBMSCRを複数回呼び出した場合、
      複数回E3DestroySpriteを呼んでも、一回分しかメモリが開放されないバグを修正。

      E3DestroyBillboardが、必要なビルボードのテクスチャまで、破棄してしまうバグを修正。


ver2.0.1.5(2007/02/03)
    デバッグ
      MOA(モーションアクセラレータファイル)読み込み時のバグを修正。
        ファイルの終端検出処理のバグ。
        ファイルの読み込みが終わっていないのに、終わっていると判断し、読み残しをしてしまうバグでした。


ver2.0.1.6(2007/02/09)
    デバッグ
      モーションアクセラレータのバグ修正
        「指定フレームより前で分岐」に、数値を指定したとき、
        実際には、指定フレームより後で分岐していたバグ。


ver2.0.1.7(2007/03/13)
    デバッグ
      メタセコイアで設定した頂点色が反映されないことがあるバグを修正しました。


ver3.0.0.1(2007/04/16)
    ver3.0.0.1リリース。
    頂点シェーダ2.0、ピクセルシェーダ1.1対応版となりました。
    描画速度2から4倍!!

    変更点は、ver3.0.0.1での変更点をご覧ください。


ver3.0.0.2(2007/04/17)
    一回もE3DSetMotionKindを呼び出さない場合でもエラーにならないようにしました。
      1個目のqua読み込み時に、自動的に、E3DSetMotionKindします。


ver3.0.0.3(2007/04/19)
    デバッグ
      E3DInitの7番目の引数に0を指定したときの振る舞いを修正。
      E3DSetUV, E3DGetUV, E3DSetUVTile, E3DSetBillboardUVが機能していなかったのを修正。


ver3.0.0.4(2007/04/20)
    デバッグ
      トゥーン設定のモデルと、トゥーン以外の設定のモデルを混在させた場合に、
      トゥーン以外のモデルが表示されないことがあるバグを修正。

ver3.0.0.5(2007/04/22)
    デバッグ
      スムージング関係での法線の計算が間違っていたバグを修正。
        色にむらが出来たり、角がシャープに表示されなかったりするバグが直りました。


ver3.0.0.6(2007/04/24)
    スムージング処理の修正
      スムージング処理を、標準的な方法に変えました。
      メタセコイアで設定したスムージング角度に忠実に表示します。

      新しいスムージング処理は、mqoまたは、ver3.0.0.3以降のRokDeBone2で保存したsigを読み込んだ場合のみ有効になります。


ver3.0.0.7(2007/04/25)

    頂点シェーダー1.1でも、ハードウェアで動くようにしました。

    頂点シェーダー2.0が使える環境では2.0で、1.1しか使えない環境では1.1で、
    頂点シェーダーが無い環境では、ソフトウェアで実行します。

    ただし、制限が付きます。
      ライト
        頂点シェーダー2.0では、平行光源とポイントライトで合計3個までライトを有効に出来ますが、
        頂点シェーダー1.1では、平行光源を1個しか有効に出来ません。

      ボーン数
        頂点シェーダー2.0では、1つのパーツに影響するボーンの総数が44個を超えると、オーバーヘッドが生じますが、
        頂点シェーダ1.1では、14個を超えるとオーバーヘッドが生じます。


ver3.0.0.8(2007/04/27)

    moaファイル読み込み時のモーション遷移(E3DSetNewPoseByMOA)を修正。
      補間モーション中にモーション遷移が起こった場合の処理を修正。
      より、なめらかになりました。


ver3.0.0.9(2007/05/01)
    デバッグ
      E3DAddMPが、MPI_SCALEDIVを考慮していなかったのを修正。
      E3DSetMPInfoで、スケールを指定しなかったときの処理にバグがあったのを修正。
      マニュアルの誤字をいくつか修正。


ver3.0.1.0(2007/05/04)
    トゥーン表示(COL_TOON1)に輪郭線を加えました。
      マテリアルごとに、輪郭線のオンオフ、色、太さを設定できます。
      押し出し反転法で、2パスで描画します。

    RokDeBone2 ver3.0.0.8で設定した輪郭データの入ったsigファイルを表示することにより、輪郭線機能が有効になります。


ver3.0.1.1(2007/05/05)
    デバッグ
      E3DDestroySpriteのバグを修正。
        同じファイル名でE3DCreateSpriteを複数回呼び出し、1回だけE3DDestroySpriteを呼び出したときに、
        同名の全てのスプライトが削除されてしまうバグ。

    トゥーン輪郭線操作関数の追加
      E3DEnableToonEdge  輪郭線のオンオフをします。
      E3DSetToonEdge0Color  輪郭線の色をセットします。
      E3DSetToonEdge0Width  輪郭線の幅をセットします。
      E3DGetToonEdge0Color  輪郭線の色を取得します。
      E3DGetToonEdge0Width  輪郭線の幅を取得します。


ver3.0.1.2(2007/05/06)
    デバッグ
      テクスチャを貼ったパーツを半透明に出来なくなっていたバグを修正。


ver3.0.1.3(2007/05/07)
    デバッグ
      im2ファイルの読み込みが、画面に反映されないバグを修正。
      E3DSetScaleのcenterflagが0と1のとき、正しく座標変換されないバグを修正。


ver3.0.1.4(2007/05/08)
    E3DSetRenderStateのD3DRS_LIGHTINGの設定が描画に反映されるようにしました。
      「色P」設定の sig, ビルボードの場合は、頂点のdiffuse色のみをライティング効果なしで適用します。
      「色ト」設定の場合は、暗いところの色を適用します。


ver3.0.1.5(2007/05/10)
    パーティクルのサポートを追加しました。
      E3DCreateParticle maxnum, texname, width, height, blendmode, particleid
      E3DDestroyParticle particleid
      E3DSetParticlePos particleid, posx, posy, posz
      E3DSetParticleGravity particleid, gravity;
      E3DSetParticleLife particleid, life
      E3DSetParticleEmitNum particleid, emitnum
      E3DSetParticleVel0 particleid, minvelx, minvely, minvelz, maxveclx, maxvely, maxvelz
      E3DSetParticleRotation particleid, rotation
      E3DSetParticleDiffuse particleid, r, g, b
      E3DRenderParticle particleid, fps, scid

      サンプル e3dhsp3_particle.hsp を追加。


ver3.0.1.6(2007/05/11)

    デバッグ
      パーティクルの最小速度と最大速度の差が大きいときに、うまく分散して放出されないバグを修正。
        差が30000くらいまで大丈夫です。

    パーティクル関数の追加
      E3DSetParticleAlpha
      E3DSetParticleUVTile の追加。
      パーティクルが放出されてからの経過時間範囲ごとに、透明度とUVを設定できます。

    サンプル e3dhsp3_particle2.hsp を追加。


ver3.0.1.7(2007/05/14)

    E3DSetAlpha, E3DSetAlpha2, E3DSetParticleAlphaの高速化。
      ビデオメモリへのアクセスがほとんどなくなりました。
      負荷は気にしなくていい程度になりました。
    
    E3DSetParticleUVTileの高速化。
      tilenoの変更が生じない場合は、処理をスキップするようにしました。

    地面に対するE3DSetPosの高速化。
      当たり判定の座標系を変更することにより、データ更新が最小限で済むようになりました。
      負荷は気にしないでいい程度になりました。

    地面の当たり判定の修正
      内部での判定時の座標系を変更しました。


ver3.0.1.8(2007/05/16)

    デバッグ
      ビルボードに対するE3DSetScale呼び出しで、centerflagを1にしたときの動作が間違っていたのを修正。

    E3DRenderParticleのfps引数にマイナスの値を指定した場合は、
    パーティクルを静止したまま描画するように修正。

    E3DInitParticleを追加。
      パーティクルの発生状態を初期状態に戻します。

    マニュアルの誤記修正
      当たり判定の引数説明で、adjustx, adjusty, adjustzとあるべきとろころが、3つともadjustxになっていた部分を修正。
      E3DChkConflictはver3.0.0.1から視野外でも機能するのに、機能しないと書いてあったのを修正。


ver3.0.1.9(2007/05/29)

    デバッグ
      トゥーン設定したモデルデータを表示すると、E3DCreateBGで作成した背景が真っ白になるバグを修正。


ver3.0.2.0(2007/06/24)

    モーションアクセラレータのバージョンアップ
      共通分岐機能の追加。
      補間なしで分岐するオプションを追加。
      イベント番号0でアイドリングに戻すオプションを追加。
      ファイルフォーマットをver2.0にバージョンアップ。
      詳しくは、モーションアクセラレータのページをご覧ください。

    関数の追加
      E3DPickFace2 (E3DPickFaceに判定パーツを指定できるようにしました)
      E3DChkConfWall3 (E3DChkConfWallに判定パーツを指定できるようにしました。)
      E3DGetMotionIDByName (モーション名からモーションIDを取得できます)
      E3DGetMotionNum (読み込んでいるモーションの数を取得します。)
      E3DDot2 (正規化をしない内積計算です)


ver3.0.2.1(2007/07/02)

    デバッグ
      E3DLookAtQが現在向いている向きの正反対の向きを、向きたい向きとして指定されると、機能しないバグを修正。

    あたり判定が、E3DSetScaleの結果を考慮するようにしました。
      E3DSetScaleの後のE3DChkInViewでスケールがあたり判定データに反映されます。

    !!注意!!
      Easy3Dのプラグインを使用すると、HSP3.1の実数計算の精度が32ビットに落ちます。
      (direct3Dの初期化時に、FPUの精度が単精度に設定されるため)



ver3.0.2.2(2007/07/03)

    デバッグ
      ボーンのないsig読み込み時のあたり判定がE3DSetScaleを考慮していなかったバグを修正。
      centerflagに0を指定したE3DSetScaleが、E3DSetPosと併用すると不安定になるバグを修正。


ver3.0.2.3(2007/07/10)

    パーティクルとモデルデータのあたり判定関数の追加
      E3DChkConfParticle

ver3.0.2.4(2007/07/24)
    デバッグ
      トゥーンの輪郭線の1つを非表示設定にすると、表示設定の輪郭線の座標が乱れるバグを修正しました。

    BMP出力、AVI出力をスワップチェインに対応させました。
      E3DWriteDisplay2BMP
      E3DCreateAVIFile
      E3DWriteData2AVIFile
      E3DCompleteAIVFile
      にscid引数を追加。
      scid引数を省略した場合は、E3DInitで取得されるscidに対して処理を行います。


ver3.0.2.5(2007/07/25)

    E3DSaveGNDFileのサポートを終了しました。

    地面の高速読み込みは、新しい関数
      E3DLoadSigFileAsGround
      E3DLoadSigFileAsGroundFromBuf
    をお使いください(ver3.0.2.5で追加しました)。

    アニメーションする地面のサポートは、もう少し先の話になります。

    E3DLoadSigFileAsGroundは、E3DLoadMQOFileAsGroundより何倍も高速ですので、
    ゲーム中では、RokDeBone2でmqoをsigに変換したものをE3DLoadSigFileAsGroundで読み込むことを推奨します。


ver3.0.2.6(2007/07/26)

    マトリックス計算の高速化をしました。
      E3DFillUpMotion, E3DAddMotionが30%高速化しました。
      高速化というか、今までが遅すぎたみたい(汗)

    デバッグ
      E3DFillUpMotionでstartframeとendframeを同じに設定した場合、モーション全体を補間計算してしまっていたバグを修正しました。

ver3.0.2.7(2007/08/07)

    デバッグ
      E3DSetSoundVolumeが、リバーブの残響音に対して効いていなかったのを修正。

    ステレオサウンドで、リバーブ有りと無しを選択できるようにしました。
      E3DInitに引数を追加しました。
      デフォルトでリバーブ有りの設定です。

    E3DGetCenterPosの追加
      パーツの中心のグローバル座標を取得できます。
      中心座標はE3DChkInViewで計算されます。

ver3.0.2.8(2007/08/14)

    プロジェクション行列を修正しました。

    dbg.txtがメモ帳で読みやすいように、改行を\r\nにしました。

    モーションアクセラレータの説明を修正しました。
      1つのモーションには、1こだけイベント番号を指定すること(2の乗数の値を使うこと)を推奨するように修正しました。

ver3.0.2.9(2007/08/22)

    デバッグ
      mqoを地面として読み込み、E3DSaveSigFileで保存したときに、不正なsigファイルが出来るバグを修正。
        地面としてではなく、RokDeBone2でmqo読み込みしRokDeBone2でsig保存したものは、過去のものも正常です。
        引き続きE3DLoadSigFileAsGroundで地面として使用出来ます。

        E3DLoadMqoFileAsGroundやE3DImportMQOFileAsGroundで読み込みE3DSaveSigFileしたものは不正データで
        救済できません。破棄して、ver3.0.2.9以降のEasy3Dで保存しなおしてください。

      E3DLoadSigFileAsGroundが一部のデータタイプに対応できていなかったのを修正。


ver3.0.3.0(2007/08/29)

    モーションアクセラレータのイベント番号の増量に対応。
      30個まで

    モーションアクセラレータのイベント番号に使用する大きな2の乗数を覚えるのが大変なので、
    e3dhsp3.asに、POW2Xという配列を定義しました。
    例えば、2の15乗の値は、POW2X( 15 ) でアクセス出来ます。

    E3DSaveMQOFileで両面オブジェクトも出力できるようになりました。

    E3DGetFaceNum追加
      表示オブジェクトの面の数を取得

    E3DGetFaceNormal追加
      面の法線を取得

    E3DGetReferenceTime追加
      ステレオサウンドの再生時間を取得
      E3DGetMidiMusicTimeは、MIDIの時間しか取得できませんでしたが、この関数はwavの時間も取得できます。
      3Dサウンドには使えません。
      E3DGetMidiMusicTimeが四分音符あたり768の値なのに対し、この関数の時間は1秒あたり約10,000,000の値です。


ver3.0.3.1(2007/08/30)

    E3DCreateParticleにtransparentflag引数を追加
      pngファイルなどのアルファ情報の入った画像ファイルが、パーティクルに使えるようになりました。

    マニュアルの修正
      E3DGetReferenceTimeの説明文で、「読み込み直後のリファレンスタイムを取得しておいて」という部分は間違いで、
      正しくは、「再生直後のリファレンスタイムを取得しておいて」でした。


ver3.0.3.2(2007/09/03)

    E3DChkConfGround, E3DPickFace, E3DPickVertがE3DSetScaleの結果を反映するようにしました。


ver3.0.3.3(2007/09/06)
  
    デバッグ
      E3DLoadSoundで3Dサウンドを指定し、bufnumに2以上の値を指定した場合でも、
      パラメータによっては、重ねて音が再生されないことがあるバグを修正しました。

      ただし、ループ設定の3Dサウンドは、同じ音を重ねて再生できなくなりました。


ver3.0.3.4(2007/09/17)

    デバッグ
      モーションアクセラレータ再生で、補間モーション終了後の1フレーム分、フレーム番号だけ進み、ポーズが更新されないバグを修正。

      E3DSetDiffuse, E3DSetAmbient, E3DSetSpecular, E3DSetEmissive, E3DSetSpecularPower
      のsetflagが機能していなかったバグを修正。

      E3DCreateTextureで作ったテクスチャを貼ったモデルをE3DSaveMQOFileすると、
      テクスチャ名がフルパスになった上に、拡張子の後ろに_TEXIDという文字が入る不具合を修正。

      E3DByeの後にE3DInitを呼び出した場合、フォグとプロジェクションのパラメータが初期化されていないバグを修正。

   
    E3DChkInViewを呼び出した直後のstatシステム変数で、モデルーデータが視野内にあるかどうかを取得できるようにしました。
      statが0のときは、1つも視野内にパーツがなく、statが1のときは、少なくとも1つは視野内にパーツがあることを示します。

    E3DGetBonePosのposkindの種類を増やしました。
      poskindに2を指定すると、ローカル座標(ボーン変形あり)の座標が取得できます。


ver3.0.3.4マイナーバージョンアップ(2007/09/18)
    
    マニュアルを微調整して、こっそり同じバージョンでアップしなおしました。
      E3DCreateTexture, E3DRasterScrollTexture, E3DChkInView, E3DSetSpecularPower, E3DGetBBoxの説明を修正。


ver3.0.3.4マイナーバージョンアップ(2007/10/15)

    瀬戸晴生さんhttp://ctime.cool.ne.jp/haruo/が作ってくださった新しいヘルププログラム「Easy3DFunctions.exe」を
    「マニュアル」フォルダに入れました。
    (旧ヘルププログラムは削除しました。)


ver3.0.3.4マイナーバージョンアップ(2007/11/04)

    瀬戸晴生さんhttp://ctime.cool.ne.jp/haruo/が作ってくださった新しいヘルププログラム「Easy3DFunctions.exe」が
    バージョンアップしました。
    「マニュアル」フォルダに入っています。


ver3.0.3.5(2007/11/09)

    デバッグ
      ボーンの入ったsigを読み込み、モーションを読み込まない状態でE3DGetFaceNormalを呼ぶとエラー終了するバグを修正。


ver3.0.3.6(2008/01/07)

    関数表を修正。

    E3DCreateEmptyMotion命令を追加。

    デバッグ
      E3DLookAtQが、ある条件下で不正な値をクォータニオンに書き込むことがあるバグを修正。

      アンチエイリアスを有効にした状態で、E3DCreateSwapChainを呼び出すとエラー終了するバグを修正。


ver3.0.3.7(2008/01/12)

    E3DSetTextureMinMagFilter命令を追加。
      テクスチャーを拡大縮小表示する際のフィルターを指定できます。
      3Dモデル、背景、スプライト、ビルボードに指定できます。
      例えば、テクスチャがぼやけるのが嫌な場合は、D3DTEXF_POINTフィルターを指定します。

ver4.0.0.1(2008/04/02)
    RokDeBone2 ver4.0.0.1のデータに対応。

    マテリアル関係の命令を追加
       E3DGetMaterialNoByName
       E3DGetMaterialAlpha
       E3DGetMaterialDiffuse
       E3DGetMaterialSpecular
       E3DGetMaterialAmbient
       E3DGetMaterialEmissive
       E3DGetMaterialPower
       E3DGetMaterialBlendingMode

       E3DSetMaterialAlpha
       E3DSetMaterialDiffuse
       E3DSetMaterialSpecular
       E3DSetMaterialAmbient
       E3DSetMaterialEmissive
       E3DSetMaterialPower
       E3DSetMaterialBlendingMode

       E3DGetTextureFromMaterial
       E3DSetTextureToMaterial

    マテリアル方式の導入につき、古い命令を修正
      E3DSetAlpha, E3DSetAlpha2, E3DSetBlendingMode, E3DGetTextureFromDispObj, E3DSetTextureToDispObjの修正。
      これらの命令は、パーツの先頭の面が参照しているマテリアルに対して操作を行うように修正しました。
     
    ビルボードはマテリアル方式ではありません。
      ビルボードに対する操作はいままでの古い命令を使ってください。

    E3DCreateParticleに引数追加
      8番目の引数に1を指定すると、Zバッファの内容にかかわらず、常に描画されるようになります。

    E3DDestroyAllMotionが機能していなかったのを修正。
 
    パーティクルがfpsに-1を指定したときにもカメラの向きを向くように修正。

    E3DGetMaxMultiSampleNumがエラーになることがあるバグを修正。

    e3dhsp3_fight.hspサンプルがact1の後に動きが固まるバグを修正。(サンプルの修正)


ver4.0.0.2(2008/04/03)
    デバッグ
      E3DSetTextureToMaterialで透過モードの異なるテクスチャを貼ると表示されなくなることがあるバグを修正。

      1つのパーツの中で複数のテクスチャの貼り方(UV指定とZ軸投影など)を組み合わせたモデルの
      表示がおかしくなることがあるバグを修正。


ver4.0.0.3(2008/04/04)
    不透明オブジェクト描画時にもアルファテストをするように変更しました。
      中間のアルファは出せませんが、色抜きに使用できます。
      pngなどのファイルで色を抜きたいところをアルファ0にすれば、半透明設定をしないでもその部分が透過されます。


ver4.0.0.4(2008/04/07)
    少し最適化しました。
      (自分の環境では)ver4.0.0.1以降、10%近く描画が遅くなっていましたが、
      今回の修正でver3.0.3.7とほぼ同じ速さで描画できるようになりました。


ver4.0.0.5(2008/04/07 その2)
    デバッグ
      ラインを描画した後にテキストを描画するとテキストが矩形に塗りつぶされてしまうバグを修正。


ver4.0.0.6(2008/04/15)
    マルチレイヤーモーションを実装しました。
      ボーンごとに異なるモーションを自由なタイミングで再生できます。
      
      moa非対応版
        E3DSetMotionKindML
        E3DSetMotionFrameNoML
        E3DSetNextMotionFrameNoML
      moa対応版
        E3DSetMOAEventNoML
      共通
        E3DSetNewPoseML
        E3DGetMotionFrameNoML
        E3DGetNextMotionFrameNoML

      マルチレイヤーモーションのサンプルを追加しました。
        e3dhsp3_MultiLayerMotion.hsp
        e3dhsp3_MultiLayerMotion_MOA.hsp

    マテリアル番号取得命令追加
      E3DGetMaterialNo

    デバッグ
      ビルボードをアッドモードで描画したのち、スプライトを描画すると、
      その後のsigモデルの半透明部分がアッドモードで描画されてしまうバグを修正。
        修正しましたが、スプライトの描画は一番最後にしないと、直したバージョンでも不具合が出ますので注意してください。
  

ver4.0.0.7(2008/04/16)
    デバッグ
      ver4.0.0.1以降のRokDeBone2でmikoto形式から作ったsigファイルを読み込もうとするとエラーになるバグを修正。

ver4.0.0.8(2008/05/06)

    バンプマップに対応しました。
      設定方法はRokDeBone2の説明をお読みください。

    E3DGetCurrentBonePos、E3DGetCurrentBoneQの追加。
      マルチレイヤーモーションを使用する場合は、E3DSetNewPoseMLを呼ぶまで、各ボーンの位置と姿勢は確定しません。
      そのため、E3DGetBonePos, E3DGetBoneQは使えなくなります。
      マルチレイヤーモーションを使用する場合は、このE3DGetCurrentBonePos, E3DGetCurrentBoneQをお使いください。

    E3DRenderParticleに引数を追加
      onlyupdate引数を追加しました。
      これに1を指定すると、パーティクルの状態アップデートだけを行い、描画を行いません。
      この引数を省略した場合は、従来通り描画も行われます。


ver4.0.0.9(2008/05/07)

    バンプマップのテクスチャのアドレッシングモードを変更。

ver4.0.1.0(2008/05/08)
    バンプマップの表示方法を変更しました。
      デコボコ表示とテクスチャ表示を2パスでアルファブレンドする方法にしました。
      ver4.0.0.9のバンプで黒いポリゴンが表示されていた方は直っていると思います。


ver4.0.1.1(2008/05/09)
    バンプマップ処理の変更。
      また1パスに戻しました。
      頂点シェーダーにミスが見つかったので直しました。


ver4.0.1.2(2008/05/10)
    デバッグ
      バンプマップの表示が乱れるバグを修正しました。


ver4.0.1.3(2008/05/10 その2)
    デバッグ
      バンプのdiffuseの影の付き方が逆になっていたバグを修正しました。


ver4.0.1.4(2008/05/13)
    命令の追加。
      E3DChkBumpMapEnable flag
        ハードウェアがバンプマップ表示可能かを調べます。
      E3DEnableBumpMap flag
        バンプマップを表示するかどうかを設定します。
      E3DConvHeight2NormalMap hmapname, nmapname, hparam
        白黒の高さ画像データを法線マップデータに変換します。
      E3DSetBumpMapToMaterial hsid, matno, texid
        E3DCreateTextureで作成したテクスチャをバンプマップに設定します。


ver4.0.1.5(2008/05/21)

    デバッグ
      マルチレイヤーモーションの各命令で、listの先頭要素しか有効になっていなかったバグを修正しました。

    マルチレイヤーモーションの補間計算の無駄を省いて少し高速化しました。


ver4.0.1.6(2008/05/22)

    モーション読み込み命令に、移動成分の倍率引数を追加。
      E3DAddMotion
      E3DAddMotionFromBuf
      E3DLoadMOAFile
      に引数を追加。


ver4.0.1.7(2008/05/25)
    ver4.0.1.7のRokDeBone2のファイルに対応しました。


ver4.0.1.8(2008/05/26)
    デバッグ
      オブジェクトの最後のポリゴンにだけ別の材質が設定されている場合に読み込みエラーになるバグを修正。

    地面データとしてmikoto形式データを読み込めるようにしました。
      E3DLoadMQOFileAsGroundにbonetype引数を追加。
      (ボーン変形した地面とのあたり判定命令は、まだサポートしていません。)


ver4.0.1.9(2008/06/02)
    RokDeBone2 ver4.0.1.9の新しいquaファイルに対応。


(2008/06/12)
    マニュアルにTips : マルチレイヤーモーションとは?を追加しました。


ver4.0.2.0(2008/06/17)
    デバッグ
      モデルデータによっては、アルファテストがうまく行われないことがあるバグを修正。


ver4.0.2.1(2008/06/27)
    デバッグ
      E3DGetSamePosVertのsamenumに値が代入されていなかったバグを修正しました。


ver4.0.2.2(2008/07/12)

    デバッグ
      E3DSetMOAEventNoMLを複数回呼び出すと、呼び出すたびにフレーム番号が1ずつずれるバグを修正しました。


ver4.0.2.3(2008/07/20)
    キーフレームによるテクスチャアニメ再生機能を追加しました。
      RokDeBone2 ver4.0.2.6のquaファイルに対応。


ver4.0.2.4(2008/07/23)
    MOAの情報取得と設定用の命令を追加。
      E3DGetMOATrunkInfo
      E3DGetMOABranchInfo
      E3DSetMOABranchFrame1
      E3DSetMOABranchFrame2

      モーション変化する際の分岐元フレーム番号と分岐先フレーム番号をHSP側から動的に設定できるようになりました。


ver5.0.0.1(2008/08/31)
    ver5.0.0.1での変更点をご覧ください。

    RokDeBone2 ver5.0.0.1 の各ファイルに対応。

    命令の追加
      ディスプレイスイッチの設定
        E3DSetDispSwitch2
      オイラー角の取得
        E3DQtoEuler
      色P時にも輪郭表示を可能にしました。
        E3DEnablePhongEdge
        E3DSetPhongEdge0Params


ver5.0.0.2(2008/09/10)

    デバッグ
      VistaでEasy3Dを使ったソフトを実行中に他のソフトをアクティブにすると、Easy3Dのソフトが応答なしになるバグを修正。
        E3DWaitByFPSを修正しました。


ver5.0.0.3(2008/09/14)

    E3DSetPhongEdge0Paramsの拡張
      色P時の輪郭線を半透明で表示できるようになりました。
      半透明モードは4種類から選びます。


ver5.0.0.4(2008/09/15)

    デバッグ
      E3DDestroyHandlerSetを呼ぶと、必要な(使用中の)テクスチャまでが削除されてしまうことがあるバグを修正。
        テクスチャの破棄処理がver4以降のマテリアル構造に対応していなかったのが原因でした。

    E3DGetVertPosの拡張
      頂点のグローバル座標が取得できるようになりました。


ver5.0.0.5(2008/09/15 その2)

    デバッグ
      E3DDestroyHandlerSetを呼ぶと必要なバンプマップテクスチャが削除されてしまうことがあるバグを修正。


ver5.0.0.6(2008/09/18)

    E3DGetDispSwitch2を追加。
      新しいディスプレイスイッチに対応。
      古いE3DGetDispSwitchは機能しません。


ver5.0.0.7(2008/09/23)

    スレッド系命令の整備
      テクスチャのディレクトリ
        今まではスレッド命令で参照するテクスチャはすべて1か所にないと読み込めませんでしたが
        これからはsig, mqoごとに異なるディレクトリにデータが入っていてもテクスチャが読み込めるようになりました。

      呼び出し回数制限緩和
        今までは総呼び出し回数が4098回という制限がありましたが
        これからはE3DFreeThreadという命令を実行が終わったスレッドに対して呼び出すことで
        実質的に何回でも呼び出せるようになります。
        ただし一度にアクティブにできるスレッド命令の数は4098個のままです。
        E3DFreeThread命令でデータ領域の使い回しが可能になり、またスレッドリソースの解放を行えるようになりました。

      新命令追加
        E3DFreeThread
        E3DLoadSigFileAsGroundThread
        E3DLoadSigFileAsGroundFromBufThread


ver5.0.0.8(2008/10/02)

    最適化しました
      シェーダーの定数周りの処理を最適化しました。
      少し高速化出来ました。

    バンプマップに点光源を適用できるようにしました。
      E3DSetLightIdOfBumpMap でバンプマップを照光するライトを1つだけ選択できるようにしました。
      (シェーダー2.0があるマシンでは、色P時(バンプ以外)には3つまでライトを適用できます。)
   
    スプライトのUVを設定できるようにしました。
      1枚の画像でもUVを変えることでさまざまな模様を表示できるようになります。
      E3DSetSpriteUV命令で設定します。
     
    スプライトUVのサンプルを追加しました。
      e3dhsp3_SpriteUV.hspを新規作成しました。


(2008/10/03)

    e3dhsp3_SpriteUV.hspの修正。
      スプライト描画時のscalex, scaleyを実数にしました。


ver5.0.0.9(2008/10/18)

    テクスチャへのレンダリングに対応しました。
      テクスチャへのレンダリングはE3DCreateRenderTargetTextureで作成したテクスチャでのみ可能です。
      E3DCreateRenderTargetTextureが成功するとスワップチェインIDとテクスチャIDが取得できます。
      スワップチェインIDで描画を行い、テクスチャIDでマテリアルへの貼り付けを行います。
      (内部データの種類的には厳密にはスワップチェインではないのですが、
       Easy3Dの既存の機能を流用するためにスワップチェインの一種として分類しました。)

      車のバックミラーや疑似的なTV画面などに使えると思います。
      
      命令の追加
        E3DCreateRenderTargetTexture
        E3DDestroyRenderTargetTexture

      鏡面として応用したサンプル e3dhsp3_RenderTargetTexture.hsp を作りました。


ver5.0.1.0(2008/10/28)

    デバッグ
      MOAの補間がディスプレイスイッチアニメを考慮していなかったのを修正しました。
        補間モーションの最初のフレームに、変化前のモーションのスイッチの状態がセットされるようにしました。


ver5.0.1.1(2008/10/31)

    デバッグ
      補間モーション再生中にまた新たな補間モーションに変化する場合に、
      ディスプレイスイッチの情報がうまく引き継げないバグを修正しました。


ver5.0.1.2(2008/10/31 その2)

    E3DSetDSFillUpMode命令の追加。
      補間時に補間前のモーションのスイッチ状態を表示するか
      もしくは補間後のモーションのスイッチ状態を表示するかを選びます。

    キーフレームが1つもないスイッチアニメの補間時にモーションがおかしくなる不具合を修正。


ver5.0.1.3(2008/11/01)

    MOAのモーションの補間時にテクスチャアニメも考慮するようにしました。

    E3DSetTexFillUpMode命令の追加。
      補間時に補間前のモーションのテクスチャを表示するか
      もしくは補間後のモーションのテクスチャを表示するかを選びます。


ver5.0.1.4(2008/11/02)

    E3DCameraDirRight, E3DCameraDirLeftの修正。
      左右にカメラを振っていると突然全く動かなくなることがあるのを修正。
      たぶん直ったと思いますが、まだ不具合が出るようでしたら連絡ください。


ver5.0.1.5(2008/11/05)

    デバッグ
      E3DSetLightIdOfBumpMapが正常に動作していなかったのを修正。


ver5.0.1.6(2008/11/16)

    影表示機能の追加。
      深度バッファ法で影の描画が出来るようになりました。
      新命令
        E3DSetShadowMapCamera
        E3DSetShadowMapProjOrtho
        E3DRenderWithShadow
        E3DSetShadowBias
        E3DCheckRTFormat
        E3DChkShadowEnable
        E3DEnableShadow

      影表示のサンプルの追加
        e3dhsp3_shadow.hsp

    E3DCreateRenderTargetTextureに引数追加。
      フォーマットを指定できるようにしました。

    マニュアルに影付きレンダリングの仕方を追加。


ver5.0.1.7(2008/11/19)

    ビデオカードによってはビルボードの影が四角くなってしまうのを修正。
      e3dhsp3_shadow.hspのD3DFMT_R32FをD3DFMT_A16B16G16R16Fに変更しました。
      影付きレンダリングの仕方に追記しました。

    影の暗さを設定できるようにしました。
      E3DSetShadowDarkness

    E3DRenderWithShadowにskipflag引数を追加しました。
      画面バッファのクリアと背景の描画をスキップできます。

    hsidをまとめて描画できる命令を追加しました(影なし)
      E3DRenderBatch
      20体のキャラクターでテストしたところ10%程度高速化しました。

    頂点座標をまとめてセットできる命令を追加しました。
      E3DSetVertPosBatch


ver5.0.1.9(2008/11/22)

    デバッグ
      シャドウマップ描画時の視野内判定のプロジェクション行列が間違っていたのを修正しました。
      シャドウマップの視野内に入っているのに影が落ちない不具合が直りました。


ver5.0.2.0(2008/11/24)

   影の表示にLiSPSMを導入しました。
     影用のカメラの位置やプロジェクションをユーザーさんが設定しなくても自動的に適切なシャドウマップが作成されます。
     地面以外の視野内オブジェクトが必ずシャドウマップに含まれるように自動的に設定されます。(パーツ数合計1000個まで)

     影のサンプルを新しくしました(e3dhsp3_shadow2.hsp)

     新命令追加
       E3DSetShadowMapLightDir

     以下の命令は無効になりました(何もしないでリターンします)
       E3DSetShadowMapCamera
       E3DSetShadowMapProjOrtho

     影付きレンダリングの仕方を書き直しました。


ver5.0.2.1(2008/11/28)

    hsidの個数に制限を設けました。
      同時にアクティブにできるhsidの個数は1000個までです。
      内部オブジェクトの検索が速くなりました。
        1000個のsigを表示したときのFPS 変更前24FPS-->変更後39FPS
        100個くらいだとあまり効果がありません。

    E3DRenderBatchModeの追加。
      不透明のみ描画するか半透明のみ描画するか両方描画するかをhsidごとに指定できます。
      1000個のsigで計測時、10%ほど高速化。

    E3DGlobalToLocal, E3DLocalToGlobalの追加。
      グローバル座標系とキャラクターのローカル座標系の座標値を変換する命令です。
      動く乗物に乗ったり降りたりするときに便利です。


ver5.0.2.2(2008/11/29)

    デバッグ
      Lineが表示されないバグを修正。

    E3DSetVertPosBatchAOrderを追加。
      2次元配列の順番を変えたバージョンです。
      
    E3DSetShadowMapModeを追加。
      モード1を指定するとver5.0.2.0以前の手動によるシャドウマップの作成が出来ます。
      モード0はLiSPSMの自動設定です。

    3Dサウンドのサンプルから周波数設定部分を取り除きました。
      リバーブ有効時はエラーになるため。


ver5.0.2.3(2008/11/30)

    デバッグ
      カメラ命令の呼び方によってはバンプモデルがキー入力やマウス移動に合わせてちらつくバグを修正。


ver5.0.2.4(2008/12/01)

    デバッグ
      一度でも描画を行うと、その後のデータロードが待機状態になり終了しなくなるバグを修正。
        同期オブジェクト(クリティカルセクション)の解放し忘れが原因でした。
        ver5.0.2.1からのバグです。


ver5.0.2.5(2008/12/02)

    命令の追加
      E3DLoadTextureFromBuf
        作成済みのテクスチャにバッファから画像を読み込む。

      E3DLoadSpriteFromBMSCR
        作成済みのスプライトにHSPバッファから画像を読み込む。
      
      両方とも既存のテクスチャやスプライトに対する処理なので
      頻繁に内容を更新したいときに作成と破棄の必要がなく
      メモリ周りの心配も軽減されます。


ver5.0.2.6(2008/12/10)

    トゥーンでも影表示できるように拡張しました。
      COL_TOON1, COL_TOON0の両方に対応しました。
 
    デバッグ
      E3DDestroyHandlerSetでテクスチャが破棄されなくなっていたバグを修正。
        ver5.0.2.1からのバグでした。


ver5.0.2.7(2008/12/17)

    E3DSetShadowMapInterFlagを追加。
      パーツをシャドウマップに含めるかどうかを制御するフラグを設定出来ます。

    デバッグ
      E3DLoadSpriteFromBMSCRでtransparentが2のときの透過色指定が有効になっていなかったのを修正。

    マニュアル追記
      E3DLoadTextureFromBufはテクスチャ作成命令で指定したのと同じtransparentを指定しないとエラーになること、
      E3DLoadSpriteFromBMSCRはE3DCreateSpriteFromBMSCRで指定したのと同じtransparentを指定しないとエラーになること
      を追記しました。


ver5.0.2.8(2008/12/29)

    RokDeBone2 ver5.0.2.9の新しいsigファイルに対応。


ver5.0.2.9(2009/01/07)

    RokDeBone2 ver5.0.3.0のアルファテストに対応したsigファイルに対応。

    E3DSetMaterialAlphaTest追加。
      マテリアルごとに不透明描画時と半透明描画時のアルファテストを設定できます。

    E3DGetScreenPos, E3DGetScreenPos3, E3DGetBBoxがビルボードで機能していなかったのを修正。

    E3DTransformBillboardを追加。E3DRenderBillboardにtransskip引数を追加。
       デフォルト状態のE3DRenderBillboardでは描画準備の計算と描画の処理がいっぺんに行われていました。
      そのためあたり判定は描画の後にしなくてはならず、実際の描画と判定が1フレームずれるという問題がありました。

      この問題を解決するためにE3DTransformBillboardを追加しました。
      この命令は視野内判定と位置計算とソートを行います。
      この命令を呼び出したあとビルボードの位置などに変更がない場合は、E3DRenderBillboardのtransskip引数に1を設定します。
      そうすることで2度同じ描画準備の計算を行うことを防ぎます。

      つまり、E3DTransformBilboard ---> あたり判定 ---> E3DRenderBillboard (transskip = 1) のようにして使います。


ver5.0.3.0(2009/01/11)

    hsidに対する回転、移動の命令をパーティクルにも使用できるようにしました。
      hsidの代わりにパーティクルIDを命令に渡します。
      例えばE3DSetPos ptlid, posx, posy, poszとするとパーティクル全体が(posx, posy, posz)だけ移動します。


ver5.0.3.1(2009/01/23)

    E3DRenderBatch使用時にライン表示がカメラなどのパラメータを反映していなかったバグを修正。


ver5.0.3.2(2009/01/29)
   
   E3DSaveMQOFileでテクスチャ名からパスを取り除く処理をやめました。
     sig, mqoに記述されているのと同じ文字列を出力します。


ver5.0.3.3(2009/03/03)
    デバッグ
      E3DIKTranslateの内部の座標系が一部間違っており、繰り返し呼び出すと正しく動作しないバグを修正。


ver5.0.3.3(2009/03/15)
    サンプルの追加。
    e3dhsp3_fight_MOA.hspを追加しました。
      MOAを使った格ゲーサンプルです。
      モデルデータはISAOさんのpooちゃん。
    dllはそのまま。バージョン番号もver5.0.3.3のまま。

ver5.0.3.4(2009/03/20)
    E3DCalcMLMotion命令の追加。
      マルチレイヤーモーション用の命令。
      ローカルの姿勢から親子関係を反映した姿勢を計算します。
      この命令はE3DSetNewPoseML内部からも呼ばれています。
      E3DSetNewPoseMLより後でE3DSetBoneQした場合などに、この命令を呼んでください。

ver5.0.3.5(2009/03/28)
    RokDeBone2 ver5.0.3.3のsigファイルに対応。


ver5.0.3.6(2009/03/29)
    デバッグ
      E3DRenderBatchModeのhsidarrayにパーティクルのIDを指定した際
      パーティクルより後の半透明オブジェクトが不透明で描画されてしまうバグを修正。

      関数表のE3DRenderBatchModeの項に追記。


ver5.0.3.7(2009/04/01)
    影響度の設定関数を追加。
      E3DCreateSkinMat 影響度の設定を表示データに反映させる。
      E3DSetSymInfElem 軸対称の影響度を頂点にセットする。
      E3DUpdateSymInfElem 軸対称設定の頂点の影響度を最新に更新する。

    E3DSetInfElem, E3DDeleteInfElem, E3DNormalizeInfElemのマニュアルに追記。
      E3DCreateSkinMatを呼ばないと表示に反映されないことを追記。


ver5.0.3.8(2009/04/12)
    デバイスロスト時の処理を修正しました。
 
    E3DSaveQuaFileとE3DSaveQua2Buf命令に引数を追加。
      quatype引数で、番号基準のフォーマットか名前基準のフォーマットかを指定するようになりました。

    RokDeBone2 ver5.0.3.4のquaファイルに対応。


ver5.0.3.8(2009/04/13 その2)
    マニュアルにSig, Qua, Moaファイルの読み込みがエラーになるときを追加しました。
    プログラムはそのまま。


ver5.0.3.9(2009/04/16)
    デバイスロストの処理を修正。
      ビルボード、スプライト、フォント、D3DPOOL_DEFAULTのテクスチャなどの処理を修正しました。
      これでXP,VistaともCtrl + Alt + Delしても落ちたり固まらなくなりました。


ver5.0.4.0(2009/04/20)
    デバイスロストが起こるとBG(背景)のUV座標が初期化されてしまう不具合を修正しました。
    E3DSetJointInitialPosを追加。


ver5.0.4.1(2009/04/30)
    バンプマップを設定したモデルを照らすライトの数を最大3個までに増やしました。
      2個目、3個目のライトは E3DSetLightID2OfBumpMap, E3DSetLightID3OfBumpMapで設定します。
      ただし影を表示している場合はE3DSetLightIDOfBumpMapで設定したライト1個だけしか有効になりません。


ver5.0.4.2(2009/05/07)
    RokDeBone2の面マテリアルのテクスチャの透過設定で「通常モード」以外を選択するとバンプマップが有効にならないバグを修正。


ver5.0.4.3(2009/05/23)
    RokDeBone2 ver5.0.4.2の新しいsigファイルに対応。

ver5.0.4.4(2009/05/28)
    E3DSetUVをビルボードに対しても呼び出せるように拡張しました。
      ビルボードの処理をしたい場合はhsidに-1を渡し、パーツ番号にビルボードIDを渡します。
      ビルボードの頂点番号は左下が0、左上が1、右下が2、右上が3です。

ver5.0.4.5(2009/05/29)
    E3DSetBillboardUVに引数revuflagを追加しました。
     1を指定するとテクスチャを左右反転させます。0指定はそのままとなります。

ver5.0.4.6(2009/06/11)
    デバッグ
      RokDeBone2でテクスチャを変更して参照されなくなったのにも関わらず、データを作成していたバグを修正。


ver5.0.4.7(2009/06/18)
    キャラクターから見て任意の方向のベクトルを取得する命令を追加。
      E3DGetCharaDir [IN]hsid, [IN]degxz, [IN]degy, [OUT]dirx, [OUT]diry, [OUT]dirz

      degxzにはXZ平面上の角度をdegyには仰ぎ角度を指定します。
      例えばキャラクターの向いている向きを取得したい場合は ( degxz, degy ) = ( 0.0, 0.0 )を指定します。
      キャラクター後ろは(180.0, 0.0), 右は(-90.0, 0.0)左は(90.0, 0.0)上は(0.0, 90)下は(0.0, -90)というように指定します。


ver5.0.4.8(2009/06/30)
    RokDeBone2 ver5050のquaファイルに対応。
      モーションポイントごとの補間方法設定に対応しました。


ver5.0.4.9(2009/07/02)
    モーションアクセラレータのバージョンアップ
      TRUNK(分岐の親)モーションに補間なしフラグを設定できるようにしました。
      共通分岐イベント用です。
      今まではBRANCH(分岐の子供)モーションに1個1個補間なしフラグを設定しなければいけませんでしたが
      親に設定するだけで済むようになり手間が省けます。
      moaファイルのバージョンがver4.0になりました。
        moaファイルのフォーマットについてはモーションアクセラレータとはをご覧ください。


ver5.0.5.0(2009/07/05)
    ブレンドモードの追加。
      RokDeBone2 ver5.0.5.4以降でのモードの設定に対応。
      sigの他、スプライト、ビルボード、パーティクルに対応。
      E3DSetBlendingMode, E3DSetMaterialBlendingModeの拡張。
        モード103で乗算、104で減算、105でスクリーン、106でネガ反転。
      E3DSetRenderStateでD3DRS_BLENDOP, D3DRS_SRCBLEND, D3DRS_DESTBLENDは制御できません。
        ブレンドモードに対応して内部で設定命令を呼びます。


ver5.0.5.1(2009/07/06)
    E3DGetStrSizeByFontIDを追加。
      文字列の描画に必要な幅と高さを取得できます。複数行に対応。


ver5.0.5.2(2009/07/12 その2)
    デバッグ
      E3DChkConfParticleが非表示のパーティクルについても判定を行ってしまっていたバグを修正。


ver5.0.5.3(2009/07/17)
    デバッグ
      E3DDestroyBillboardを呼んでもメモリが解放されないバグを修正。
      ただし他のオブジェクトで同じテクスチャ(かつ同じ透過方法)を参照している場合はメモリは解放されません。


ver5.0.5.4(2009/07/19)
    形状データ読み込み命令のadjustuvflagに2を指定したときは
    UV座標を0から1にクランプして読み込むようにしました。
    この件で以下の命令を拡張。
      E3DImportMQOFileAsGround
      E3DLoadGndFile(HSP)
      E3DLoadGndFileFromBuf(HSP)
      E3DLoadGndFileFromBufThread(HSP)
      E3DLoadGndFileThread(HSP)
      E3DLoadMQOFileAsGround
      E3DLoadMQOFileAsGroundThread
      E3DLoadSigFileAsGround
      E3DLoadSigFileAsGroundFromBuf
      E3DLoadSigFileAsGroundFromBufThread
      E3DLoadSigFileAsGroundThread
      E3DSigImport
      E3DSigImportFromBuf
      E3DSigLoad
      E3DSigLoadFromBuf
      E3DSigLoadFromBufThread
      E3DSigLoadThread


ver5.0.5.5(2009/07/21)
    E3DSetUVの拡張
      UV座標を0.0から1.0の間にクランプすることが出来るフラグを追加しました。
      頂点番号に-1を指定した場合の処理を高速化しました。

    E3DSetUVBatchの追加。
      複数の頂点のUV設定を一括で行うための命令です。
      ビデオバッファのロックとアンロックの回数が最小限のため、複数回E3DSetUVを呼び出すよりも高速です。


ver5.0.5.6(2009/07/30)
    E3DPresentがモニタの垂直同期に合わせて実行されるオプションを追加しました。
      デフォルト状態では垂直同期しません。
      E3DSetPresentInterval命令に1を渡すと垂直同期するようになります。
      E3DSetPresentInterval命令はE3DInitより前に呼び出すことを想定しています。(途中で変えられません。)

    E3DGetScreenPosDouble命令を追加しました。
      今までのE3DGetScreenPos*はscx, scyが整数であったためインジケータ表示などに使うと位置が小さく震えることがありました。
      scx, scy, sczとも実数のバージョンなので誤差が少ないです。


ver5.1.0.0(2009/08/08)
    ピクセルシェーダー2.0以降が働かないビデオカードでは実行できなくなりました。
      これによりEasy3Dが動く環境ではバンプマップや影が必ず使用できることが保証されます。
    頂点番号のインデックスを32ビット化
      2万頂点の制限を撤廃しました。
    高さフォグの実装。
      E3DSetHeightFogParamsを追加。
      e3dhsp3_HeightFog.hspサンプルを追加。
    ビルボードの大きさ変更命令を追加。
      E3DSetBillboardSize
    背景へのテクスチャのセットと取得命令を追加。
      E3DSetTextureToBG
      E3DGetTextureFromBG


ver5.1.0.1(2009/08/10)
    ブレンディングモードを2つ追加しました。
      オーバーレイ風合成と覆い焼き風モードの2つを追加しました。
      E3DSetBlendingMode, E3DSetMaterialBlendingModeを拡張しました。


ver5.1.0.2(2009/08/11)
    ver5.1.0.0から必須だった32ビットインデックスモードをオプションに変更しました。
      E3DInit命令にindex32bit引数を追加しました。
      index32bit引数に1を指定すると32ビットインデックスモードで起動し、0を指定すると16ビットインデックスモードで起動します。
      32ビットインデックスモードでは65535/3ポリゴンまでの制限がなくなります。
      32ビットインデックスモードではビデオカードに能力が無い場合は起動できなくなります。
      多くのネットブックなどでは32ビットインデックスモードは動かないようなので注意してください。


ver5.2.0.0(2009/09/01)
    RokDeBone2 ver5.2.0.0のモーフィングアニメに対応。

    ピクセルシェーダ2.0が無い環境で起動できないとメッセージが出たにも関わらず起動出来てしまうバグを修正。
      エラー終了するようにしました。

    E3DCreateQでクォータニオンを内部で使いまわす場合に姿勢数値の初期化をしていなかったのを修正。


ver5.2.0.1(2009/09/09)
    RokDeBone2 ver5.2.0.2の制限なしのUVアニメに対応。

    モーションアクセラレータのアイドリングモーションを変更できる命令を追加。
      E3DChangeMoaIdlingを追加。


ver5.2.0.2(2009/09/13)
    quaのタイプを名前基準のみにしていましたが、番号基準のファイルを復活させました。
    名前基準のquaでボーン情報の多いファイルをボーンの少ないsigに対して読み込むとエラーになる不具合を修正。


ver5.2.0.3(2009/10/07)
    移動軌跡ボリュームによるモーションブラー効果の実装。
      E3DSetMotionBlur
      E3DSetBeforeBlur
      E3DRenderMotionBlur 命令の追加。

      キャラクターの位置が変化したときに表示されるワールドブラーモードと
      キャラクターの位置またはカメラが変化したときに表示されるカメラブラーモードの2種類を作りました。

      モーションブラーのサンプルe3dhsp3_MotionBlur.hspを追加


ver5.2.0.4(2009/10/08)
    モーションブラー効果の修正。
      ver5.2.0.3のモーションブラーは表示がカクカクとなめらかではなかったので、なめらかに表示できるように修正しました。

      E3DSetMotionBlurにblurtime引数を追加。
      E3DSetBeforeBlurの動作と使い方を変更(毎フレーム呼び出すようにしました)
      E3DInitBeforeBlurの追加。
        (命令の動作や使い方が変わったのでver5.2.0.3をDLしていた方はもう一度命令表を読み直してください。)

      モーションブラーのサンプルe3dhsp3_MotionBlur.hspを修正。


ver5.2.0.5(2009/10/09)
    デバッグ
      モーションブラー効果のデバッグ
        カメラブラーモードでの速度計算の座標系が間違っていました。
        以前のブラーはワールド座標が変化していないオブジェクトのブラーが不完全でした。
        動かない地面にもカメラが動けばブラーが掛かるようになりました。

      モーションブラーのサンプル(HSP版はe3dhsp3_MotionBlur.hsp, C++版はMotionBlurソリューション)を修正。
        E3DSetMotionBlurのblurtime引数の値を調整しました。

ver5.2.0.5(2009/10/09 その3)
    関数表に誤記がありました。
      (誤)E3DSetMotioinBlur ---> (正)E3DSetMotionBlur
      (誤)E3DInitBoforeBlur ---> (正)E3DInitBeforeBlur

    関数表だけ修正してバージョンはそのままでリリースしなおしました。(18:50頃)


ver5.2.0.6(2009/10/10)
    モーションブラーの設定をパーツ単位で行えるようになりました。
      E3DSetMotionBlurPart 命令の追加。


ver5.2.0.7(2009/10/16)
    モーションブラーの不具合の修正。
      モーションブラーを表示している状態で視野外にフレームアウトし再びフレームインしたときに意図しないブラーが表示されるのを修正。
      視野外から視野内にフレームインした瞬間に内部でE3DInitBeforeBlurを呼び出すようにしました。
      ユーザーさんのソースコードを修正する必要はありません。


ver5.2.0.8(2009/10/20)
    ポストエフェクトの追加。
      ぼかし処理を4種類実装しました。
        E3DBlurTexture16Box
        E3DBlurTexture9Corn
        E3DBlurTextureGauss5x5
        E3DBlurTextureGauss
      2つのテクスチャをアルファブレンドして1つのテクスチャにする命令の追加。
        E3DBlendRTTexture
      ポストエフェクトのサンプルを追加。
        HSP版-->e3dhsp3_BlurTexture.hsp
        C++版-->BlurTextureソリューション

    ポストエフェクトのシェーダーファイルを公開。
      E3D_HLSLフォルダの中にfxファイルを同梱。
      今バージョンからdllと同じフォルダにE3D_HLSLフォルダがないとエラーになります。
      詳しくはインストールの仕方のページ(HSP版はここ。C++版はここ。)をご覧ください。

    E3DBeginSceneで描画に使用するZバッファを指定できるようにしました。
      HSP版-->E3DBeginSceneにzscid引数を追加
      C++版-->E3DBeginSceneZbufを追加。

    RokDeBone2 ver5.2.0.7の新しいsigファイルに対応。


ver5.2.0.9(2009/10/24)
    サーフェスのクリア色(背景色)を設定する命令の追加
      E3DSetClearCol
      スワップチェインごとに設定できます。

    モーションブラーのブラーの消え具合の設定命令の追加
      E3DSetMotionBlurMinAlpha


ver5.2.1.0(2009/10/30)
    ポストエフェクトのグローを実装。
      RokDeBone2 ver5.2.0.8のグロー設定済みsigファイルに対応。
      サンプルとしてe3dhsp3_glow.htm(HSP)、Glowソリューション(C++)を追加。

    命令の追加。
      E3DRenderGlow
      E3DSetMaterialGlowParams
      E3DGetMaterialGlowParams
      E3DSetMaterialTransparent
      E3DGetMaterialTransparent

    E3DBeginScene (C++版はE3DBeginSceneZbufも)のskipflagを拡張。
      skipflagに0を指定すると色の初期化とZバッファの初期化と背景の描画を行います。
      skipflagに1を足すと色の初期化とZバッファの初期化と背景の描画を行いません。
      skipflagに2を足すとシェーダー定数のビデオカードへの転送をキャンセルします。
      skipflagに4を足すと色の初期化は行いますがZバッファの初期化と背景の描画は行いません。

ver5.2.1.1(2009/11/04)
    コンパイラーをVisual Studio 2005から2008に変更しました。
      C++版のサンプルのソリューションも2008用になりました。

    パーツの数の2乗に比例して消費するメモリ作成を止めました。
      リアルタイムで計算するように変更。
      これによる速度の変化はほとんどありません。(vs2008にした影響で少しだけ速くなります。)

    デバッグ
      E3DBlendRTTextureのblendopにD3DBLENDOP_ADD以外を指定すると真っ黒になってしまうバグを修正しました。


ver5.2.1.2(2009/11/05)
    ビルボードとパーティクルのアルファテストを全てのブレンディングモードでオンにしました。
      ビルボードの後ろ側が透過されない不具合が軽減されます。
      (ビルボード以外はE3DSetMaterialAlphaTestでアルファテストをオンにすることが出来ます。)
      (アルファテストとはアルファの小さい部分の描画とZバッファへの記録を行わない機能のことです。)


ver5.2.1.3(2009/11/06)
    ボーンのあるデータに対しPickなどの操作を行うとエラーになる可能性があるバグを修正。
      (ver5.2.1.1からのバグでした。)


ver5.2.1.4(2009/11/07)
    デバッグ
      E3DBlurTexture系の4命令がそれよりも前に呼んだ命令のブレンディングレンダーステートの影響を受けてしまうバグを修正。
      具体的にはE3DBlendRTTexture命令の後でE3DBlurTexture* を呼ぶと結果が真っ黒になることがありました。


ver5.2.1.5(2009/11/13)
    ピクセル単位のPhongライティングモードを追加。
      Pixel Phong実行時のスクリーンショットはRokDeBone2の新機能のページのver5.2.1.2のところをご覧ください。

      E3DSetShaderType, E3DGetShaderTypeの拡張。
        シェーダータイプにCOL_PPHONGを追加しました。

    デバッグ
      ボーンのあるデータを読み込みモーションを読み込まない状態でE3DPickVertするとエラー終了するバグを修正。


ver5.2.1.6(2009/11/18)
    HDRライティングに対応。
      HDRのブルーム効果サンプルを作りました。
        HSP版はe3dhsp3_HDRLighting.hsp
        C++版はHDRLightingソリューション
      命令の追加。
        E3DChkHDR
        E3DSetHDRLightDiffuse
        E3DSetHDRLightSpecular
        E3DDownScaleRTTexture4x4
        E3DDownScaleRTTexture2x2
        E3DCreateToneMapTexture
        E3DRenderToneMap
        E3DBrightPassRTTextureHDR
        E3DDestroyToneMapTexture
        E3DRenderHDRFinal
        
    ポストエフェクトを使わない人のために、使用しないと宣言した場合はE3D_HLSLフォルダが無くても実行できるようにしました。
      E3DDisablePostEffect

    E3DInitを実行する前にEasy3Dが実行可能な環境であるかどうかを調べられる命令を追加。
      E3DCheckSpec


ver5.2.1.7(2009/11/21)
    ポストエフェクトを2個追加。
      モノトーンフィルターの追加。
        テクスチャの内容を白黒画像に変換します。
        E3DMonoRTTexture命令の追加。
        サンプルはHSP版はe3dhsp3_Mono.hsp, C++版はMonoソリューション。
      CbCrフィルターを追加。
        テクスチャの内容をYCbCr色空間に変換しYを保ったままCbとCrを指定値に設定します。
        YCbCrの各値ががどんな色なのかはPhotoshopなどのペイントソフトで確認してください。
        E3DCbCrRTTexture命令の追加。
        サンプルはHSP版はe3dhsp3_CbCr.hsp, C++版はCbCrソリューション。


ver5.2.1.8(2009/11/22)
    カスタムHLSL機能を追加。
      posteffect.fxの与えられたエントリーを自由に編集して実行させることが出来ます。
        ユーザーさんが設定できるデータ領域は
          float2 avSampleOffsets[16];
          float4 avSampleWeights[16];
          float4 userFL4_0;
          float4 userFL4_1;
          float4 userFL4_2;
          float4 userFL4_3;
          float4 userFL4_4;
          float4 userFL4_5;
          float4 userFL4_6;
          float4 userFL4_7;
          float4 userFL4_8;
          float4 userFL4_9;
          texture usertex0;
          texture usertex1;
          texture usertex2;
          texture usertex3;
          texture usertex4;
        ユーザーさんが編集できるテクニック領域は
          technique PostEffectUser0
          technique PostEffectUser1
          technique PostEffectUser2
          technique PostEffectUser3
          technique PostEffectUser4
        です。

        新規命令
          E3DShaderConstOffset16
          E3DShaderConstWeight16
          E3DShaderConstUserFL4
          E3DShaderConstUserTex
          E3DCallUserShader

    E3DCreateRenderTargetTextureで取得したscidに対してもE3DCreateBG出来るようにしました。

    デバッグ
      レンダーターゲットテクスチャを作成した状態でE3DByeした後E3DInitするとエラー終了するバグを修正。

ver5.2.1.8(2009/11/22 その2)
  Easy3D(HSP, C++両方)のマイナーバージョンアップ ver5.2.1.8のまま
    カスタムHLSLのサンプルについての記述を忘れていました。
      HSP版はe3dhsp3_CustomShader.hsp, C++版はCustomShaderソリューションにサンプルがあります。
      マニュアルにサンプルの参照先を記述追加。

ver5.2.1.8(2009/11/22 その3)
  Easy3D For HSP3のマイナーバージョンアップ ver5.2.1.8のまま
    マニュアルのE3DCheckSpec命令の引数が1つ抜けていたのを修正。

ver5.2.1.9(2009/11/27)
    ボーンの作成と削除の命令を追加。
      E3DCreateBone
      E3DDestroyBone
      ゴミデータの再利用機能も付いています。

ver5.2.2.0(2009/12/03)
    RokDeBone2 ver5.2.1.6のピクセルシェーダーでのトゥーン表示に対応しました。
      COL_TOON1とCOL_TOON0の統合をしました。(COL_TOON1に統一)
      E3DSetShaderTypeでCOL_TOON0を指定してもCOL_TOON1がセットされます。

ver5.2.2.1(2009/12/19)
    デバッグ
      E3DPickFace, E3DChkConfLineAndFaceにバグがありました。
      ボーンのある形状に対して呼んでもボーン変形されない座標で判定されていました。
      ver5.2.1.1からのバグでした。

ver5.2.2.2(2009/12/22)
    アルファテストの設定を変更しました。
      今までは半透明のアルファテストはデフォルトでオフでしたが、オンに変更しました。
      これによりメタセコイアでのアルファテスト設定と同じになりました。
      この変更はmqoからデータを読み込みなおした際に有効になります。設定済みのsigには影響がありません。
      アルファテストの設定を変更したい場合は以下のどれかの方法で変更してください。
        1、RokDeBone2の「材質」-->「面マテリアル」メニューでダイアログを出して設定。
        2、E3DSetMaterialAlphaTest命令で設定。

ver5.2.2.3(2009/12/27)
    モーフの情報取得設定のための命令を追加。
      E3DGetMorphBaseNum
      E3DGetMorphBaseInfo
      E3DGetMorphTargetInfo
      E3DGetMorphKeyNum
      E3DGetMorphKey
      E3DGetCurMorphInfo
      E3DCreateMorph
      E3DAddMorphTarget
      E3DSetMorphKey
      E3DDestroyMorphKey

    モーフ情報を取得し表示するサンプルe3dhsp3_MorphInfo.hspを追加。
    モーフを作成してから情報を表示するサンプルe3dhsp3_MorphInfo_Createを追加。

ver5.2.2.4(2010/01/01)
    デバッグ
      モーションブラー表示のバグを修正。
        モデルデータと原点との間にゴミのようなブラーが表示されるのを修正しました。
        ver5.2.2.0からのバグでした。

ver5.2.2.5(2010/01/02)
    トゥーン情報の取得設定命令を追加。
      E3DGetToon1MaterialNum
      E3DGetToon1Material
      E3DSetToon1Name
      E3DSetToon1Diffuse
      E3DSetToon1Specular
      E3DSetToon1Ambient
      E3DSetToon1NL
      E3DSetToon1Edge0

    トゥーン情報取得設定のサンプルを追加(HSP版はe3dhsp3_ToonInfo.hsp、Win32版はToonInfoソリューション)。

ver5.2.2.6(2010/01/05)
    E3DSetShadowMapInterFlag命令のflag引数に値を追加。
      SHADOWIN_EXCLUDEを指定した場合にはシャドウマップから除外するようにしました。

ver5.2.2.7(2010/01/24)
    RokDeBone2のカメラアニメファイルに対応しました。
    プログラムでカメラアニメの再生と編集ができる機能を追加しました。
    追加命令
      E3DLoadCameraFile
      E3DDestroyCameraAnim
      E3DSaveCameraFile
      E3DSetCameraAnimNo
      E3DGetCameraAnimNo
      E3DSetCameraFrameNo
      E3DGetCameraFrameNo
      E3DSetNewCamera
      E3DSetNextCameraAnimFrameNo
      E3DGetNextCameraAnimFrameNo
      E3DCreateNewCameraAnim
      E3DSetCameraFrameNum
      E3DGetCameraFrameNum
      E3DSetCameraAnimName
      E3DGetCameraAnimName
      E3DSetCameraAnimType
      E3DGetCameraAnimType
      E3DSetCameraKey
      E3DGetCameraKey
      E3DDeleteCameraKey
      E3DGetCameraKeyframeNoRange
      E3DSetCameraSWKey
      E3DGetCameraSWKey
      E3DDeleteCameraSWKey
      E3DGetCameraSWKeyframeNoRange
    カメラアニメのサンプル(HSP版はe3dhsp3_CameraAnime.hsp, Win32版はCameraAnimeソリューション)を追加。

    カメラアニメの作り方についてはRokDeBone2のマニュアルの「カメラアニメについて」をご覧ください。

(2010/01/25)
    E3DSetCameraFrameNoのマニュアルの修正。
      カメラ番号に-1を使えることを記述。
      -1を指定したときはスイッチキーを調べて有効になっているカメラに対して処理を行います。

    デバッグ
      1/24に書き忘れましたがHSP版はE3DChkConfBySphere2とChkConfBySphere3
      WIn32版はE3DChkConflictBSPartとE3DChkConflictBSPartArrayが0しか返さないバグを修正しました。

ver5.2.2.8(2010/01/25 その2)
    RokDeBone2の新しいカメラファイルに対応。
      正射影に対応しました。

    E3DSetOrtho命令を追加。
      正射影をオンにし、パラメータを設定します。

    正射影とシャドウの併用は推奨しません。
      出来ないことは無いですが不完全です。
      シャドウマップの作成にfov(E3DSetProjectionで設定した視野角)の値を使います。

    E3DSetCameraKeyのマニュアルを修正。

ver5.2.2.9(2010/02/11)
    グローバルポジションアニメ(GPA)の実装。
      RokDeBone2で作成したgpaファイルを編集再生できます。
      命令の追加。
        E3DLoadGPFile
        E3DDestroyGPAnim
        E3DSaveGPFile
        E3DSetGPAnimNo
        E3DGetGPAnimNo
        E3DSetGPFrameNo
        E3DGetGPFrameNo
        E3DSetNewGP
        E3DSetNextGPAnimFrameNo
        E3DGetNextGPAnimFrameNo
        E3DCreateNewGPAnim
        E3DSetGPFrameNum
        E3DGetGPFrameNum
        E3DSetGPAnimName
        E3DGetGPAnimName
        E3DSetGPAnimType
        E3DGetGPAnimType
        E3DSetGPKey
        E3DGetGPKey
        E3DDeleteGPKey
        E3DGetGPKeyframeNoRange
        E3DCalcGPFullFrame
        E3DSetGPGroundHSID
        E3DGetGPGroundHSID
      GPAのサンプルの作成。
        HSP版はe3dhsp3_GPAnim.hsp, Win32版はGPAnimソリューションを追加。

    仕様変更
      E3DSetDirの仕様が変わりました。
        今まではX,Y,Zの順番で回転していましたが、このバージョンからはRokDeBone2と同じZ,X,Yの順番になります。
        今までと同じ動作を望む方は、E3DSetDir命令の部分をE3DRotateInit, E3DRotateX, E3DRotateY, E3DRotateZ
        の順番で呼び出すように変更してください。

    デバッグ
      ビルボードの倍率が指定倍率の2乗になっていたのを修正しました。
      今までと同じ倍率を望む方はE3DSetScaleの倍率に倍率の2乗の値を渡してください。

ver5.2.3.0(2010/02/16)
    RokDeBone2 ver5.2.2.9の新しいmoaファイルに対応。

    HSP版のマニュアルに誤記があったのを修正。
      E3DSetGPKey, E3DGetGPKeyのcami, camdとなっていたところはそれぞれ正しくはgpi, gpdです。

ver5.2.3.1(2010/03/03)
    RokDeBone2 ver5.2.3.1以降のmoaイベントアニメMOEに対応しました。
      moeファイルの読み書き編集が出来ます。

      命令の追加。
        E3DLoadMOEFile
        E3DDestroyMOEAnim
        E3DSaveMOEFile
        E3DSetMOEAnimNo
        E3DGetMOEAnimNo
        E3DSetMOEFrameNo
        E3DGetMOEFrameNo
        E3DSetNewMOE
        E3DSetNextMOEAnimFrameNo
        E3DGetNextMOEAnimFrameNo
        E3DCreateNewMOEAnim
        E3DSetMOEFrameNum
        E3DGetMOEFrameNum
        E3DSetMOEAnimName
        E3DGetMOEAnimName
        E3DSetMOEAnimType
        E3DGetMOEAnimType
        E3DGetMOEKeyframeNoRange
        E3DGetMOEElemNum
        E3DGetMOEElem
        E3DAddMOEElem
        E3DDeleteMOEElem
        E3DSetMOEKeyIdling
        E3DGetMOEKeyIdling
        E3DDeleteMOEKey
        E3DCalcMOEFullFrame

      サンプルの追加。
        HSP版はe3dhsp3_RealTimeAnim1.hsp、Win32版はRealTimeAnim1ソリューションを作成。
    
    デバッグ
      ラインの半透明表示が出来ていなかったのを修正。

ver5.2.3.2(2010/03/13)
    デバッグ
      モーフオブジェクトに対してE3DSetScaleが機能していなかったのを修正。


ver5.2.3.3(2010/03/20)
    デバッグ
      E3DSetAlpha2でパーツごとにアルファを設定しても最後の設定が全てのパーツに適用されるバグを修正。

ver5.3.0.0(2010/03/31)
    音機能をXAudio2, X3DAudioに変更しました。
    詳しくはver5.3.0.0での変更点をご覧ください。
    (使用可能環境なども変わったので必ずお読みください。)

ver5.3.0.1(2010/04/02)
    デバッグ
      実行ファイルにして実行する際に、exeのパスに日本語が混じっているとエラー終了するバグを修正。

ver5.3.0.3(2010/04/03)
    E3DLoadSoundとE3DLoadSoundFromBuf命令にoggdatanum引数を追加。
      oggdatanumはoggデータ読み込み用のバッファの数です。
      バッファの大きさは1つ当たり4096*20バイトです。
      バッファの数が不足すると音が最後まで再生されません。
      バッファの大きさはファイルの大きさではなくて圧縮解除後の大きさです。

    3Dサウンドの拡張。
      音が届く距離を指定できる命令を追加。
      E3DSet3DSoundEmiDist

    3Dサウンドのサンプル修正。
      HSP版はe3dhsp3_3DSound_XAudio2.hsp、Win32版はSound3DソリューションにE3DSet3DSoundEmiDist命令を追加。

ver5.3.0.4(2010/04/03 その2)
    デバッグ
      oggファイルの繰り返し再生が出来なかったバグを修正。
      3Dサウンドに周波数が設定できなかったバグを修正。

ver5.3.0.5(2010/04/04)
    ポストエフェクトのぼかし命令にUV座標の調整の有無を指定できるフラグを追加。
      調整なしだと画像が右下にずれます。
      調整ありだとずれませんが、ぼけかたが少なくなります。
        BlendRTTexture
        BlurTexture16Box
        BlurTexture9Corn
        BlurTextureGauss
        BlurTextureGauss5x5

    音機能にフェード機能を追加。
      E3DFadeSound命令追加。

ver5.3.0.6(2010/04/09)
    デバッグ
      E3DPlaySound, E3DStopSoundのバグを修正。
      E3DIsSoundPlayingが正しく動作していなかったバグを修正。
        再生と停止を繰り返す場合に不具合があったのを修正。

      E3DGetSoundSamplesPlayedの修正。
        停止しているときにゴミの値が入るのを修正。
        処理済みサンプルのトータル数ではなく、再生開始からのサンプル数を取得できるように修正。

ver5.3.0.7(2010/04/15)
    座標値とクォータニオンをボーンのローカル座標系とグローバル座標系とで変換する命令を追加。
      E3DGlobalToLocalParBone
      E3DLocalToGlobalParBone
      物理演算ライブラリBulletのグローバルの計算結果をEasy3DのE3DSetBoneQなどのローカルな数値に変換するのに役にたちます。

(2010/04/24)
    マニュアルの修正
      E3DSetInfElemではPAINT_ERAは使えない旨を追記。代わりにE3DDeleteInfElemを使ってください。
      E3DSetInfElemDefault呼び出し後にE3DCreateSkinMatを呼ばないといけない旨を追記。

    マニュアルだけ修正してプログラム、バージョンは同じままリリース。

ver5.3.1.2(2010/05/08)
    E3DSetRenderStateをモーフオブジェクトにも使用できるようにしました。
      今まではモーフにRenderStateが設定できなかったのでモーフにアンチエイリアスをかけることが出来ませんでしたが
      E3DSetRenderState hsid, -1, D3DRS_MULTISAMPLEANTIALIAS, 1
      のように呼び出すことで、モーフにもアンチエイリアスがかかるようになりました。
      (アンチをかけるにはその他にも手順が必要です。詳しくはe3dhsp3_antialias.hspをご覧ください。)

ver5.3.1.3(2010/05/16)
    4:3のウインドウサイズ以外でもフルスクリーンが出来るように修正。
      E3DCheckFullScreenParamsにflag引数追加。
      E3DInitのfullscreenflagを拡張。

ver5.3.1.4(2010/05/21)
    モーション用命令を追加。
      E3DGetBoneTra
      E3DGetBoneScale
      E3DSetBoneTra
      E3DSetBoneScale
      E3DCreateMotionPoint

ver5.3.1.5(2010/05/29)
    デバッグ
      Ctrl + Alt + Delを押すと復帰時にエラー終了するバグを修正。
        いつの間にかデバイスロストの処理にバグが混入していました。
        たぶんE3DBesinSceneにZバッファを指定できるようになったバージョン辺りからのバグと思われます。

ver5.3.1.6(2010/05/31)
    ogg音データのバッファ長設定を自動化しました。
      E3DLoadSound, E3DLoadSoundFromBufのoggdatanum引数が削除されました。
      oggdatanumは内部で自動的に計算して設定するようにしました。

ver5.3.1.7(2010/06/03)
    デバッグ
      E3DLoadSoundFromBufがエラー終了するバグを修正しました。

ver5.3.1.8(2010/06/13)
    Windows 7に対応。

    デバッグ
      Ctrl + Alt + Delを押したときにモデルデータのテクスチャが表示されなくなることがあるバグを修正。
      Ctrl + Alt + Delを押したときにE3DCreateBGで作成した背景が表示されなくなることがあるバグを修正。

ver5.3.1.9(2010/06/15)
    シェーダーのコンパイラをAugust2009版にバージョンアップしました。
      生成命令数が変わったためか?チェックが厳しくなったためか?算術命令数チェックに引っかかって機能制限しました。
        グロー表示時に3個目のライトのスペキュラーは表示に反映されなくなりました。
      新しいコンパイラのほうが賢くなっているはず!?

    モーションブラー表示時にディスプレイスイッチをオンオフしたときの挙動を修正。
      オンにした瞬間に自動的に内部でE3DInitBeforeBlurを呼び出すようにしました。
      オンにした瞬間に意図しないブラーが表示される不具合が直りました。

ver5.3.2.2(2010/07/22)
    ドップラー効果の大きさを制御する命令を追加。
      E3DSet3DSoundDopperScaler
      E3DGet3DSoundDopperScaler

    ドップラー効果の計算に音源の速度だけでリスナーの速度が反映されていなかったのを修正。

    MQOファイルをキャラクターとして読み込む命令を追加。
      E3DLoadMQOFileAsChara
      地面読み込みとは少し違います。地面のほうが読み込み後の使用メモリが多いです。

    ver5.3.0.0から使用できなくなった音命令をマニュアルから削除。

    E3DPlaySoundのデフォルトのloopnumを1から0に変更。
      1のときは合計2回再生されていました。

    HSPのサンプルe3dhsp3_3Dsound_XAudio2.hsp中で
    E3DSet3DSoundListenerMovementを間違えてE3DSetListenerMovementと記述していたのを修正。

ver5.3.2.3(2010/07/14)
    E3DUpdateSoundより後でE3DSetSoundFrequencyを呼ぶとドップラー効果が無効になる不具合を修正。

    サウンドを停止し、停止した位置から再び再生するサンプルを追加。
      e3dhsp3_3Dsound_XAudio2_Stop.hspをご覧ください。

ver5.3.2.4(2010/07/18)
    E3DSet3DSoundDopplerScalerのsoundidに-1を指定した場合は読み込み済みの全ての音に対して処理をするようにしました。

ver5.3.2.5(2010/07/26)
    音同期アニメ再生のための命令を追加。
      E3DLoadSSF
      E3DDestroyAllSoundSet
      E3DGetSoundSetNum
      E3DGetSoundSetInfo
      E3DGetSoundSetBGM
      E3DLoadSAF
      E3DDestroyAllSndAnim
      E3DGetSndAnimFrameNum
      E3DGetSndAnimBGM
      E3DGetSndAnimFPS
      E3DGetSndAnimMode
      E3DStartSndAnim
      E3DSetSndAnimFrameNo
      E3DStopSndAnim
      E3DGetSoundTotalTime
      E3DConvSoundSampleToFrame
      E3DGetSoundStartCnt
      E3DGetSoundEndCnt
      E3DPCWait

    音同期アニメ再生のサンプルを追加。
      Win32版はRealTimeAnim2ソリューションをHSP版はe3dhsp3_RealTimeAnim2.hspを追加。

ver5.3.2.6(2010/07/29)
    E3DLoadMOAFileの拡張。
      FillUpFrameLength引数に-1を指定した場合はmoaファイルに記述されているフレーム長を読み込むようにしました。
      e3dhsp3_RealTimeAnim2.hspを修正。

ver5.3.2.7(2010/08/04)
    RokDeBone2 ver5.3.1.5の透明度アニメファイルに対応。
      新しいsig, quaに対応しました。

ver5.3.2.8(2010/08/05)
    RokDeBone2 ver5.3.1.6でXファイルから作ったsigに対応。
    UV座標の扱いなどに修正がありました。

ver5.3.2.9(2010/08/10)
    RokDeBone2 ver5.3.1.9の新しいmoa, moeファイルに対応。

    moaのアイドリングに戻らないオプションに対応。
    
    moeの継続オプションに対応。

ver5.3.3.0(2010/08/16)
    MOEアニメ(moaイベントアニメ)のバージョンアップ。
      今までのMOEではモデルの姿勢しかモーションに反映されませんでしたが
      ディスプレイスイッチアニメ、テクスチャアニメ、モーフアニメ、透明度アニメもMOEアニメに反映されるようにしました。

ver5.3.3.1(2010/08/17)
    カメラのupベクトル補間アニメに対応。
      RokDeBone2 ver5.3.2.3のcamファイルに対応。

    デバッグ
      MOEアニメで先頭フレームにキーを作っていない場合
      アイドリングモーションのフレーム0が再生されるべきところがフレーム1が再生されていたバグを修正しました。

ver5.3.3.2(2010/09/05)
    RokDeBone2 ver5.3.2.6のesi入力から作ったsigファイルに対応。

ver5.3.3.3(2010/09/14)
    カメラ設定命令E3DSetCameraOffsetを追加。
      カメラアニメを好きな位置、向きから再生できるようになりました。
      詳しくはカメラアニメをゲーム中で使うにはをご覧ください。

    E3DSetCameraOffsetの使用サンプルを追加。
      HSP版はe3dhsp3_CameraOffset.hsp
      Win32版はCameraOffsetソリューション

ver5.3.3.4(2010/09/21)
    Invisibleflagの設定を保存したsigファイルに対応。

    HSIDの最大個数を1000個から5000個に増やしました。

ver5.3.3.5(2010/09/23)
    モーフのベースに対して影響度設定すると表示が乱れたり表示されなくなったりする不具合を修正。

ver5.3.3.6(2010/09/26)
    デバッグ
      E3DSaveQua2Bufがエラーになるバグを修正。
        ボーンの名前を基準にしたファイルに対応してからのバグでした。

ver5.3.3.7(2010/10/11 その3)
    E3DAllClearInfElem命令を追加。
      上級者向け。
      全ての影響度を削除できる命令です。
      ちゃんと決まりを守って呼ばないとエラーになるよ。

ver5.3.3.8(2010/10/11 その4)
    デバッグ
      E3DAllClearInfElemのパーツ番号に-1を指定するとエラーになるバグを修正。

ver5.3.3.9(2010/10/16)
    デバッグ
      モーションが最終フレームに達した後にアイドリングに戻さないオプションが働かない場合があるバグを修正。
        モーション補間中にこのオプションを設定したモーションのイベント番号を発行すると、このオプションが無視されるバグでした。

ver5.3.4.0(2010/10/18)
    RokDeBone2 ver5.3.3.7のquaファイルに対応。

ver5.3.4.1(2010/10/21)
    RokDeBone2 ver5.3.3.9のquaファイルに対応。
      これによりRokDeBone2とEasy3Dでの座モードの違いによるモーションの不具合が解消されます。

    E3DSetSoundFrequencyの拡張。
      soundidに-1を指定した場合は読み込み済みの全てのサウンドに対して処理するようにしました。

ver5.3.4.2(2010/10/24)
    RokDeBone2 ver5.3.4.1のquaファイルに対応。
    
    qua読み込み時にスプラインの移動成分にも読み込み倍率を掛けるようにしました。

ver5.3.4.3(2010/10/26)
    Xiph.org Foundationのoggvorbisデコードライブラリを最新版にしました。

    デバッグ
      oggファイルから生成したサウンドIDに対してE3DSetSoundFrequencyを呼ぶとエラーになっていたバグを修正。

ver5.3.4.4(2010/10/28)
    デバッグ
      E3DConvScreenTo3Dをメインループで使用していると、ウインドウを最小化したときにエラーになるバグを修正。
        GetClientRectで返ってくるサイズ0を計算に使用していたためのバグでした。

ver5.3.4.4(2010/10/29)
    リアルタイムアニメのサンプルを追加。
      レンダーターゲットテクスチャにリアルタイムアニメを描画し、それを板ポリゴンのテクスチャに設定することで
      動画を貼り付けたスクリーンのような画面効果が得られます。

      テクスチャに描画するアニメのカメラとメイン画面のカメラは独立して設定できます。

      HSP版はe3dhsp3_RealTimeAnim3.hsp、Win32版はRealTimeAnim3ソリューションを作りました。

      ライブラリのバージョンはver5.3.4.4のまま、サンプルだけ追加。

ver5.3.4.5(2010/11/08)
    GPA(Global Position Animation)の再生を指定の位置、向きから再生できるようになりました。
      E3DSetGPOffset命令を追加。

    GPAとカメラアニメをキャラクターの位置、向きから再生するサンプルを追加。
      HSP版はe3dhsp3_GPOffset.hsp、Win32版はGPOffsetソリューションを追加。

ver5.3.4.6(2010/11/11)
    スポットライトを使用できるオプションを作りました。
      E3DSelectLightType命令を追加。

      デフォルト状態だと平行光源とポイントライトを3つまで使えますが
      E3DSelectLightType命令に引数1を渡して呼び出すと
      平行光源とスポットライトを合計3つまで使えるようになります。

      この命令はE3DInitより前に呼び出します。
      E3DInit呼出し後は変更することは出来ません。

      詳しくは命令表の説明をご覧ください。

ver5.3.4.7(2010/12/03)
   E3DRenderZandN命令追加。
     奥行きZ情報とピクセル単位の法線情報をレンダー出来るようになりました。

   環境マップ、屈折マップのサンプルを追加。
     HSP版はe3dhsp3_Effect_yamucha1.hsp、Win32版はEffect_yamucha1ソリューションを追加。
     このサンプルはやむちゃさんが作ったものを元にしています。
     E3D_HLSLフォルダの新しいfxファイルを使用しないとこのサンプルは動きません。

   デバッグ
     E3DPickVertがうまく機能しない場合があるバグを修正。

   (HSP版)
     E3DGetMaterialNumとE3DGetMaterialInfo命令を追加。

ver5.3.4.8(2010/12/15)
    MOEの再生位置からquaのアニメ番号とフレーム番号を取得する命令を追加。
      E3DGetMOELocalMotionFrameNo
      E3DGetMOELocalNextMotionFrameNo

ver5.3.4.9(2010/12/23)
    デバッグ
      GetScreenPos系の命令がCameraのTwistに対応していなかったのを修正。

    E3D_HLSLフォルダ内のシェーダーファイルのユーザー定義テクニック数を5個から20個に増量。

ver5.3.5.0(2010/12/23 その2)
    デバッグ
      テキストファイルの読み込み部分に潜在的なバグがあったのを修正。
      対応している10種類以上のテキスト形式ファイル読み込み全てに影響するバグでした。

ver5.4.0.0(2011/01/31)
    コンパイラをVC++2008からVC++2010に変えました。
      これにより必要なランタイムも変わります。
      zipに同梱しているvcreditのexeを管理者権限で実行しインストールしてください。
      vcredistをインストールする前にXPの人はサービスパック3以降を、Vistaの人はサービスパック2以降をインストールしてください。
      サービスパックはWindows Updateでインストールできると思います。

    E3DSaveMQOFileのデバッグ
      新しいバージョンで作ったsigを読み込み、mqo出力するとテクスチャのUV座標が出力されないことがあるバグを修正。

    E3DSetBoneQに引数を追加。
      curboneonlyフラグを追加しました。
      このフラグが0のとき(今までと同じ動作)は、クォータニオンをセットした後、親にさかのぼって姿勢の計算をします。
      この計算はE3DFillUpMotionでも行われるので、多数のボーンにSetBoneQをするとかなりのタイムロスになります。
      curboneonlyに1をセットするとこの計算をスキップします。
      curboneonlyに1をセットして多数のボーンの設定を行った後に、一回E3DFillUpMotionをすれば良いことになります。

ver5.4.0.1(2011/02/02)
    デバッグ
      半透明の描画がうまくいっていなかったバグを修正。
        ver5.4.0.0でレンダーステートの設定にバグが生じていました。

ver5.4.0.2(2011/02/06)
    デバッグ
      E3DSetCameraKeyとE3DGetCameraKeyをortho, orthosizeに対応させ忘れていたのを修正。

ver5.4.0.3(2011/02/12)
    ピクセル単位のポイントライト、スポットライトのバージョンアップ。
      今までのピクセル単位ライティングは不完全でした。
      
      大事なパラメータを頂点で計算し、それをピクセルで補間して使用していたため
      頂点に全くライトが当たらない状況では機能しませんでした。

      今回のバージョンアップでこのパラメータもピクセルシェーダで計算することにしました。

      1枚の大きな地面ポリゴンの真ん中に小さなスポットライトが当たった場合でも、正しくライティング出来ます。

    ライトの機能のまとめ
      ライトは3つまで作れます。
      ライトの振る舞いと作った順番には関係があります。
      以後、1番目に作ったライトをライト1、2番目に作ったライトをライト2、3番目のものをライト3と呼びます。

      E3DInitより前でE3DSelectLightTypeに1を指定して呼び出すと
        平行光源とスポットライトの合計3つ使えるようになります。

        ただし制限があり、ライト2個のときはライト2のスペキュラーは適用されません。
        ピクセル単位のスポットライト2個同時使用も可能です。

        ライト3個のときは完全なピクセル単位のライティングはライト1に対してのみ行われます。
        ライト2、ライト3の大事なパラメータの1つを頂点で計算します。
        またライト2、ライト3のスペキュラーは適用されません。

      E3DSelectLightTypeに0を指定するかもしくはこの命令を呼び出さない場合は
        平行光源とポイントライトの合計3つ使えるようになります。

        ただし制限があり、ライト2個のときはライト2のスペキュラーは適用されません。
        ピクセル単位のポイントライト2個同時使用も可能です。

        ライト3個のときは完全なピクセル単位のライティングはライト1に対してのみ行われます。
        ライト2、ライト3の大事なパラメータの1つを頂点で計算します。
        またライト2、ライト3のスペキュラーは適用されません。

      LightTypeが0のときも1のときもピクセル単位のライティングを実行したい場合は
        E3DSetShaderTypeでCOL_PPHONG(ピクセルPhong)を指定する必要があります。

ver5.4.0.4(2011/02/12 その2)
    デバッグ
      テクスチャアニメを設定したアニメと、設定していないアニメが混在しているmoaを再生すると
      テクスチャが表示されなくなることがあるバグを修正。

ver5.4.0.5(2011/02/13)
    モーションブラーのバージョンアップ
      E3DSetMotionBlurMaxAlpha命令を追加。
      モーションブラーの一番濃い部分の透明度の係数を設定できます。

ver5.4.0.6(2011/02/16)
    デバッグ
      1フレーム長のMOEアニメ、カメラアニメ、GPアニメを作成すると再生中にアクセスエラーが生じるバグを修正。

    MOEのイベント継続フラグを取得設定する命令を追加。
      E3DGetMOEKeyGoOnFlag
      E3DSetMOEKeyGoOnFlag

    マテリアルのテクスチャ名を取得設定する命令を追加(win32版にはSet, GetMaterialTexParamsという名前で既にあります)
      E3DGetMaterial1stTex
      E3DSetMaterial1stTex

ver5.4.0.7(2011/02/18)
    MOAの共通分岐禁止IDの取得、設定命令を追加。
      E3DSetMOATrunkNotComID、E3DGetMOATrunkNotComIDを追加。

ver5.4.0.8(2011/02/22)
    ピクセル単位のスポットライト、ポイントライトのバージョンアップ。

      シェーダー2.0までしか搭載されていないビデオカードでスポットライト、ポイントライトが真っ暗になっていた不具合を修正。

    ライトの機能のまとめ
      ライトは3つまで作れます。
      ライトの振る舞いと作った順番には関係があります。
      以後、1番目に作ったライトをライト1、2番目に作ったライトをライト2、3番目のものをライト3と呼びます。

      E3DInitより前でE3DSelectLightTypeに1を指定して呼び出すと
        平行光源とスポットライトの合計3つ使えるようになります。

        ただし制限があり、ライト2個のときはライト2のスペキュラーは適用されません。
        完全なピクセル単位のスポットライトはライト1にしか適用できません。

        ライト3個のときは完全なピクセル単位のライティングはライト1に対してのみ行われます。
        またライト2、ライト3のスペキュラーは適用されません。

      E3DSelectLightTypeに0を指定するかもしくはこの命令を呼び出さない場合は
        平行光源とポイントライトの合計3つ使えるようになります。

        ただし制限があり、ライト2個のときはライト2のスペキュラーは適用されません。
        完全なピクセル単位のポイントライトはライト1にしか適用できません。

        ライト3個のときは完全なピクセル単位のライティングはライト1に対してのみ行われます。
        またライト2、ライト3のスペキュラーは適用されません。

      LightTypeが0のときも1のときもピクセル単位のライティングを実行したい場合は
        E3DSetShaderTypeでCOL_PPHONG(ピクセルPhong)を指定する必要があります。

ver5.4.0.9(2011/02/24)
    座3のオイラー角度の取得設定命令を追加。
      E3DGetZa3Euler, E3DSetZa3Eulerの追加。

    (Win32版では既存の命令で計算できます。)

ver5.4.1.0(2011/02/26)
    マルチレイヤーモーション用のMOE情報取得命令を追加。
      E3DGetMOELocalMotionFrameNoML
      E3DGetMOELocalNextMotionFrameNoML
      を追加。

ver5.4.1.1(2011/02/28)
    GPアニメのデフォルトのパラメータ(キーが無いときの値)を設定する命令を追加。
      E3DSetDefaultGP

    カメラアニメのデフォルトのパラメータをカメラ番号ごとに設定する命令を追加。
      E3DSetDefaultCamera

ver5.4.1.2(2011/03/05)
    デバッグ
      モーションのスプライン補間と線形補間が混ざったモーションを再生すると線形補間で再生されるバグを修正。
      (RokDeBone2にはこのバグはありませんでした。)

      読み込み時にスプラインパラメータの自動計算をさせたくない場合は
      RokDeBone2でquaを保存する前に、グラフウインドウでモーションウインドウを右クリックし、
      スプラインパラメータの全ロックをしてください。

      quaやmoaの読み込み時に読み込み倍率を1.0以外で読み込むと
      スプラインのパラメータにも倍率が掛けられる仕様です。
      スプラインを使う場合はなるべく1.0倍のまま使用できるようなスケールで作業してください。

ver5.4.1.3(2011/03/06)
    スプライン補間設定のモーションを拡大率1.0倍以外で読んでも、パラメータを相似変換出来るようになりました。
    1.0倍以外でも動き方を維持できます。

    読み込み時にロックされていないスプラインパラメータは自動的に計算しなおすので
    qua保存の前にグラフウインドウでモーションポイントを右クリックし、スプライン全ロックを実行してください。

    ロックされていても拡大率は適用されます。

ver5.4.1.4(2011/05/05)
    存在しないボーンのデータが入ったquaを読み込むとハングするバグを修正。
   
    E3DGetBSphereでpartnoに-1を入れたときはモデル全体の境界球を返すように修正。

    E3DValidHsidを追加。(hsidが使用可能かどうかを調べます。)

    E3DSetSpriteRotationの回転中心がおかしかったのを修正。(表示倍率が1以外のときに不具合がありました。)

    E3DRenderBatch, E3DRenderBatchModeで半透明テクスチャが描画されないバグを修正。

    E3DSetMaterialTransparentのバグを修正。

    E3DSetAlpha2のバグを修正。

    一部命令を除き、E3DByeを呼んだ後に呼び出すとただちに0リターンするように修正(HSP版のみ)

ver5.4.1.5(2011/06/13)
    デバッグ
      mikoto形式から作ったsigを1.0倍以外で読み込むと、座3の軸がおかしくなるバグを修正しました。

    E3DSetDispSwitch2の振る舞いを修正しました。
      今まではmotidに-1を指定したときのデフォルト状態が全てオフだったのを、全てオンに変えました。
      
    E3DChkConflict2の修正。
      判定時にDisplaySwitchとValidFlagを考慮するようにしました。

ver5.5.0.0(2011/06/16)
    Kinectのモーションキャプチャに対応しました。
      リアルタイムでモーションキャプチャしながらプレイするゲームが作成できます。

      サンプルを作りました。
        HSP版はe3dhsp3_KinectCapture.hsp、Win32版はKinectCaptureソリューション。

ver5.5.0.1(2011/06/26)
    モーションのスプライン補間のバージョンアップ。
      スケールの係数自動計算によるスプライン補間が滑らかではなかったので調整しました。
        スプラインの係数を調整しました。
        スケールだけ係数-->制御点の計算にちょっと細工をしました。(厳密な縦と横の係数では無くなりました。)

ver5.5.0.2(2011/07/18)
    HSP3.3同梱予定バージョンをリリース。
    何か致命的なバグなど見つかりましたらなるべくはやくご報告をお願いします。