NN for DirectX G2.0 on Windows Sample Version 1.01.06(lib Ver 1.01.06)

2009/06/19


○はじめに

　  本プログラムは、NN for DirectX G2.0 のライブラリとデータを使用したサンプルで
  す。

    本プログラムが扱うデータはβ版から DirectX G2.0 のデータを使用します。(α版
  は Xenon のデータを使用していました。)

  ※SMPWIN, SMPDX について
    SMPWIN, SMPDXともサンプルのみの使用を目的として作成したプログラムです。
    著作権の問題からアプリには組み込まないで下さい。
    また、タイトルのマスター保存用ソースにも、含めないようにして下さい。（移植な
    どの目的で社外へ開示する際に、再配布に関する問題を回避する為。）


○開発環境(動作環境)

  ・システム
    Microsoft Windows XP Professional Version 2002 Service Pack 2
    Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz 1.87 GHz、2.00 GB RAM
    NVIDIA GeForce 8800 GTS  640 MB  ドライババージョン 182.50

  ・ツール
    Microsoft Visual Studio 2005
    Microsoft Visual Studio 2008

  ・SDK
    DirectX SDK - November 2008


○準備

  ・サンプルをビルドするには
    NN Library for DirectX G2.0 on Windows Version 1.01.06 のライブラリが必要で 
    す。
    ライブラリは別パッケージになっております。
    詳細についてはライブラリの reademe.txt の準備を参照してください。


○ディレクトリ・ファイル構成

  nn/                      // 環境変数 NN_DXG20_ON_WIN_TOP に設定するディレクトリ
    sample/                //   サンプルプログラム（※）
      doc/                 //     サンプルのドキュメント 
        history_sample.txt //       サンプルの更新履歴
      FrameWork/           //     フレームワークサンプル
      Primitive2D/         //     2Dプリミティブ描画サンプル
      Primitive3D/         //     3Dプリミティブ描画サンプル
      NormalMap/           //     法線マップデータ描画サンプル
      MultiDraw/           //     複数オブジェクト描画サンプル
      MorphMotion/         //     モーフモーションの描画サンプル
      DualEnvMap/          //     デュアルパラボロイド環境マップ描画サンプル
      ShadowMap/           //     シャドウマップ描画サンプル(描画フラグユーザープロファイル機能を使用したサンプル)
      ShaderEnvelope/      //     シェーダエンベロープ計算サンプル
      PreCompileShader/    //     事前コンパイルサンプル
      CubeMap/             //     キューブマップ描画サンプル(ユーザーサンプラー機能を使用したサンプル)
      Glare/               //     グレア描画サンプル(マテリアルユーザープロファイル、描画フラグユーザープロファイル、ユーザーマップを使用したサンプル)
      XSIIK/               //     プログラムからエフェクタの姿勢を変更して動的にIK計算を行なうサンプル
      readme_sample.txt    //   このファイル

  ※サンプルプログラムについて
    β版のサンプルから別パッケージになっております。
    サンプルのインストール先は NN for DirectX G2.0 のライブラリのディレクトリで
    す。(ライブラリの reademe.txt のディレクトリ・ファイル構成を参照してください
    。)

  ※サンプルのシェーダについて
    基本的にライブラリにある nnstdshader を使いますが、カスタマイズしたサンプル
    についてはコピーしています。
    以下カスタマイズしたサンプル
    ・ShadowMap サンプルでは描画フラグユーザープロファイル機能を使用。
    ・CubeMap サンプルではユーザーサンプラー機能を使用。
    ・Glare サンプルではマテリアルユーザープロファイル、描画フラグユーザープロフ
      ァイル、ユーザーマップ機能を使用。

  ※サンプルのシェーダバージョン(プロファイル)について
    基本的にはライブラリが環境に応じて一番上のシェーダバージョンを自動で選択する
    ようになっています。ライブラリが選択するバージョンの範囲は2.0〜3.0です。
    これ以外に明示的にシェーダバージョンを指定する方法があります。
    nnConfigureSystemDXG20 関数の引数３番目と４番目で指定することが出来ます。
    以下に指定可能なバージョンを示します。

      サンプル          頂点シェーダ  ピクセルシェーダ
      FrameWork         vs_2_0 以上   ps_2_0 以上
      Primitive2D       vs_2_0 以上   ps_2_0 以上
      Primitive3D       vs_2_0 以上   ps_2_0 以上
      NormalMap         vs_2_0 以上   ps_2_0 以上
      MultiDraw         vs_2_0 以上   ps_2_0 以上
      MorphMotion       vs_2_0 以上   ps_2_0 以上
      DualEnvMap        vs_2_0 以上   ps_2_0 以上
      ShadowMap         vs_2_0 以上   ps_2_a 以上(ddx,ddy 関数を使っているので ps_2_a 以上になる)
      ShaderEnvelope    vs_2_0 以上   ps_2_0 以上
      PreCompileShader  vs_2_0 以上   ps_2_0 以上
      CubeMap           vs_2_0 以上   ps_2_0 以上
      Glare             vs_2_0 以上   ps_2_a 以上(ps_2_0ではグレアシェーダでエラーになるので…。)
      XSIIK             vs_2_0 以上   ps_2_0 以上

      例
        nnConfigureSystemDXG20( pD3DDev, pD3DPP, NNE_SHADER_VERSION_2_0, NNE_SHADER_VERSION_2_0 );
        //                                       |                       |_ ピクセルシェーダのバージョン
        //                                       |_________________________ 頂点シェーダのバージョン
        // ※Version 1.01.00 から nnConfigureSystemDXG20 で設定するよう仕様を変更した。
        //   (nnInitShaderVersionDXG20 関数は使用できません。)
