================================================================================

2009/04/17
NN Library for DirectX G2.0 固有関数および新規追加関数一覧(Ver.1.00.04)

================================================================================

○更新履歴

2009/04/17(Ver.1.00.04)
・nnDeleteVertexMorphObjectDXG20 関数を追加。
・nnSetPrimitive2DBlendDXG20 関数を追加。
・nnSetPrimitive3DBlendDXG20 関数を追加。

2009/01/29(Ver.1.00.03)
・nnSetFogDensityDXG20 関数を追加。
・nnSetFogLinearDXG20 関数を追加。
・nnSetFogExpDXG20 関数を追加。
・nnSetFogExp2DXG20 関数を追加。
・nnSetLightAmbientColorDXG20 関数を追加。
・nnSetLightDiffuseColorDXG20 関数を追加。
・nnSetLightSpecularColorDXG20 関数を追加。
・nnSetLightSpotAngleDXG20 関数を追加。
・nnSetLightAttnDXG20 関数を追加。
・nnSetPrimitive2DAlphaTestDXG20 関数を追加。
・nnSetPrimitive2DAlphaFuncDXG20 関数を追加。
・nnSetPrimitive2DDepthTestDXG20 関数を追加。
・nnSetPrimitive2DDepthFuncDXG20 関数を追加。
・nnSetPrimitive2DDepthMaskDXG20 関数を追加。
・nnSetPrimitive3DAlphaTestDXG20 関数を追加。
・nnSetPrimitive3DAlphaFuncDXG20 関数を追加。
・nnSetPrimitive3DDepthTestDXG20 関数を追加。
・nnSetPrimitive3DDepthFuncDXG20 関数を追加。
・nnSetPrimitive3DDepthMaskDXG20 関数を追加。
・nnSetCompileErrorCallbackStdShaderDXG20 関数を追加。
・nnGetCompileErrorCallbackStdShaderDXG20 関数を追加。
・nnSetCompileOptionStdShaderDXG20 関数を追加。
・nnGetCompileOptionStdShaderDXG20 関数を追加。
・nnSetBuildCallbackStdShaderDXG20 関数を追加。
・nnGetBuildCallbackStdShaderDXG20 関数を追加。
・nnSetD3DXIncludeDXG20 関数を追加。
・nnGetD3DXIncludeDXG20 関数を追加。
・nnEnableOndemandShaderCreation 関数を追加。
・nnRegistStdShaderName 関数を追加。
・nnBuildStdShader 誤りがあったので修正。

2008/12/12(Ver.1.00.02)
・nnCreateTextureDXG20 関数の引数にテクスチャ管理を追加。
・nnCreateD3DTextureFromFileInMemoryDXG20 関数追加。
・nnCreateD3DTextureFromFileInMemoryExDXG20 関数追加。
・nnLoadTextureMemoryOneExDXG20 関数を追加。

2008/11/28(Ver.1.00.01)
・nnCreateTextureDXG20 関数追加。
・nnSetSamplerStateDXG20 関数追加。

2008/11/21(Ver.1.00.00)
・初期リリース。

================================================================================

************************ 初期化 **********************************************

/*----------------------------------------------------------------------------
    関数名 : nnConfigureSystemDXG20
    機　能 : NNライブラリ初期化
    書　式 : void nnConfigureSystemDXG20( const void *d3ddevice, const void *d3dpp, NNE_SHADER_VERSION vsVer, NNE_SHADER_VERSION psVer )
    引　数 : d3ddevice : IDirect3DDeviceインターフェイス
             d3dpp     : プレゼンテーションパラメータ
			 vsVer     : 頂点シェーダのバージョン
			 psVer     : ピクセルシェーダのバージョン
    戻り値 : 0 : 成功、1 : 失敗
    説　明 : デバイス情報や設定情報を保持し、各種ステータスの初期設定を行います。
	         同時にシェーダバージョンの初期化設定も行います。
			 NNE_SHADER_VERSION_DEFAULT を指定した場合環境に従って設定されます。
    備　考 :
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnExitConfigureSystemDXG20
    機　能 : NNライブラリの終了
    書　式 : void nnExitConfigureSystemDXG20(void)
    引　数 : なし
    戻り値 : なし
    説　明 : NNライブラリの終了をします
    備　考 : ステートブロックをリリースします。
----------------------------------------------------------------------------*/

○Dirext3D 関連
/*----------------------------------------------------------------------------
    関数名 : nnGetDirect3DDeviceDXG20
    機　能 : Dirext3Dデバイスの取得
    書　式 : const void *nnGetDirect3DDeviceDXG20(void)
    引　数 : なし
    戻り値 : IDirect3DDeviceインターフェイスのポインタ
    説　明 : Dirext3Dデバイスを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetD3DPresentParametersDXG20
    機　能 : Dirext3Dプレゼンテーションパラメータの取得
    書　式 : const void *nnGetD3DPresentParametersDXG20(void)
    引　数 : なし
    戻り値 : プレゼンテーションパラメータ(D3DPRESENT_PARAMETERS)のポインタ
    説　明 : Dirext3Dプレゼンテーションパラメータを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetD3DXIncludeDXG20
    機　能 : ID3DXIncludeインターフェイスを設定する
    書　式 : void nnSetD3DXIncludeDXG20(const void *d3dinc)
    引　数 : d3dinc : インターフェイスのポインタ(LPD3DXINCLUDE)
    戻り値 : なし
    説　明 : ID3DXIncludeインターフェイスを設定します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetD3DXIncluderDXG20
    機　能 : ID3DXIncludeインターフェイスの取得
    書　式 : const void *nnGetD3DXIncluderDXG20(void)
    引　数 : なし
    戻り値 : インターフェイスのポインタ(LPD3DXINCLUDE)
    説　明 : ID3DXIncludeインターフェイスを取得します
    備　考 : 
----------------------------------------------------------------------------*/

○シェーダバージョン
/*----------------------------------------------------------------------------
    関数名 : nnGetVertexShaderVersionDXG20
    機　能 : 頂点シェーダのバージョンを返します
    書　式 : NNE_SHADER_VERSION nnGetVertexShaderVersionDXG20(void)
    引　数 : なし
    戻り値 : シェーダバージョン
    説　明 : 頂点シェーダのバージョンを返します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetVertexShaderVersionStringDXG20
    機　能 : 頂点シェーダのバージョン文字列を返します
    書　式 : const char *nnGetVertexShaderVersionStringDXG20(void)
    引　数 : なし
    戻り値 : シェーダバージョン文字列
    説　明 : 頂点シェーダのバージョン文字列を返します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetPixelShaderVersionDXG20
    機　能 : ピクセルシェーダのバージョンを返します
    書　式 : NNE_SHADER_VERSION nnGetPixelShaderVersionDXG20(void)
    引　数 : なし
    戻り値 : シェーダバージョン
    説　明 : ピクセルシェーダのバージョンを返します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetPixelShaderVersionStringDXG20
    機　能 : ピクセルシェーダのバージョン文字列を返します
    書　式 : const char *nnGetPixelShaderVersionStringDXG20(void)
    引　数 : なし
    戻り値 : シェーダバージョン文字列
    説　明 : ピクセルシェーダのバージョン文字列を返します
    備　考 : 
----------------------------------------------------------------------------*/

○頂点バッファ
/*---------------------------------------------------------------------------
    関数名 : nnInitVertexBufferDXG20
    機　能 : 頂点バッファの初期化
    書　式 : void nnInitVertexBufferDXG20( void *pVB, Uint32 Size)
    引　数 : pVB  : 頂点バッファポインタ
	         Size : サイズ
    戻り値 : なし
    説　明 : 頂点バッファの初期化をします
	備　考 : 
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnExitVertexBufferDXG20
    機　能 : 頂点バッファの終了
    書　式 : void nnExitVertexBufferDXG20(void)
    引　数 : なし
    戻り値 : なし
    説　明 : 頂点バッファの終了をします
	備　考 : 
---------------------------------------------------------------------------*/

○頂点宣言
/*----------------------------------------------------------------------------
    関数名 : nnResetVertexDeclarationDXG20
    機　能 : 頂点宣言のリセット
    書　式 : void nnResetVertexDeclarationDXG20(void)
    引　数 : なし
    戻り値 : なし
    説　明 : 頂点宣言をリセットします
    備　考 :
----------------------------------------------------------------------------*/

************************ 頂点・インデクスデータ ******************************

