///////////////////////
Easy3D For Win32 アップデート情報
///////////////////////

ver0001(2009/02/20)
  お試し版リリース

ver5001(2009/03/11)
  マニュアルをつけてヘッダを修正して正式リリース

ver5002(2009/03/12)
    E3DGetKeyboardStateの引数がマニュアルとヘッダで一致していない不具合を修正。
      ヘッダが間違っていたので修正。
      引数はint*です。

ver5003(2009/03/12 その2)
    E3DInitにinitcomflagを追加。
      通常はDirectMusicを使うためにCOMの初期化が必要なので1を指定してください。
      .NetFrameworkなどと共用する場合、Easy3Dより先にCOMの初期化をする場合などに0を指定してください。
      0を指定するとE3DInit内でのCoInitialize呼び出しとE3DByeでのCoUninitialize呼び出しを省略します。


ver5003 その2(2009/03/14)
    マニュアルフォルダの中のEasy3DFuncions.exeを瀬戸さんがバージョンアップ。
      e3d_func.htmの中に不正なフォーマットの項目があっても落ちなくなりました。
    関数表のE3DDrawTextByFontIDWithCntEachの引数番号を修正。
    dllはそのまま。バージョン番号もver5.0.0.3のまま。


ver5003 その3(2009/03/15)
    マニュアルフォルダの中のEasy3DFuncions.exeを瀬戸さんがバージョンアップ。
    関数表e3d_func.htmの修正。
    dllはそのまま。バージョン番号もver5.0.0.3のまま。

ver5004(2009/03/17)
    マテリアル情報取得用関数の追加。
      E3DGetMaterialNum( int hsid, int* numptr );
      E3DGetMaterialInfo( int hsid, MATERIALINFO* infoptr, int arrayleng, int* getnumptr );
      E3DGetToon1MaterialNum( int hsid, int partno, int* numptr );
      E3DGetToon1MaterialInfo( int hsid, int partno, TOON1MATERIALINFO* infoptr, int arrayleng, int* getnumptr );

ver5005(2009/03/25)
    ジョイントの初期位置設定関数の追加。
      E3DSetJointInitialPos

    ファイル名の入力などのchar*引数をconst char*に変更。
      STLのString.c_str()を使用した場合などキャストなしで使用できます。


ver5006(2009/03/26)
    sigモデルの頂点単位の色の設定と取得の関数を追加。
      E3DSetVertexDiffuse( int hsid, int partno, int vertno, E3DCOLOR4UC col, int setflag );
      E3DSetVertexAmbient( int hsid, int partno, int vertno, E3DCOLOR4UC col, int setflag );
      E3DSetVertexSpecular( int hsid, int partno, int vertno, E3DCOLOR4UC col, int setflag );
      E3DSetVertexEmissive( int hsid, int partno, int vertno, E3DCOLOR4UC col, int setflag );
      E3DSetVertexSpecularPower( int hsid, int partno, int vertno, float power, int setflag );
      E3DGetVertexDiffuse( int hsid, int partno, int vertno, E3DCOLOR4UC* colptr );
      E3DGetVertexAmbient( int hsid, int partno, int vertno, E3DCOLOR4UC* colptr );
      E3DGetVertexSpecular( int hsid, int partno, int vertno, E3DCOLOR4UC* colptr );
      E3DGetVertexEmissive( int hsid, int partno, int vertno, E3DCOLOR4UC* colptr );
      E3DGetVertexSpecularPower( int hsid, int partno, int vertno, float* powerptr );


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


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

      関数表のE3DRenderBatchModeの項に追記。


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

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


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

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

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


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


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


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


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


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


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


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


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


ver5019(2009/06/18)
    キャラクターから見て任意の方向のベクトルを取得する命令を追加。
      E3DGetCharaDir [IN]hsid, [IN]degxz, [IN]degy, [OUT]dir
      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)というように指定します。


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


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


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

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


ver5023-2(2009/07/10)
    サンプルを1個追加しました。
      FullScreenサンプルを追加。
      E3DCheckFullScreenParamsの使い方がわかります。

    プロジェクトフォルダからeasy3d.dllを削除。
      ファイルサイズ節約のため削除しました。
      使用する際にはdllフォルダの中のeasy3d.dllをプロジェクトフォルダにコピーしてください。


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


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


ver5026(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


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

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


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


ver5028(2009/08/03)
    サンプルのデバッグ
      Fightサンプルで投げ技をしたときにカメラの中からキャラクターがいなくなってゲームが続けられなくなるバグを修正。
        821行目の座標計算のところで、「+」であるべきところが「*」になってました。


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


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


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

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

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

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


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

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


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


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

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

      モーションブラーのサンプルMotionBlurソリューションを追加

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

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

      モーションブラーのサンプルMotionBlurソリューションを修正。


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

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


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


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


ver5208(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ファイルに対応。


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

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


ver5210(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バッファの初期化と背景の描画は行いません。


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

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

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


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


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


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


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

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

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


ver5216(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


ver5217(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ソリューション。


ver5218(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するとエラー終了するバグを修正。

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

ver5218(2009/11/24)
    3DサウンドのサンプルとしてSound3Dソリューションを追加しました。
      マニュアルのE3DPlaySoundの説明にDX9 SDKのdmusici.hのインクルードが必要なことを追記しました。

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

    ver5.2.1.1以前のバージョンのソリューション設定をお使いの方に注意。
      ver5.2.1.1以前のバージョンではソリューションはVisual Studio 2005で作成していました。
      このソリューションをVisual Studio 2008用に変換するとReleaseビルドの最適化の設定が「カスタム」となってしまい
      最適化されずに能力の半分程度の速度しか出ません。
      最適化の項目を「速度優先」に自分で設定しなおすか、新たにVS2008でソリューションを作り直す必要があります。
      最適化の設定はソリューションエクスプローラ(通常左側に表示されているツリー)でソリューション名を右クリックし
      「プロパティ」を選びます。ダイアログが出たら上の方の「構成」のコンボボックスで「Release」を選びます。
      「C/C++」-->「最適化」のタブを選んで「最適化」のところで「実行速度/O2」を選んで「適用」ボタンを押します。

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

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

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

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

    モーフ情報を取得し表示するサンプルMorphInfoソリューションを追加。
    モーフを作成してから情報を表示するサンプルMorphInfo_Createソリューションを追加。

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

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

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

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

    地面データを読み込んだ場合に自動的にE3DSetShadowMapInterFlag hsid, -1, SHADOWIN_NOTを呼び出すのを
    忘れていたのを修正。
    (HSP版では呼び出していました。)

ver5227(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しか返さないバグを修正しました。

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

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

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

    E3DSetCameraKeyのマニュアルを修正。

ver5229(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乗の値を渡してください。

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

ver5231(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ソリューションを作成。
    
    デバッグ
      ラインの半透明表示が出来ていなかったのを修正。

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

ver5233(2010/03/16)
    影響度設定ツール作成用のマテリアル操作関数追加。
      E3DCreateAndSaveTempMaterial( int hsid );
      E3DRestoreAndDestroyTempMaterial( int hsid );
      E3DSetMaterialFromInfElem( int hsid, int jointno, int partno, int vertno );

      マテリアルの色を一時メモリに退避しておいて影響度設定用の色を自動で付けられます。

ver5234(2010/03/16 その2)
    影響度の計算方法に応じた色設定の各モードの色を設定可能にしました。
      E3DSetMaterialFromInfElemにデフォルト引数を追加。
      E3DSetMaterialFromInfElem( int hsid, int jointno, int partno, int vertno, E3DCOLOR3UC* infcolarray = 0 );

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

ver5301(2010/03/31 その2)
    HSP版にあってWin32版に無かった音機能を追加。
      E3DSetSoundFrequency
      E3DGetSoundFrequency

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

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

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

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

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

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

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


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

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


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


ver5308(2010/04/19)
    デバッグ
      E3DVec3Normalizeのバグを修正。
        srcvecとdstvecに異なる内容を与えた時に正しく動作しないバグを修正。

ver5309(2010/04/24)
    デバッグ
      E3DSetMaterialFromInfElemのバグを修正。
        対称ペイントの色に指定色が反映されず、デフォルト色になっていたバグを修正。

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

ver5310(2010/04/26)
    E3DSetMaterialFromInfElemをバージョンアップ。
      影響度の大きさによって濃淡が変化するようにしました。

ver5311(2010/04/27)
    E3DGetInfElemSymParamsの追加。
      CALCMODE_SYMで頂点ペイントした頂点の対称軸と対称距離を取得します。

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

ver5313(2010/05/16)
    IK情報の取得設定命令、クォータニオンの内容の取得設定命令、1つだけモーションを削除する命令の追加。
      E3DDestroyMotion
      E3DGetIKTargetPos
      E3DGetIKTargetState
      E3DGetIKTargetCnt
      E3DGetIKTargetLevel
      E3DGetIKLevel
      E3DSetIKTargetPos
      E3DSetIKTargetState
      E3DSetIKTargetCnt
      E3DSetIKTargetLevel
      E3DSetIKLevel
      E3DGetQVal
      E3DSetQVal
      E3DMultQArray
      E3DEulerZXY2Q
      E3DGetEulerLimit
      E3DSetEulerLimit
      E3DCalcEuler
      E3DGetBoneEuler
      E3DGetZa4Elem
      E3DSetZa4Elem
      E3DCalcZa4LocalQ
      E3DGetZa4LocalQ
      E3DGetZa3IniQ
      E3DSetBoneAxisQ
      E3DGetBoneAxisQ

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

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

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

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

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

ver5318(2010/06/13)
    Windows 7に対応。

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

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

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

ver5320(2010/06/21)
    面マテリアルのテクスチャ情報の取得設定命令を追加。
      int E3DGetMaterialTexParams( int hsid, int materialno, MATERIALTEX* dstparams );
      int E3DSetMaterialTexParams( int hsid, int materialno, MATERIALTEX* srcparams );

    テクスチャアニメ情報の取得設定命令を追加。
      int E3DCreateTexKey( int hsid, int boneno, int motid, int frameno );
      int E3DDelTexKey( int hsid, int boneno, int motid, int frameno );
      int E3DAddTexChange( int hsid, int boneno, int motid, int frameno, TEXCHANGE srctc );
      int E3DDelTexChange( int hsid, int boneno, int motid, int frameno, int materialno );
      int E3DGetTexChangeNum( int hsid, int boneno, int motid, int frameno, int* tcnumptr );
      int E3DGetTexChange( int hsid, int boneno, int motid, int frameno, int tcindex, TEXCHANGE* dsttc );
      int E3DGetTexAnimKeyframeNoRange( int hsid, int boneno, int motid,
        int srcstart, int srcend, int* framearray, int arrayleng, int* framenumptr );

    ディスプレイスイッチアニメ情報の取得設定命令を追加。
      int E3DCreateDSKey( int hsid, int boneno, int motid, int frameno );
      int E3DDelDSKey( int hsid, int boneno, int motid, int frameno );
      int E3DAddDSChange( int hsid, int boneno, int motid, int frameno, DSCHANGE srcdsc );
      int E3DDelDSChange( int hsid, int boneno, int motid, int frameno, int switchno );
      int E3DGetDSChangeNum( int hsid, int boneno, int motid, int frameno, int* dscnumptr );
      int E3DGetDSChange( int hsid, int boneno, int motid, int frameno, int dscindex, DSCHANGE* dstdsc );
      int E3DGetDSAnimKeyframeNoRange( int hsid, int boneno, int motid,
        int srcstart, int srcend, int* framearray, int arrayleng, int* framenumptr );

ver5321(2010/06/22)
    アルファテスト情報取得命令を追加。
      E3DGetMaterialAlphaTest

    MATERIALTEXのexttexメンバーを1次元配列にしたバージョンを追加。
      int E3DGetMaterialTexParams1DIM( int hsid, int materialno, MATERIALTEX1DIM* dstparams );
      int E3DSetMaterialTexParams1DIM( int hsid, int materialno, MATERIALTEX1DIM* srcparams );

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

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

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

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

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

ver5323(2010/07/14)
    パーツのプロパティ操作用の命令を追加。
      E3DGetPartPropName( int hsid, int partno, char* nameptr, int arrayleng );
      E3DSetPartPropName( int hsid, int partno, char* srcname );
      E3DGetPartPropDS( int hsid, int partno, int* dsptr );
      E3DSetPartPropDS( int hsid, int partno, int srcds );
      E3DGetPartPropNotUse( int hsid, int partno, int* flagptr );
      E3DSetPartPropNotUse( int hsid, int partno, int srcflag );

    E3DUpdateSoundより後でE3DSetSoundFrequencyを呼ぶとドップラー効果が無効になる不具合を修正。

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

ver5325(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を追加。

ver5326(2010/07/29)
    E3DLoadMOAFileの拡張。
      FillUpFrameLength引数に-1を指定した場合はmoaファイルに記述されているフレーム長を読み込むようにしました。
      RealTimeAnim2ソリューションを修正。

    E3DCloneDispObjを追加。
      モーフターゲットの追加などに使用します。

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

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

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

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

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

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

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

ver5331(2010/09/01)
    サンプルにWallソリューションを追加。
      地面との当たり判定と移動可能領域との当たり判定のサンプルです。
    dllはそのまま。同じバージョン、同じファイル名でアップ。
    現在18:40頃。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ver5346(2010/11/11 その2)
    Win32版にはスポットライトのパラメータを設定する命令がなかったのを修正。
      E3DSetSpotLightを追加。

    まだDL数が少なかったのでバージョン番号はそのままで修正リリース。

    現在21:20頃。

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

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

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

ver5348(2010/12/15)
    影響度2編集用の命令を追加。
      EASY3D_API int E3DCreateInfScope( int hsid, int boneno, int dispno, int* isindexptr );
      EASY3D_API int E3DDestroyInfScope( int hsid, int isindex );
      EASY3D_API int E3DExistInfScope( int hsid, int boneno, int dispno, int* isindexptr );
      EASY3D_API int E3DGetInfScopeNum( int hsid, int* numptr );
      EASY3D_API int E3DGetInfScopeInfo( int hsid, ISINFO* isiptr, int arrayleng, int* getnumptr );
      EASY3D_API int E3DSetInfScopeVert( int hsid, ISVERT srcisv );
      EASY3D_API int E3DGetInfScopeVert( int hsid, ISVERT* isvptr );
      EASY3D_API int E3DGetInfScopeVertNum( int hsid, int isindex, int* numptr );
      EASY3D_API int E3DPickInfScopeVert( int scid, int hsid, POINT scpos, POINT range, int isindex,
            ISVERT* isvptr, int arrayleng, int* getnumptr );
      EASY3D_API int E3DGetInfScopeAxis( int hsid, int isindex, D3DXVECTOR3* dstvec3x3ptr );
      EASY3D_API int E3DSetInfScopeColor( int hsid, int isindex, E3DCOLOR4UC srccol );
      EASY3D_API int E3DGetInfScopeColor( int hsid, int isindex, E3DCOLOR4UC* dstcolptr );
      EASY3D_API int E3DSetInfScopeDispFlag( int hsid, int isindex, int srcdispflag, int exclusiveflag );
      EASY3D_API int E3DGetInfScopeDispFlag( int hsid, int isindex, int* dstflagptr );
      EASY3D_API int E3DImportMQOAsInfScope( int hsid, char* filename, float mult, int boneno, int dispno, int* isindexptr );

    MOEの再生位置からquaのアニメ番号とフレーム番号を取得する命令を追加。
      EASY3D_API int E3DGetMOELocalMotionFrameNo( int hsid, int moeanimno, int moeframeno,
            int* localanimno, int* localframeno );
      EASY3D_API int E3DGetMOELocalNextMotionFrameNo( int hsid, int moeanimno, int moeframeno,
            int* localnextanimno, int* localnextframeno );

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

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

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

ver5400(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をすれば良いことになります。

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

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

ver5403(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)を指定する必要があります。

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

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

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

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

ver5407(2011/02/18)
    MOAの共通分岐禁止IDの設定命令を追加。(取得はE3DGetMOATrunkInfoで出来ます)
      E3DSetMOATrunkNotComIDを追加。

ver5408(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)を指定する必要があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

    E3DSetMaterialTransparentのバグを修正。

    E3DSetAlpha2のバグを修正。

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

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

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

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

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

ver5503(2011/07/27)
    ビルボード描画の修正。
      異なるブレンディングモードを混ぜたときにアルファテスト情報が切り替わらないバグを修正。

    サンプルの修正。
      裸のキャラを差し替えました。
      お子様も安心w

ver5504(2011/07/29)
    E3DSetTextureToDispObjをパーティクルに対応させました。

ver5505(2011/09/14)
    命令の追加。
      E3DGetInViewFlag
      E3DGetMotionJumpFrame
      E3DSetMotionJumpFrame
      E3DCopyTexAnimFrame
      E3DDestroyTexAnimFrame
      E3DGetMaterialExtTextureNum
      E3DGetMaterialExtTexture
      E3DLoadMQOFileAsGroundFromBuf
      E3DChgMaterial1stTexFromBuf
      E3DChgMaterialExtTexFromBuf

    サンプルの修正
      CustomShaderのサンプルの画面半分に何も表示されない使用例を変更。

    半透明ブレンド方法の変更
      ブレンドモード103の乗算を一般的なものに修正。

    E3DDrawTextByFontIDの拡張
      bmodeデフォルト引数を追加。
      文字の描画ごとにブレンドモードを指定出来るようにしました。
     
    マニュアル修正
      E3DPickFaceが距離10万以上で正常動作しない注意書きを追加。
      E3DDestroyRenderTargetの説明でRenderがRednerと書かれていたのを修正。

ver5506(2011/09/18)
    命令の追加。
      E3DChgMaterial1stTexFromID
      E3DChgMaterialExtTexFromID

ver5506-2(2011/09/20)
    デバッグ
      E3DSelectLightTypeがリンクエラーになるバグを修正。
      スポットライト用のシェーダーのリソース関連のバグを修正。
      HSP版とバージョンをあわせるために同一バージョンでリリース。

ver5507(2011/10/01)
    カメラの注視ボーンに対応。

    E3DSetCameraAnimTargetHsidAll命令追加。

ver5508(2011/10/13)
    省メモリ対策。
      E3DCreateRenderTargetTextureにneedz引数を追加。
      needzに0を指定した場合はZバッファを作成しません。
      作成したレンダーターゲットテクスチャをE3DBlendRTTextureでしか使わない場合などはneedzを0に出来ます。

ver5511(2011/12/11)
    msvcr100.dll, msvcp100.dllを開発マシンのSysWOW64フォルダの中のバージョンに差し替え。
      バージョンが新しくなりました。

    DispSwitchを強制設定する命令を追加。
      E3DSetDispSwitchForce
      モーションの設定よりも優先されます。

ver5512(2011/12/18)
    今まで1つのCPUで実行するようにしていた制限をはずしました。
      Thread読み込み命令の実行などが、マルチコア環境で速くなります。

    ビルド環境のバージョンアップ。
      Visual Studio 2010のサービスパック1を導入しました。
      msvcr100.dll, msvcp100.dllもサービスパックに対応したものに変更。

ver5513(2012/01/31)
    デスクトップマスコットの命令とサンプルを追加。
      E3DSetWindowRgn命令の追加。
      不定形リージョンを用いたデスクトップマスコットが作れるようになりました。
      サンプルはDesktopM_Rgnソリューションです。

ver5514(2012/02/19)
    スプライトの描画時にアルファテストを有効にするようにしました。
    マニュアルのトップページのリンクがおかしくなっていたのを直しました。

ver5515(2012/03/20)
    表示用パーツの削除命令を追加。
      E3DDestroyDispPart

ver5516(2012/03/23)
    動画再生機能が付きました。
    E3DPlayMovie命令追加。
    動画再生サンプル作成。HSP版はe3dhsp3_PlayMovie.hsp。Win32版はPlayMovieソリューション。

トップページに戻る