/*----------------------------------------------------------------------------
    関数名 : nnCalcVertexBufferObjectSizeDXG20
	機　能 : nnVertexBufferObjectDXG20で必要なバッファサイズ計算
	書　式 : Uint32 nnCalcVertexBufferObjectSizeDXG20(const NNS_OBJECT *obj, NNF_VTXOBJ flag)
	引　数 : obj  : オブジェクトポインタ
			 flag : フラグ
    戻り値 : コピーサイズ
    説　明 : nnVertexBufferObjectDXG20で必要なバッファサイズを計算します。
    備　考 : flagはNND_VTXDOBJ_EXCLUDE_PLIABLE_VERTICESに対応
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnVertexBufferObjectDXG20
    機　能 : 頂点・インデクスバッファの取得
    書　式 : Uint32 nnVertexBufferObjectDXG20(NNS_OBJECT *dstobj, const NNS_OBJECT *srcobj, NNF_VTXOBJ flag)
    引　数 : dstobj : コピー先オブジェクト構造体へのポインタ
             srcobj : コピー元オブジェクト構造体へのポインタ
			 flag   : フラグ
    戻り値 : コピーサイズ
    説　明 : オブジェクトの頂点・インデクスデータを取得します。
    備　考 : dstobj は nnCalcVertexBufferObjectSizeDXG20 で得られるサイズのバッファが必要です。
	　　　   実行後 srcobj はメモリ上から解放できます。
	　　　   flagはNND_VTXOBJ_EXCLUDE_PLIABLE_VERTICESに対応
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnDeleteVertexObjectDXG20
    機　能 : 頂点・インデクスバッファを削除
    書　式 : void nnDeleteVertexObjectDXG20(NNS_OBJECT *obj)
    引　数 : obj : オブジェクトポインタ
    戻り値 : なし
    説　明 : 頂点・インデクスバッファを削除
    備　考 : 実行後、 obj は使用できなくなります。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnDeleteVertexMorphObjectDXG20
    機　能 : モーフオブジェクトの頂点バッファを削除
    書　式 : void nnDeleteVertexMorphObjectDXG20(NNS_MORPHOBJ *mobj)
    引　数 : mobj : モーフオブジェクトポインタ
    戻り値 : なし
    説　明 : モーフオブジェクトの頂点を削除します。
    備　考 : 実行後、 mobj は使用できなくなります。
	         ※nnDeleteVertexObjectDXG20を使って削除した場合その後の処理で不具合が発生することがあります。
			   本関数で必ず削除するようにして下さい。
----------------------------------------------------------------------------*/

************************ プリミティブ ****************************************

/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DAlphaTestDXG20
    機　能 : 2Dプリミティブのアルファテスト有効／無効
    書　式 : void nnSetPrimitive2DAlphaTestDXG20( NNE_BOOL enb )
    引　数 : enb : NNE_TRUE or NNE_FALSE
    戻り値 : なし
    説　明 : 2Dプリミティブのアルファテスト有効／無効を設定する。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DAlphaFuncDXG20
    機　能 : 2Dプリミティブのアルファテスト設定
    書　式 : void nnSetPrimitive2DAlphaFuncDXG20( NNE_CMPFUNC func, Uint32 ref );
    引　数 : func	: アルファテスト比較式
    　　　   ref	: アルファテスト比較値0x00〜0xff
    戻り値 : なし
    説　明 : 2Dプリミティブ描画のアルファテストモードを設定します。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DDepthTestDXG20
    機　能 : 2Dプリミティブのデプステスト有効／無効
    書　式 : void nnSetPrimitive2DDepthTestDXG20( NNE_BOOL enb )
    引　数 : enb : NNE_TRUE or NNE_FALSE
    戻り値 : なし
    説　明 : 2Dプリミティブのデプステスト有効／無効を設定する。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DDepthFuncDXG20
    機　能 : 2Dプリミティブのデプステスト設定
    書　式 : void nnSetPrimitive2DDepthFuncDXG20( NNE_CMPFUNC func );
    引　数 : func	: デプステスト比較式
    戻り値 : なし
    説　明 : 2Dプリミティブ描画のデプステストモードを設定します。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DDepthMaskDXG20
    機　能 : 2Dプリミティブのデプスマスク設定
    書　式 : void nnSetPrimitive2DDepthMaskDXG20( NNE_BOOL enb )
    引　数 : enb	: デプスマスク設定 NNE_TRUE,NNE_FALSEのいずれか
    戻り値 : なし
    説　明 : 2Dプリミティブ描画のデプスマスクモードを設定します。
	         NNE_TRUE  : 深度を更新する。
			 NNE_FALSE : 深度を更新しない。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive2DBlendDXG20
    機　能 : 2Dプリミティブのブレンドモードの設定
    書　式 : void nnSetPrimitive2DBlendDXG20( NNE_BLENDMODE srcFunc, NNE_BLENDMODE dstFunc, NNE_BLENDOP op)
    引　数 : srcFunc : ソースのブレンド関数
	                   次の指定が可能です。
					     NNE_BLENDMODE_ZERO
						 NNE_BLENDMODE_ONE
						 NNE_BLENDMODE_SRCCOL
						 NNE_BLENDMODE_INVSRCCOL
						 NNE_BLENDMODE_SRCALPHA
						 NNE_BLENDMODE_INVSRCALPHA
						 NNE_BLENDMODE_DSTALPHA
						 NNE_BLENDMODE_INVDSTALPHA
						 NNE_BLENDMODE_DSTCOL
						 NNE_BLENDMODE_INVDSTCOL
						 NNE_BLENDMODE_SRCALPHASAT
	         dstFunc : デストのブレンド関数
			           srcFunc と同じ指定が可能です。
			 op      : ブレンド計算式
			           次の指定が可能です。
					     NNE_BLENDOP_ADD
						 NNE_BLENDOP_SUB
						 NNE_BLENDOP_REVSUB
						 NNE_BLENDOP_MIN
						 NNE_BLENDOP_MAX
    戻り値 : なし
    説　明 : 2Dプリミティブ描画のブレンドモードを設定します。
	         nnSetPrimitiveBlend 関数を併用した場合、後に設定した方が有効になります。
    備　考 : nnBeginDrawPrimitive_***_2D, nnBeginDrawPrimitive_***_2DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DAlphaTestDXG20
    機　能 : 3Dプリミティブのアルファテスト有効／無効
    書　式 : void nnSetPrimitive3DAlphaTestDXG20( NNE_BOOL enb )
    引　数 : enb : NNE_TRUE or NNE_FALSE
    戻り値 : なし
    説　明 : 3Dプリミティブのアルファテスト有効／無効を設定する。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DAlphaFuncDXG20
    機　能 : 3Dプリミティブのアルファテスト設定
    書　式 : void nnSetPrimitive3DAlphaFuncDXG20( NNE_CMPFUNC func, Uint32 ref );
    引　数 : func	: アルファテスト比較式
    　　　   ref	: アルファテスト比較値0x00〜0xff
    戻り値 : なし
    説　明 : 3Dプリミティブ描画のアルファテストモードを設定します。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DDepthTestDXG20
    機　能 : 3Dプリミティブのデプステスト有効／無効
    書　式 : void nnSetPrimitive3DDepthTestDXG20( NNE_BOOL enb )
    引　数 : enb : NNE_TRUE or NNE_FALSE
    戻り値 : なし
    説　明 : 3Dプリミティブのデプステスト有効／無効を設定する。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DDepthFuncDXG20
    機　能 : 3Dプリミティブのデプステスト設定
    書　式 : void nnSetPrimitive3DDepthFuncDXG20( NNE_CMPFUNC func );
    引　数 : func	: デプステスト比較式
    戻り値 : なし
    説　明 : 3Dプリミティブ描画のデプステストモードを設定します。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DDepthMaskDXG20
    機　能 : 3Dプリミティブのデプスマスク設定
    書　式 : void nnSetPrimitive3DDepthMaskDXG20( NNE_BOOL enb )
    引　数 : enb	: デプスマスク設定 NNE_TRUE,NNE_FALSEのいずれか
    戻り値 : なし
    説　明 : 3Dプリミティブ描画のデプスマスクモードを設定します。
	         NNE_TRUE  : 深度を更新する。
			 NNE_FALSE : 深度を更新しない。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetPrimitive3DBlendDXG20
    機　能 : 3Dプリミティブのブレンドモードの設定
    書　式 : void nnSetPrimitive3DBlendDXG20( NNE_BLENDMODE srcFunc, NNE_BLENDMODE dstFunc, NNE_BLENDOP op)
    引　数 : srcFunc : ソースのブレンド関数
	                   次の指定が可能です。
					     NNE_BLENDMODE_ZERO
						 NNE_BLENDMODE_ONE
						 NNE_BLENDMODE_SRCCOL
						 NNE_BLENDMODE_INVSRCCOL
						 NNE_BLENDMODE_SRCALPHA
						 NNE_BLENDMODE_INVSRCALPHA
						 NNE_BLENDMODE_DSTALPHA
						 NNE_BLENDMODE_INVDSTALPHA
						 NNE_BLENDMODE_DSTCOL
						 NNE_BLENDMODE_INVDSTCOL
						 NNE_BLENDMODE_SRCALPHASAT
	         dstFunc : デストのブレンド関数
			           srcFunc と同じ指定が可能です。
			 op      : ブレンド計算式
			           次の指定が可能です。
					     NNE_BLENDOP_ADD
						 NNE_BLENDOP_SUB
						 NNE_BLENDOP_REVSUB
						 NNE_BLENDOP_MIN
						 NNE_BLENDOP_MAX
    戻り値 : なし
    説　明 : 3Dプリミティブ描画のブレンドモードを設定します。
	         nnSetPrimitiveBlend 関数を併用した場合、後に設定した方が有効になります。
    備　考 : nnBeginDrawPrimitive_***_3D, nnBeginDrawPrimitive_***_3DDXG20 関数を呼び出す前に設定して下さい。
----------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnGetRegModeDrawPrimitiveDXG20
	機　能 : レジスタ用内部変数の保存(DrawPrimitive用)
    書　式 : void nnGetRegModeDrawPrimitiveDXG20( void ) 
    引　数 : なし
    戻り値 : なし
    説　明 : レジスタ用内部変数の値を保存します
	備  考 : nnBeginDrawPrimitive_***_DXG20 の前に必ず呼ぶこと
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnSetRegModeDrawPrimitiveDXG20
    機　能 : 各モードの設定(DrawPrimitive用)
    書　式 : void nnSetRegModeDrawPrimitiveDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 保存したレジスタ用内部変数をもとに設定します。
    備  考 : nnEndDrawPrimitive_***_DXG20 の後に必ず呼ぶこと
---------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitive2DDXG20
    機　能 : 2Dプリミティブの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitive2DDXG20( NNE_PRIM2D_FMT fmt, NNE_PRIM_ALPHABLEND blend )
    引　数 : fmt   : 頂点フォーマットタイプ
                     NNE_PRIM2D_FMT_PC,
                     NNE_PRIM2D_FMT_PCT
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
    戻り値 : なし
    説　明 : 2Dプリミティブの描画開始を宣言します。
             nnDrawPrimitive2D 関数の実行前に呼び出す必要があり、
             nnEndDrawPrimitive2D 関数で描画終了するまでは、
             これらの描画設定が維持されます。
    備　考 : 2Dプリミティブ描画に必要なブレンド設定やテクスチャ設定は、
             本関数を呼び出す前に完了している必要があります。
             ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitive2DDXG20
    機　能 : 2Dプリミティブの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitive2DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 2Dプリミティブの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitive3DDXG20
    機　能 : 3Dプリミティブの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitive3DDXG20( NNE_PRIM3D_FMT fmt, NNE_PRIM_ALPHABLEND blend,
                                               NNE_PRIM_LIGHT light, NNE_PRIM_CULL cull )
    引　数 : fmt   : 頂点フォーマットタイプ
                     NNE_PRIM3D_FMT_P
                     NNE_PRIM3D_FMT_PN
                     NNE_PRIM3D_FMT_PC
                     NNE_PRIM3D_FMT_PNT
                     NNE_PRIM3D_FMT_PCT
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
             light : ライティング
                     NNE_PRIM_LIGHT_DISABLE  : ライティング無し
                     NNE_PRIM_LIGHT_ENABLE   : ライティング有り
                     NNE_PRIM_LIGHT_SPECULAR : ライティング有り(スペキュラ付き)
             cull  : カリングモード
                     NNE_PRIM_CULL_NONE : カリング無し
                     NNE_PRIM_CULL_R    : 右回りのポリゴンをカリング
                     NNE_PRIM_CULL_L    : 左回りのポリゴンをカリング
    戻り値 : なし
    説　明 : 3Dプリミティブの描画開始を宣言します。
             nnDrawPrimitive3D 関数の実行前に呼び出す必要があり、
             nnEndDrawPrimitive3D 関数で描画終了するまでは、これらの描画設定が
             維持されます。
             fmt で法線付きフォーマット(NNE_PRIM3D_FMT_PN、NNE_PRIM3D_FMT_PNT)を
             指定した場合は、ライティングにマテリアルカラーを使用し、カラー付き
             フォーマット(NNE_PRIM3D_FMT_PC、NNE_PRIM3D_FMT_PCT)を指定した場合は、
             ライティングに頂点カラーを使用します。
             light の指定によってライティングの選択をします。
    備　考 : 3Dプリミティブ描画に必要な各種マテリアル設定は、本関数を
             呼び出す前に完了している必要があります。
             ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitive3DDXG20
    機　能 : 3Dプリミティブの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitive3DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 3Dプリミティブの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitiveLine2DDXG20
    機　能 : 2Dプリミティブラインの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitiveLine2DDXG20( const NNS_RGBA *col, NNE_PRIM_ALPHABLEND blend )
    引　数 : col   : ラインカラー
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
    戻り値 : なし
    説　明 : 2Dプリミティブラインの描画開始を宣言します。
    　　　   nnDrawPrimitiveLine2D 関数の実行前に呼び出す必要があり、
    　　　   nnEndDrawPrimitiveLine2D 関数で描画終了するまでは、
             これらの描画設定が維持されます。
    備　考 : ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitiveLine2DDXG20
    機　能 : 2Dプリミティブラインの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitiveLine2DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 2Dプリミティブラインの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitiveLine3DDXG20
    機　能 : 3Dプリミティブラインの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitiveLine3DDXG20( const NNS_RGBA *col, NNE_PRIM_ALPHABLEND blend )
    引　数 : col   : ラインカラー
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
    戻り値 : なし
    説　明 : 3Dプリミティブラインの描画開始を宣言します。
    　　　   nnDrawPrimitiveLine3D 関数の実行前に呼び出す必要があり、
    　　　   nnEndDrawPrimitiveLine3D 関数で描画終了するまでは、
             これらの描画設定が維持されます。
    備　考 : ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitiveLine3DDXG20
    機　能 : 3Dプリミティブラインの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitiveLine3DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 3Dプリミティブラインの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitivePoint2DDXG20
    機　能 : 2Dプリミティブポイントの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitivePoint2DDXG20( NNE_PRIM2D_POINT_FMT fmt,
                                                    const NNS_RGBA *col, NNE_PRIM_ALPHABLEND blend )
    引　数 : fmt   : 頂点フォーマットタイプ
	                 NNE_PRIM2D_POINT_FMT_P
	                 NNE_PRIM2D_POINT_FMT_PC
    　　　   col   : カラー（NNE_PRIM2D_POINT_FMT_P）の場合のみ
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
    戻り値 : なし
    説　明 : 2Dプリミティブポイントの描画開始を宣言します。
             nnDrawPrimitivePoint2D 関数の実行前に呼び出す必要があり、
             nnEndDrawPrimitivePoint2D 関数で描画終了するまでは、
             これらの描画設定が維持されます。
    備　考 : 2Dプリミティブポイント描画に必要なブレンド設定やテクスチャ設定は、
             本関数を呼び出す前に完了している必要があります。
             ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitivePoint2DDXG20
    機　能 : 2Dプリミティブポイントの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitivePoint2DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 2Dプリミティブポイントの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnBeginDrawPrimitivePoint3DDXG20
    機　能 : 3Dプリミティブポイントの描画開始宣言(高速版)
    書　式 : void nnBeginDrawPrimitivePoint3DDXG20( NNE_PRIM3D_POINT_FMT fmt,
                                                    const NNS_RGBA *col, NNE_PRIM_ALPHABLEND blend )
    引　数 : fmt   : 頂点フォーマットタイプ
                     NNE_PRIM3D_POINT_FMT_P
                     NNE_PRIM3D_POINT_FMT_PC
    　　　   col   : カラー（NND_PRIM3D_FMT_P）の場合のみ
             blend : アルファブレンド
                     NNE_PRIM_ALPHABLEND_ON  : アルファブレンドを行う
                     NNE_PRIM_ALPHABLEND_OFF : アルファブレンドを行わない
    戻り値 : なし
    説　明 : 3Dプリミティブポイントの描画開始を宣言します。
             nnDrawPrimitivePoint3D 関数の実行前に呼び出す必要があり、
             nnEndDrawPrimitivePoint3D 関数で描画終了するまでは、
             これらの描画設定が維持されます。
    備　考 : 3Dプリミティブポイント描画に必要な各種設定は呼び出す前に完了している必要があります。
             ※nnGetRegModeDrawPrimitiveDXG20 を先に呼んでおくこと
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEndDrawPrimitivePoint3DDXG20
    機　能 : 3Dプリミティブポイントの描画終了宣言(高速版)
    書　式 : void nnEndDrawPrimitivePoint3DDXG20( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 3Dプリミティブポイントの描画終了を宣言します。
    備　考 : ※nnSetRegModeDrawPrimitiveDXG20 を後で呼ぶこと
----------------------------------------------------------------------------*/

************************ ライト設定 ******************************************

/*----------------------------------------------------------------------------
    関数名 : nnSetLightAmbientColorDXG20
    機　能 : ライトアンビエントカラーの設定
    書　式 : void nnSetLightAmbientColorDXG20( NNE_LIGHT no, Float r, Float g, Float b, Float a )
    引　数 : no	  : ライト番号
    　　　　 r    : アンビエントカラーの赤の成分(0.f 〜 1.f)
    　　　   g    : アンビエントカラーの緑の成分(0.f 〜 1.f)
    　　　   b    : アンビエントカラーの青の成分(0.f 〜 1.f)
    　　　   a    : アンビエントカラーのαの成分(0.f 〜 1.f)
    戻り値 : なし
    説　明 : ライトアンビエントカラーを設定します。nnSetLight関数の後に使用し直接書き換えます。
	         ライト番号には NNE_LIGHT_0 から NNE_LIGHT_MAX 未満を指定します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetLightDiffuseColorDXG20
    機　能 : ライトディフューズカラーの設定
    書　式 : void nnSetLightDiffuseColorDXG20( NNE_LIGHT no, Float r, Float g, Float b, Float a)
    引　数 : no	  : ライト番号
    　　　　 r    : ディフューズカラーの赤の成分(0.f 〜 1.f)
    　　　   g    : ディフューズカラーの緑の成分(0.f 〜 1.f)
    　　　   b    : ディフューズカラーの青の成分(0.f 〜 1.f)
    　　　   a    : ディフューズカラーのαの成分(0.f 〜 1.f)
    戻り値 : なし
    説　明 : ライトディフューズカラーを設定します。nnSetLight関数の後に使用し直接書き換えます。
	         ライト番号には NNE_LIGHT_0 から NNE_LIGHT_MAX 未満を指定します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetLightSpecularColorDXG20
    機　能 : ライトスペキュラカラーの設定
    書　式 : void nnSetLightSpecularColorDXG20( NNE_LIGHT no, Float r, Float g, Float b, Float a )
    引　数 : no	  : ライト番号
    　　　　 r    : スペキュラカラーの赤の成分(0.f 〜 1.f)
    　　　   g    : スペキュラカラーの緑の成分(0.f 〜 1.f)
    　　　   b    : スペキュラカラーの青の成分(0.f 〜 1.f)
    　　　   a    : スペキュラカラーのαの成分(0.f 〜 1.f)
    戻り値 : なし
    説　明 : ライトスペキュラカラーを設定します。nnSetLight関数の後に使用し直接書き換えます。
	         ライト番号には NNE_LIGHT_0 から NNE_LIGHT_MAX 未満を指定します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetLightSpotAngleDXG20
    機　能 : スポットライトの範囲の設定
    書　式 : void nnSetLightSpotAngleDXG20( NNE_LIGHT no, Angle32 theta, Angle32 phi, Float falloff )
    引　数 : no	     : ライト番号
			 theta   : 内部コーン角度(アングル）
             phi     : 外部コーン角度(アングル）
			 falloff : フォールオフ係数
    戻り値 : なし
    説　明 : 範囲を設定します。
	         ライト番号には NNE_LIGHT_0 から NNE_LIGHT_MAX 未満を指定します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetLightAttnDXG20
    機　能 : 光源距離減衰係数の設定
    書　式 : void nnSetLightAttnDXG20( NNE_LIGHT no, Float att0, Float att1, Float att2 )
    引　数 : no	  : ライト番号
             att0 : 距離減衰係数0 
             att1 : 距離減衰係数1
             att2 : 距離減衰係数2
    戻り値 : なし
    説　明 : 光源距離減衰係数を設定します。
	         ライト番号には NNE_LIGHT_0 から NNE_LIGHT_MAX 未満を指定します。
    備　考 : 
----------------------------------------------------------------------------*/

************************ フォグ設定 ******************************************

/*----------------------------------------------------------------------------
    関数名 : nnSetFogDensityDXG20
    機　能 : フォグ指数係数設定
    書　式 : void nnSetFogDensityDXG20( Float density )
    引　数 : density	: 指数係数
    戻り値 : なし
    説　明 : フォグの濃度の指数関数の係数を設定します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetFogLinearDXG20
    機　能 : 線形フォグ(霧)設定
    書　式 : void nnSetFogLinearDXG20(Float fnear, Float ffar)
    引　数 : fnear : フォグ開始範囲
    　　　   ffar  : フォグ終了範囲
    戻り値 : なし
    説　明 : フォグの濃度を線形に設定します。
    備　考 : nnSetFogRange()と等価です。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetFogExpDXG20
    機　能 : 指数フォグ(霧)設定
    書　式 : void nnSetFogExpDXG20( Float density )
    引　数 : density : 係数
    戻り値 : なし
    説　明 : フォグの濃度を指数関数に設定します。
    備　考 : 標準シェーダ使用時はnnSetFogDensityDXG20()と等価です。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetFogExp2DXG20
    機　能 : 指数二乗フォグ(霧)設定
    書　式 : void nnSetFogExp2DXG20( Float density )
    引　数 : density : 係数
    戻り値 : なし
    説　明 : フォグの濃度を二乗の指数関数に設定します。
    備　考 : 標準シェーダ使用時はnnSetFogDensityDXG20()と等価です。
----------------------------------------------------------------------------*/

************************ マテリアル制御***************************************

/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlSpecularDXG20
    機　能 : マテリアル制御（スペキュラ）
    書　式 : void nnSetMaterialControlSpecularDXG20( NNE_MATCTRLMODE mode, Float r, Float g, Float b )
    引　数 : mode : マテリアル制御モード
    					NNE_MATCTRLMODE_REPLACE		オブジェクトのマテリアルの値を上書き
    					NNE_MATCTRLMODE_ADD			オブジェクトのマテリアルの値に加算
    					NNE_MATCTRLMODE_MODULATE	オブジェクトのマテリアルの値に乗算
    		 r    : スペキュラカラーR
    		 g    : スペキュラカラーG
    		 b    : スペキュラカラーB
    戻り値 : なし
    説　明 : オブジェクト描画フラグにNND_DRAWOBJ_MATCTRL_SPECULARがあるオブジェクト描画に対し
    		 マテリアル制御モードにしたがってスペキュラカラーを制御します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetSamplerStateDXG20
    機　能 : サンプラステートの設定
    書　式 : void nnSetSamplerStateDXG20( Sint32 slot, const Uint32 state[NNE_SAMPLERSTATETYPE_MAX] );
    引　数 : slot      : テクスチャスロット
	         state     : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			             配列に以下のパラメータをセットして下さい
						 00 : D3DSAMP_ADDRESSU
						 01 : D3DSAMP_ADDRESSV
						 02 : D3DSAMP_ADDRESSW
						 03 : D3DSAMP_BORDERCOLOR
						 04 : D3DSAMP_MAGFILTER
						 05 : D3DSAMP_MINFILTER
						 06 : D3DSAMP_MIPFILTER
						 07 : D3DSAMP_MIPMAPLODBIAS
						 08 : D3DSAMP_MAXMIPLEVEL
						 09 : D3DSAMP_MAXANISOTROPY
						 10 : D3DSAMP_SRGBTEXTURE
						 11 : D3DSAMP_ELEMENTINDEX
						 12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : サンプラステートを設定します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlDefaultSamplerDefaultStateDXG20
    機　能 : デフォルトサンプラのデフォルトのサンプラステートを取得
    書　式 : void nnGetMaterialControlDefaultSamplerDefaultStateDXG20(Uint32 state[NNE_SAMPLERSTATETYPE_MAX])
    引　数 : state : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			         配列に以下のパラメータを返す
			         00 : D3DSAMP_ADDRESSU
					 01 : D3DSAMP_ADDRESSV
					 02 : D3DSAMP_ADDRESSW
					 03 : D3DSAMP_BORDERCOLOR
					 04 : D3DSAMP_MAGFILTER
					 05 : D3DSAMP_MINFILTER
					 06 : D3DSAMP_MIPFILTER
					 07 : D3DSAMP_MIPMAPLODBIAS
					 08 : D3DSAMP_MAXMIPLEVEL
					 09 : D3DSAMP_MAXANISOTROPY
					 10 : D3DSAMP_SRGBTEXTURE
					 11 : D3DSAMP_ELEMENTINDEX
					 12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : デフォルトサンプラのデフォルトのサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnInitMaterialControlDefaultSamplerDXG20
    機　能 : デフォルトサンプラの機能の初期化
    書　式 : void nnInitMaterialControlDefaultSamplerDXG20(void)
    引　数 : なし
    戻り値 : なし
    説　明 : デフォルトサンプラの機能の初期化をします
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlDefaultSamplerDXG20
    機　能 : デフォルトのサンプラ設定
    書　式 : void nnSetMaterialControlDefaultSamplerDXG20( const Uint32 state[NNE_SAMPLERSTATETYPE_MAX] )
    引　数 : state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータをセットして下さい
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : デフォルトのサンプラを設定します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlDefaultSamplerStateDXG20
    機　能 : デフォルトサンプラの現在のサンプラステートを取得
    書　式 : void nnGetMaterialControlDefaultSamplerStateDXG20( Uint32 state[NNE_SAMPLERSTATETYPE_MAX] )
    引　数 : idx    : ユーザーサンプラインデックス
			 state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータを返す
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : デフォルトサンプラの現在のサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlTextureOffsetDXG20
    機　能 : マテリアル制御（テクスチャタイプ別UVオフセット設定）
    書　式 : void nnSetMaterialControlTextureOffsetDXG20( NNE_TEXTURETYPE_DXG20 textype, NNE_MATCTRLMODE mode, Float u, Float v )
    引　数 : textype : テクスチャタイプ
						NNE_TEXTURETYPE_NORMAL,
						NNE_TEXTURETYPE_BASE,
						NNE_TEXTURETYPE_DECAL,
						NNE_TEXTURETYPE_DECAL2,
						NNE_TEXTURETYPE_DECAL3,
						NNE_TEXTURETYPE_SPECULAR,
						NNE_TEXTURETYPE_SHININESS,
						NNE_TEXTURETYPE_ENVMASK,
						NNE_TEXTURETYPE_MODULATE,
						NNE_TEXTURETYPE_ADD,
						NNE_TEXTURETYPE_OPACITY,
						NNE_TEXTURETYPE_USER1,
						NNE_TEXTURETYPE_USER2,
						NNE_TEXTURETYPE_USER3,
						NNE_TEXTURETYPE_USER4,
						NNE_TEXTURETYPE_USER5,
						NNE_TEXTURETYPE_USER6,
						NNE_TEXTURETYPE_USER7,
						NNE_TEXTURETYPE_USER8,
	　　　   mode : マテリアル制御モード
    					NNE_MATCTRLMODE_REPLACE	オブジェクトのマテリアルの値を上書き
    					NNE_MATCTRLMODE_ADD		オブジェクトのマテリアルの値に加算
    					NNE_MATCTRLMODE_MODULATE	オブジェクトのマテリアルの値に乗算
    		 u   : U座標オフセット
    		 v   : V座標オフセット
    戻り値 : なし
    説　明 : オブジェクト描画フラグにNND_DRAWOBJ_MATCTRL_TEXOFFSETがあるオブジェクト描画に対し
    		 マテリアル制御モードにしたがってテクスチャUVオフセットを制御します。
    備　考 : デュアルパラボロイドマップには効きません。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlTextureLodBiasDXG20
    機　能 : マテリアル制御（テクスチャLODバイアス設定）
    書　式 : void nnSetMaterialControlTextureLodBiasDXG20( NNE_TEXTURETYPE_DXG20 textype, NNE_MATCTRLMODE mode, Float bias )
    引　数 : textype : テクスチャタイプ
						NNE_TEXTURETYPE_NORMAL,
						NNE_TEXTURETYPE_BASE,
						NNE_TEXTURETYPE_DECAL,
						NNE_TEXTURETYPE_DECAL2,
						NNE_TEXTURETYPE_DECAL3,
						NNE_TEXTURETYPE_SPECULAR,
						NNE_TEXTURETYPE_SHININESS,
						NNE_TEXTURETYPE_ENVMASK,
						NNE_TEXTURETYPE_MODULATE,
						NNE_TEXTURETYPE_ADD,
						NNE_TEXTURETYPE_OPACITY,
						NNE_TEXTURETYPE_USER1,
						NNE_TEXTURETYPE_USER2,
						NNE_TEXTURETYPE_USER3,
						NNE_TEXTURETYPE_USER4,
						NNE_TEXTURETYPE_USER5,
						NNE_TEXTURETYPE_USER6,
						NNE_TEXTURETYPE_USER7,
						NNE_TEXTURETYPE_USER8,
						NNE_TEXTURETYPE_DUALPARABOLOID,
	　　　   mode : マテリアル制御モード
    					NNE_MATCTRLMODE_REPLACE	オブジェクトのマテリアルの値を上書き
    					NNE_MATCTRLMODE_ADD		オブジェクトのマテリアルの値に加算
    					NNE_MATCTRLMODE_MODULATE	オブジェクトのマテリアルの値に乗算
    		 bias : テクスチャLODバイアス値
    戻り値 : なし
    説　明 : オブジェクト描画フラグにNND_DRAWOBJ_MATCTRL_TEXLODBIASがあるオブジェクト描画に対し
    		 マテリアル制御モードにしたがってテクスチャLODバイアスを制御します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlShadowMapDefaultStateDXG20
    機　能 : シャドウマップのデフォルトのサンプラステートを取得
    書　式 : void nnGetMaterialControlShadowMapDefaultStateDXG20(Uint32 state[NNE_SAMPLERSTATETYPE_MAX] )
    引　数 : state : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			         配列に以下のパラメータを返す
			         00 : D3DSAMP_ADDRESSU
					 01 : D3DSAMP_ADDRESSV
					 02 : D3DSAMP_ADDRESSW
					 03 : D3DSAMP_BORDERCOLOR
					 04 : D3DSAMP_MAGFILTER
					 05 : D3DSAMP_MINFILTER
					 06 : D3DSAMP_MIPFILTER
					 07 : D3DSAMP_MIPMAPLODBIAS
					 08 : D3DSAMP_MAXMIPLEVEL
					 09 : D3DSAMP_MAXANISOTROPY
					 10 : D3DSAMP_SRGBTEXTURE
					 11 : D3DSAMP_ELEMENTINDEX
					 12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : シャドウマップのデフォルトのサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnInitMaterialControlShadowMapDXG20
    機　能 : シャドウマップの機能の初期化
    書　式 : void nnInitMaterialControlShadowMapDXG20(void) 
    引　数 : なし
    戻り値 : なし
    説　明 : シャドウマップの機能の初期化をします
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlShadowMapDXG20
    機　能 : シャドウマップの設定
    書　式 : void nnSetMaterialControlShadowMapDXG20( NNE_SHADOWMAP idx, LPDIRECT3DTEXTURE9 texmap, const NNS_MATRIX44 *mtx, Float r, Float g, Float b, const Uint32 state[NNE_SAMPLERSTATETYPE_MAX] )
    引　数 : idx     : シャドウマップインデクス
    　　　   texmap  : デプスマップ
    　　　   mtx : カメラ座標系からテクスチャ座標系への変換マトリクス
    　　　         （通常はプロジェクションマトリクス×カメラ座標系からライト座標系への変換マトリクス）
    　　　   r, g, b : シャドウカラー
			 state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータをセットして下さい
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : オブジェクト描画フラグにNND_DRAWOBJ_MATCTRL_SHADOWMAP1があるオブジェクト描画に対し
    　　　   idxで1が指定された番号のシャドウマップを貼ります。
    　　　   オブジェクト描画フラグにNND_DRAWOBJ_MATCTRL_SHADOWMAP2があるオブジェクト描画に対し
    　　　   idxで1が指定された番号のシャドウマップとidxで2が指定された番号のシャドウマップを貼ります。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlShadowMapStateDXG20
    機　能 : シャドウマップの現在のサンプラステートを取得
    書　式 : void nnGetMaterialControlShadowMapStateDXG20( NNE_SHADOWMAP idx, Uint32 state[NNE_SAMPLERSTATETYPE_MAX] )
    引　数 : idx    : シャドウマップインデクス
			 state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータを返す
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : シャドウマップの現在のサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlUserSamplerDefaultStateDXG20
    機　能 : ユーザーサンプラのデフォルトのサンプラステートを取得
    書　式 : void nnGetMaterialControlUserSamplerDefaultStateDXG20(Uint32 state[NNE_SAMPLERSTATETYPE_MAX])
    引　数 : state : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			         配列に以下のパラメータを返す
			         00 : D3DSAMP_ADDRESSU
					 01 : D3DSAMP_ADDRESSV
					 02 : D3DSAMP_ADDRESSW
					 03 : D3DSAMP_BORDERCOLOR
					 04 : D3DSAMP_MAGFILTER
					 05 : D3DSAMP_MINFILTER
					 06 : D3DSAMP_MIPFILTER
					 07 : D3DSAMP_MIPMAPLODBIAS
					 08 : D3DSAMP_MAXMIPLEVEL
					 09 : D3DSAMP_MAXANISOTROPY
					 10 : D3DSAMP_SRGBTEXTURE
					 11 : D3DSAMP_ELEMENTINDEX
					 12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : ユーザーサンプラのデフォルトのサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnInitMaterialControlUserSamplerDXG20
    機　能 : ユーザーサンプラの機能の初期化
    書　式 : void nnInitMaterialControlUserSamplerDXG20(void) 
    引　数 : なし
    戻り値 : なし
    説　明 : ユーザーサンプラの機能の初期化をします
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetMaterialControlUserSamplerDXG20
    機　能 : ユーザーサンプラの設定
    書　式 : void nnSetMaterialControlUserSamplerDXG20( NNE_USER_SAMPLER idx, LPDIRECT3DTEXTURE9 texmap, const NNS_MATRIX44 *mtx, const Uint32 state[NNE_SAMPLERSTATETYPE_MAX])
    引　数 : idx    : ユーザーサンプラインデックス
	         texmap : テクスチャマップ
			 mtx    : テクスチャのマトリクス
			 state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータをセットして下さい
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : ユーザーサンプラの設定をします
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetMaterialControlUserSamplerStateDXG20
    機　能 : ユーザーサンプラの現在のサンプラステートを取得
    書　式 : void nnGetMaterialControlUserSamplerStateDXG20(NNE_USER_SAMPLER idx, Uint32 state[NNE_SAMPLERSTATETYPE_MAX])
    引　数 : idx    : ユーザーサンプラインデックス
			 state  : サンプラステート(D3DSAMPLERSTATETYPE)のパラメータ
			          配列に以下のパラメータを返す
			          00 : D3DSAMP_ADDRESSU
					  01 : D3DSAMP_ADDRESSV
					  02 : D3DSAMP_ADDRESSW
					  03 : D3DSAMP_BORDERCOLOR
					  04 : D3DSAMP_MAGFILTER
					  05 : D3DSAMP_MINFILTER
					  06 : D3DSAMP_MIPFILTER
					  07 : D3DSAMP_MIPMAPLODBIAS
					  08 : D3DSAMP_MAXMIPLEVEL
					  09 : D3DSAMP_MAXANISOTROPY
					  10 : D3DSAMP_SRGBTEXTURE
					  11 : D3DSAMP_ELEMENTINDEX
					  12 : D3DSAMP_DMAPOFFSET
    戻り値 : なし
    説　明 : ユーザーサンプラの現在のサンプラステートを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetDualParaboloidMatrixDXG20
    機　能 : デュアルパラボロイド環境マップマトリクス設定
    書　式 : void nnSetDualParaboloidMatrixDXG20( NNS_MATRIX *mtx )
    引　数 : mtx : デュアルパラボロイド環境マップマトリクス
    戻り値 : なし
    説　明 : デュアルパラボロイド環境マップのマトリクスを設定します。
	　　　   通常はカメラ座標系からワールド座標系への変換マトリクスを設定します。
    備　考 : 
----------------------------------------------------------------------------*/

*************************** マテリアル関連 ***********************************

/*----------------------------------------------------------------------------
    関数名 : nnPutMaterialCoreStdShader
    機　能 : ハードウェアへのマテリアル設定
    書　式 : NNE_BOOL nnPutMaterialCoreStdShader( const NNS_DRAWCALLBACK_VAL *val )
    引　数 : val : ドローコールバック変数
    戻り値 : NNE_FALSE : このマテリアルを使う頂点群を描画しない
    　　　   NNE_TRUE  : 描画する
    説　明 : 
    備　考 : 一部ハードウェアに設定してないパラメータがあることに注意
----------------------------------------------------------------------------*/

*************************** テクスチャ関連 ***********************************

/*---------------------------------------------------------------------------
    関数名 : nnCreateTextureDXG20
    機　能 : 空のテクスチャを作成する
    書　式 : Sint32 nnCreateTextureDXG20(NNS_TEXINFO *texinfo, Uint16 width, Uint16 height, Uint32 mipmaplevel, NNF_TEXUSAGE_DXG20 usage, NNF_TEXFMT_DXG20 format,
	                                     NNF_TEXFILE_MINFILTER minfilter,
										 NNF_TEXFILE_MAGFILTER magfilter,
										 Uint32 globalindex, Uint32 bank, NNF_TEXFLAG flag)
    引　数 : texinfo     : テクスチャインフォ
	         width       : テクスチャの幅
			 height      : テクスチャの高さ
			 mipmaplevel : ミップマップレベル数
			 usage       : テクスチャの使い方を指定
			                 NND_TEXUSAGE_DXG20_DEFAULT
						     NND_TEXUSAGE_DXG20_RENDERTARGET
							 NND_TEXUSAGE_DXG20_DYNAMIC
			 format      : テクスチャのフォーマット
			                 NND_TEXFMT_DXG20_***
			 pool        : テクスチャのメモリ管理方式を指定
			                 NND_TEXPOOL_DXG20_DEFAULT
							 NND_TEXPOOL_DXG20_MANAGED
							 NND_TEXPOOL_DXG20_SYSTEMMEM
							 NND_TEXPOOL_DXG20_SCRATCH
			 minfilter   : 縮小時フィルター
			 magfilter   : 拡大時フィルター
			 globalindex : グローバルインデックス
			 bank        : パレットバンク
			 flag        : テクスチャフラグ
			               NND_TEXFLAG_ALLOCATE 固定
	戻り値 : 成功１　失敗ー１
    説　明 : 空のテクスチャを作成し、テクスチャインフォのセットアップを行います。
    備　考 : 
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnCreateD3DTextureFromFileInMemoryExDXG20
    機　能 : メモリ内のファイルからテクスチャを作成する
    書　式 : Sint32 nnCreateD3DTextureFromFileInMemoryExDXG20(const void *pData, Uint32 size, NNF_TEXUSAGE_DXG20 usage, NNF_TEXPOOL_DXG20 pool, void *ppTexture)
	引　数 : pData     : テクスチャの作成に使うメモリ内のファイルへのポインタ
			 size      : メモリ内のファイルのサイズ (バイト単位)
			 usage     : テクスチャの使い方を指定
						   NND_TEXUSAGE_DXG20_DEFAULT
						   NND_TEXUSAGE_DXG20_RENDERTARGET
						   NND_TEXUSAGE_DXG20_DYNAMIC
			 pool      : テクスチャのメモリ管理方式を指定
						   NND_TEXPOOL_DXG20_DEFAULT
						   NND_TEXPOOL_DXG20_MANAGED
						   NND_TEXPOOL_DXG20_SYSTEMMEM
						   NND_TEXPOOL_DXG20_SCRATCH
			 ppTexture : 作成されたテクスチャオブジェクトを表す、IDirect3DTexture9 インターフェイスへのポインタのアドレス
    戻り値 : 成功１　失敗ー１
    説　明 : メモリ内のファイルからテクスチャを作成します
    備　考 :
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnCreateD3DTextureFromFileInMemoryDXG20
    機　能 : メモリ内のファイルからテクスチャを作成する
    書　式 : Sint32 nnCreateD3DTextureFromFileInMemoryDXG20(const void *pData, Uint32 size, void *ppTexture)
    引　数 : pData     : テクスチャの作成に使うメモリ内のファイルへのポインタ
	         size      : メモリ内のファイルのサイズ (バイト単位)
			 ppTexture : 作成されたテクスチャオブジェクトを表す、IDirect3DTexture9 インターフェイスへのポインタのアドレス
    戻り値 : 成功１　失敗ー１
    説　明 : メモリ内のファイルからテクスチャを作成します
    備　考 : これは nnCreateD3DTextureFromFileInMemoryExDXG20 の上位の関数です。
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnLoadTextureMemoryOneExDXG20
    機　能 : ファイルテクスチャのロード(1枚)
    書　式 : Sint32 nnLoadTextureMemoryOneExDXG20( NNS_TEXINFO *texinfo, const void *tex,
												   NNF_TEXFILE_MINFILTER minfilter,
												   NNF_TEXFILE_MAGFILTER magfilter,
												   Uint32 globalindex, Uint32 bank, NNF_TEXFLAG flag, Uint32 size,
												   NNF_TEXUSAGE_DXG20 usage, NNF_TEXPOOL_DXG20 pool)
    引　数 :  texinfo    [in,out]: テクスチャインフォ
              tex        [in]    : テクスチャ先頭
              minfilter  [in]    : 縮小時フィルター
              magfilter  [in]    : 拡大時フィルター
              globalindex[in]    : グローバルインデックス
              bank       [in]    : パレットバンク
              flag       [in]    : テクスチャフラグ
              size       [in]    : XVR以外のテクスチャを使用する場合テクスチャサイズを入れる
			  usage      [in]    : テクスチャの使い方を指定
									 NND_TEXUSAGE_DXG20_DEFAULT
									 NND_TEXUSAGE_DXG20_RENDERTARGET
									 NND_TEXUSAGE_DXG20_DYNAMIC
			  pool       [in]    : テクスチャのメモリ管理方式を指定
									 NND_TEXPOOL_DXG20_DEFAULT
									 NND_TEXPOOL_DXG20_MANAGED
									 NND_TEXPOOL_DXG20_SYSTEMMEM
									 NND_TEXPOOL_DXG20_SCRATCH
    戻り値 : 成功１　失敗ー１
    説　明 : テクスチャをロードします。XVRをロードする場合はtexinfo->xvrobj.width,texinfo->xvrobj.height
             texinfo->xvrobj.attrの設定が必要です。
             それ以外のテクスチャをロードする場合texinfo->xvrobj.attrを0クリアし
             sizeにテクスチャのサイズを設定する必要があります。
    備　考 : 
---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    関数名 : nnLoadTextureMemoryOneDXG20
    機　能 : ファイルテクスチャのロード(1枚)
    書　式 : Sint32 nnLoadTextureMemoryOneDXG20( NNS_TEXINFO *texinfo, const void *tex,
												 Uint16 minfilter, Uint16 magfilter,
												 Uint32 globalindex, Uint32 bank, Uint32 flag, Uint32 size )
    引　数 :  texinfo    [in,out]: テクスチャインフォ
              tex        [in]    : テクスチャ先頭
              minfilter  [in]    : 縮小時フィルター
              magfilter  [in]    : 拡大時フィルター
              globalindex[in]    : グローバルインデックス
              bank       [in]    : パレットバンク
              flag       [in]    : テクスチャフラグ
              size       [in]    : XVR以外のテクスチャを使用する場合テクスチャサイズを入れる
    戻り値 : 成功１　失敗ー１
    説　明 : テクスチャをロードします。XVRをロードする場合はtexinfo->xvrobj.width,texinfo->xvrobj.height
             texinfo->xvrobj.attrの設定が必要です。
             それ以外のテクスチャをロードする場合texinfo->xvrobj.attrを0クリアし
             sizeにテクスチャのサイズを設定する必要があります。
    備　考 : これは nnLoadTextureMemoryOneExDXG20 の上位の関数です。
---------------------------------------------------------------------------*/

*************************** NN標準シェーダ関数 *******************************

○標準シェーダ初期化
/*----------------------------------------------------------------------------
    関数名 : nnCalcStdShaderManageBufferSize
    機　能 : 標準シェーダ管理バッファサイズ計算
    書　式 : Uint32 nnCalcStdShaderManageBufferSize( Sint32 num )
    引　数 : num	: 最大シェーダプロファイル数
    戻り値 : Uint32 シェーダ管理バッファサイズ
    説　明 : nnConfigureStdShader に渡すバッファサイズを計算します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetUpStdShaderConfigBasic
    機　能 : 標準シェーダ基本設定
    書　式 : void nnSetUpStdShaderConfigBasic( NNS_STDSHADER_CONFIG *config )
    引　数 : config	: 標準シェーダコンフィグレーション構造体
    戻り値 : なし
    説　明 : NNS_STDSHADER_CONFIG 構造体に最低限の設定をします。
	　　　   メンバーの不定値をなくすために呼んでください。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnConfigureStdShader
    機　能 : 標準シェーダ初期化関数
    書　式 : void nnConfigureStdShader( const NNS_STDSHADER_CONFIG *config, void *managebuffer, Sint32 num )
    引　数 : config			: 標準シェーダ設定
    　　　   managebuffer	: 標準シェーダ管理バッファ
    　　　   num			: 最大シェーダプロファイル数
    戻り値 : なし
    説　明 : 標準シェーダマネージャを初期化します。
    備　考 : managebuffer は nnCalcStdShaderManageBufferSize( num )で得られるサイズのバッファが必要です。
----------------------------------------------------------------------------*/

○標準シェーダ名登録
/*----------------------------------------------------------------------------
    関数名 : nnRegistStdShaderName
    機　能 : 標準シェーダ名登録
    書　式 : Sint32 nnRegistStdShaderName( NNS_STDSHADER_NAME Name )
    引　数 : Name	: シェーダネーム
    戻り値 : Sint32 成功 0以上 失敗 -1
    説　明 : 標準シェーダ名を登録します。
    備　考 : 失敗する場合は、nnConfigureStdShader()に渡す最大シェーダプロファイル数を増やしてください。
----------------------------------------------------------------------------*/

○標準シェーダプロファイル登録
/*----------------------------------------------------------------------------
    関数名 : nnRegistStdShaderProfile
    機　能 : 標準シェーダプロファイル登録
    書　式 : Sint32 nnRegistStdShaderProfile( const NNS_STDSHADER_PROFILE *profile )
    引　数 : profile	: 標準シェーダプロファイル
    戻り値 : Sint32 成功 0以上、失敗 -1
    説　明 : profileで指定されたプロファイルを登録します。
	　　　   nnRegistObjectStdShaderProfiles()から呼び出されます。
    備　考 : 失敗する場合は、nnConfigureStdShader()に渡す最大シェーダプロファイル数を増やしてください。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnRegistObjectStdShaderProfiles
    機　能 : オブジェクト使用シェーダプロファイル登録
    書　式 : Sint32 nnRegistObjectStdShaderProfiles( const NNS_OBJECT *obj, NNF_DRAWOBJ flag )
    引　数 : obj	  : オブジェクト
    　　　   flag	  : 描画フラグ
    戻り値 : Sint32 成功 0以上、失敗 -1
    説　明 : オブジェクトが使用するシェーダプロファイルをすべて登録します。
	　　　   また、nnConfigureStdShader()で設定されたNNS_STDSHADER_CONFIGのうち
	　　　   そのオブジェクトの描画に足りない部分を変更します。
    備　考 : 失敗する場合は、nnConfigureStdShader()に渡す最大シェーダプロファイル数を増やしてください。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnRegistPliableObjectStdShaderProfiles
    機　能 : プライアブルオブジェクト使用シェーダプロファイル登録
    書　式 : Sint32 nnRegistPliableObjectStdShaderProfiles( const NNS_OBJECT *obj, NNF_DRAWOBJ flag )
    引　数 : obj	  : プライアブルオブジェクト
    　　　   flag	  : 描画フラグ
    戻り値 : Sint32 成功 0以上、失敗 -1
    説　明 : プライアブルオブジェクトが使用するシェーダプロファイルをすべて登録します。
	　　　   また、nnConfigureStdShader()で設定されたNNS_STDSHADER_CONFIGのうち
	　　　   そのプライアブルオブジェクトの描画に足りない部分を変更します。
    備　考 : 失敗する場合は、nnConfigureStdShader()に渡す最大シェーダプロファイル数を増やしてください。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetCurrentStdShaderProfileNumber
    機　能 : 登録済みシェーダプロファイル数取得
    書　式 : Sint32 nnGetCurrentStdShaderProfileNumber( void )
    引　数 : なし
    戻り値 : Sint32 登録済みシェーダプロファイル数
    説　明 : 登録されているシェーダプロファイル数を取得します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnClearStdShaderProfiles
    機　能 : 登録済みシェーダプロファイル削除
    書　式 : void nnClearStdShaderProfiles( void )
    引　数 : なし
    戻り値 : なし
    説　明 : 登録されているシェーダプロファイルを削除します。
    備　考 : ビルド済みでリリースされていないシェーダは削除されません。
	　　　   ビルド済みのものも削除する場合は先にnnReleaseStdShader()を呼んでください。
----------------------------------------------------------------------------*/

○標準シェーダビルド
/*----------------------------------------------------------------------------
    関数名 : nnBuildStdShader
    機　能 : 標準シェーダビルド
    書　式 : Sint32 nnBuildStdShader( const char *vertexshader, Uint32 vtxshadersize, const char *fragmentshader, Uint32 fragshadersize )
    引　数 : vertexshader	: 頂点シェーダソース
    　　　   vtxshadersize	: 頂点シェーダソースサイズ
    　　　   fragmentshader	: フラグメントシェーダソース
    　　　   fragshadersize	: フラグメントシェーダソースサイズ
    戻り値 : Sint32 0 : 成功, -1〜-4 : 失敗
    説　明 : 登録されているプロファイルで標準シェーダをビルドします。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnReleaseStdShader
    機　能 : ビルド済み標準シェーダ解放
    書　式 : void nnReleaseStdShader( void )
    引　数 : なし
    戻り値 : なし
    説　明 : ビルド済み標準シェーダを解放します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetCompileOptionStdShaderDXG20
    機　能 : 標準シェーダのコンパイルオプションを設定する
    書　式 : void nnSetCompileOptionStdShaderDXG20(NNF_SHADERFLAG flag)
    引　数 : flag : コンパイルオプション
    戻り値 : なし
    説　明 : 標準シェーダのコンパイルオプションを設定します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetCompileOptionStdShaderDXG20
    機　能 : 標準シェーダのコンパイルオプションを取得する
    書　式 : NNF_SHADERFLAG nnGetCompileOptionStdShaderDXG20(void)
    引　数 : なし
    戻り値 : コンパイルオプション
    説　明 : 標準シェーダのコンパイルオプションを取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnSetCompileErrorCallbackStdShaderDXG20
    機　能 : 標準シェーダのコンパイルエラーコールバック関数を設定する
    書　式 : void nnSetCompileErrorCallbackStdShaderDXG20(NNS_COMPILEERROR_STDSHADER_CALLBACK_FUNC func)
    引　数 : func : コールバック関数
    戻り値 : なし
    説　明 : 標準シェーダのコンパイルエラーコールバック関数を設定します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetCompileErrorCallbackStdShaderDXG20
    機　能 : 標準シェーダのコンパイルエラーコールバック関数を取得する
    書　式 : NNS_COMPILEERROR_STDSHADER_CALLBACK_FUNC nnGetCompileErrorCallbackStdShaderDXG20(void)
    引　数 : なし
    戻り値 : コールバック関数
    説　明 : 標準シェーダのコンパイルエラーコールバック関数を取得します
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnEnableOndemandShaderCreation
    機　能 : 必要になった時点でそのシェーダーを生成するか否かの設定
    書　式 : void nnEnableOndemandShaderCreation( NNE_BOOL bEnable, const char* pVtxSdr,Uint32 VtxSdrSize, const char* pPixSdr,Uint32 PixSdrSize )
    引　数 : bEnable    : オンデマンドシェーダー生成を有効にするか否か NNE_TRUE:有効  NNE_FALSE:無効
           : pVtxSdr	: 頂点シェーダーコード
           : VtxSdrSize : 頂点シェーダーコードのバイト単位のサイズ
           : pPixSdr	: ピクセルシェーダーコード
           : PixSdrSize : ピクセルシェーダーコードのバイト単位のサイズ
    戻り値 : なし
    説　明 : 必要になった時点でそのシェーダーを生成するか否かの設定をします。
    備　考 : シェーダコードはポインタのみのコピーなので、ユーザはオンデマンド有効時はメモリを解放しないで下さい。
----------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
    関数名 : nnSetBuildCallbackStdShaderDXG20
    機　能 : シェーダ登録及び標準シェーダビルドを要求するコールバック関数の設定
    書　式 : void nnSetBuildCallbackStdShaderDXG20( NNS_BUILD_STDSHADER_CALLBACK_FUNC func )
    引　数 : func : コールバック関数のポインタ
    戻り値 : なし
    説　明 : シェーダ登録及び標準シェーダビルドを要求するコールバック関数の設定を行います
	         コールバック関数はオンデマンド有効時に呼ばれます(オンデマンドについては nnEnableOndemandShaderCreation 関数を参照)
			 コールバック関数の引数には nnEnableOndemandShaderCreation 関数で設定したシェーダコードが渡されます
    備　考 :
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetBuildCallbackStdShaderDXG20
    機　能 : シェーダ登録及び標準シェーダビルドを要求するコールバック関数を取得
    書　式 : NNS_BUILDSTDSHADERALLBACK_FUNC nnGetBuildCallbackStdShaderDXG20( void )
    引　数 : なし
    戻り値 : コールバック関数のポインタ
    説　明 : シェーダ登録及び標準シェーダビルドを要求するコールバック関数を取得します
    備　考 : 
----------------------------------------------------------------------------*/

○ユーザユニフォーム変数設定
/*----------------------------------------------------------------------------
    関数名 : nnSetUserUniformDXG20
    機　能 : ユーザユニフォーム変数設定
    書　式 : void nnSetUserUniformDXG20(Sint32 idx, Float x, Float y, Float z, Float w)
    引　数 : idx        : ユーザユニフォーム変数インデクス
	　　　   x, y, z, w : ユーザユニフォーム変数代入値
    戻り値 : なし
    説　明 : シェーダに渡すユーザユニフォーム変数に値を設定します。
    備　考 : nnConfigureStdShader()関数に渡したユニフォーム変数個数(nUserUniform)以上のidxは無効です。
----------------------------------------------------------------------------*/

○シェーダ事前コンパイル対応関連
/*----------------------------------------------------------------------------
    関数名 : nnGetStdShaderName
    機　能 : シェーダネーム取得
    書　式 : NNS_STDSHADER_NAME nnGetStdShaderName( const NNS_STDSHADER_PROFILE *profile )
    引　数 : profile	: シェーダプロファイルポインタ
    戻り値 : NNS_SHADER_NAME シェーダネーム
    説　明 : シェーダプロファイルに対応するユニークなシェーダネームを取得します。
    備　考 : NNライブラリのバージョンアップ時には、シェーダプロファイルに対応するシェーダネームを変更することがあるかもしれません。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetStdShaderProfile
    機　能 : シェーダプロファイル取得
    書　式 : void nnGetStdShaderProfile( NNS_STDSHADER_PROFILE *profile, NNS_STDSHADER_NAME name )
    引　数 : profile	: シェーダプロファイルポインタ
    　　　   name		: シェーダネーム
    戻り値 : なし
    説　明 : シェーダネームに対応するシェーダプロファイルを取得します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetUnbuildStdShaderProfileOne
    機　能 : 未ビルドシェーダプロファイル取得
    書　式 : Sint32 nnGetUnbuildStdShaderProfileOne( NNS_STDSHADER_PROFILE *profile )
    引　数 : profile	: シェーダプロファイル格納ポインタ
    戻り値 : 未ビルドシェーダ数
    説　明 : 登録されているシェーダでビルドされていないシェーダのうち1つのシェーダプロファイルを取得します。
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnRegistCompiledStdShaderProfile
    機　能 : コンパイル済みシェーダ登録
    書　式 : void nnRegistCompiledStdShaderProfile(const NNS_COMPILED_STDSHADER_PROFILE *compiledShader, const NNS_STDSHADER_PROFILE *profile)
	引　数 : compiledShader	: コンパイル済みシェーダプロファイル
	　　　   profile		: シェーダプロファイル
    戻り値 : なし
    説　明 : ビルドしたシェーダを登録します。
    備　考 : profileで指定するシェーダプロファイルは、登録済みであってもなくてもかまいません。
	         compiledShader->ShaderType は NNE_STDSHADERTYPE_HLSL を必ず指定しなかればなりません。
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnCompileStdShaderDXG20
    機　能 : 標準シェーダのコンパイル
    書　式 : Sint32 nnCompileStdShaderDXG20(const char *pSrcData, Uint32 SrcDataLen, const NNE_STDSHADER_PROFILE shaderProfile, const NNS_STDSHADER_PROFILE *profile, void *ppShader, void *ppConstantTable)
	引　数 : pSrcData        : シェーダソース
    　　　   SrcDataLen	     : シェーダソースサイズ
		     shaderProfile   : NNE_STDSHADER_PROFILE_VERTEX or NNE_STDSHADER_PROFILE_PIXEL
		     profile         : シェーダプロファイル格納ポインタ
			 ppShader        : LPD3DXBUFFER * 
			 ppConstantTable : LPD3DXCONSTANTTABLE *
    戻り値 : Sint32 0以上 : 成功
	　　　         -1     : シェーダコンパイルエラー
    説　明 : 標準シェーダのコンパイルをします
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnGetStdShaderProfileOne
    機　能 : 登録済みシェーダプロファイル取得
    書　式 : void nnGetStdShaderProfileOne( NNS_STDSHADER_PROFILE *profile, Sint32 idx )
    引　数 : profile	: シェーダプロファイル格納ポインタ
    　　　   idx		: インデクス
    戻り値 : なし
    説　明 : 登録済みシェーダのうち1つのシェーダプロファイルを取得します。
    　　　   idx は 0 以上 nnGetCurrentStdShaderProfileNumber 未満の値を指定します。
    備　考 : シェーダプロファイルは内部で動的に管理しているため、
    　　　   新規にシェーダを登録したり、シェーダビルド関数を呼んだ場合などに
    　　　   idx に対応するシェーダプロファイルが変化することがあります。
----------------------------------------------------------------------------*/

************************ 4x4マトリクス関数 ************************************

/*----------------------------------------------------------------------------
    関数名 : nnMultiplyProjectionMatrix
    機　能 : マトリクスの乗算
    書　式 : void nnMultiplyProjectionMatrix( NNS_MATRIX44 *dst, const NNS_MATRIX44 *projmtx, const NNS_MATRIX *src )
    引　数 : dst     : 演算結果を格納するNNS_MATRIX44へのポインタ
    　　　   projmtx : 乗算するプロジェクションマトリクスへのポインタ
    　　　   src     : 乗算するNNS_MATRIXへのポインタ
    戻り値 : なし
    説　明 : projmtxとsrcの乗算結果をdstへ格納します。
    　　　   演算には下記の*印の要素のみが使われます。
    　　　             [ * 0 0 * ]         [ * * * * ]
    　　　   projmtx = [ 0 * 0 * ] , src = [ * * * * ]
    　　　             [ 0 0 * * ]         [ * * * * ]
    　　　             [ 0 0 * * ]         [ 0 0 0 1 ]
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnMultiplyTranslationMatrix44
    機　能 : 平行移動マトリクスの適用
    書　式 : void nnMultiplyTranslationMatrix44( NNS_MATRIX44 *dst, Float x, Float y, Float z, const NNS_MATRIX44 *src )
    引　数 : dst : 演算結果を格納するNNS_MATRIX44へのポインタ
    　　　   x   : X 移動量
    　　　   y   : Y 移動量
    　　　   z   : Z 移動量
    　　　   src : 元のNNS_MATRIX44へのポインタ
    戻り値 : なし
    説　明 : プロジェクションマトリクスなどの4x4マトリクスに平行移動マトリクスを左から乗算します。
    　　　  演算内容は以下の式で表されます。
    　　　         [ 1 0 0 x ]
    　　　   dst = [ 0 1 0 y ] * src
    　　　         [ 0 0 1 z ]
    　　　         [ 0 0 0 1 ]
    備　考 : 
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
    関数名 : nnMultiplyScalingMatrix44
    機　能 : スケーリングマトリクスの適用
    書　式 : void nnMultiplyScalingMatrix44( NNS_MATRIX44 *dst, Float x, Float y, Float z, const NNS_MATRIX44 *src )
    引　数 : dst : 演算結果を格納するNNS_MATRIX44へのポインタ
    　　　   x   : X スケーリング値
    　　　   y   : Y スケーリング値
    　　　   z   : Z スケーリング値
    　　　   src : 元のNNS_MATRIX44へのポインタ
    戻り値 : なし
    説　明 : プロジェクションマトリクスなどの4x4マトリクスにスケーリングマトリクスを左から乗算します。
    　　　  演算内容は以下の式で表されます。
    　　　         [ x 0 0 0 ]
    　　　   dst = [ 0 y 0 0 ] * src
    　　　         [ 0 0 z 0 ]
    　　　         [ 0 0 0 1 ]
    備　考 : 
----------------------------------------------------------------------------*/

************************ エンベロープオブジェクト計算関数 ********************

/*----------------------------------------------------------------------------
    関数名 : nnCalcPliableObjectNodeStatusList
    機　能 : エンベロープオブジェクト計算
    書　式 : void nnCalcPliableObjectNodeStatusList( NNS_PLIABLEOBJ *pobj, const NNS_MATRIX *mtxpal, const NNF_NODESTATUS *nodestatlist, NNF_CALCPLIABLE flag )
    引　数 : pobj			: エンベロープオブジェクト
    　　　   mtxpal			: マトリクスパレット
		     nodestatlist	: ノードステータスリスト
    　　　   flag			: エンベロープオブジェクト計算フラグ
    戻り値 : なし
    説　明 : ノードステータスリストを参照し、エンベロープオブジェクトの必要な頂点リストのみを計算します。
    備　考 : 
----------------------------------------------------------------------------*/
