								2008/10/30
□NN for DirectX G2.0 のユーザーサンプラー機能について

□ユーザーサンプラー機能
	オブジェクトデータとして持っているテクスチャとは別に、
	プログラムで管理しているテクスチャを描画時にNN標準シェーダの
	処理のカスタマイズとして加えたいことがある。
	（動的生成環境マップやシェーダパラメータ的なテクスチャなど）

	ユーザーサンプラー機能は、プログラムで管理しているDirextX
	テクスチャを、NN標準シェーダ内で使用できるように設定する機能を
	提供する。

	ユーザーサンプラーマップとして、２Ｄ、３Ｄ、キューブマップを
	それぞれ２枚まで設定することができる。


□オブジェクト描画フラグ

	ユーザーサンプラー機能を使用するには、描画時およびシェーダビルド時に
	オブジェクト描画フラグで指定する

	NND_DRAWOBJ_MATCTRL_USERSAMPLER2D1
			ユーザーサンプラー２Ｄマップ１を使用する
	NND_DRAWOBJ_MATCTRL_USERSAMPLER2D2
			ユーザーサンプラー２Ｄマップ２を使用する
	NND_DRAWOBJ_MATCTRL_USERSAMPLER3D1
			ユーザーサンプラー３Ｄマップ１を使用する
	NND_DRAWOBJ_MATCTRL_USERSAMPLER3D2
			ユーザーサンプラー３Ｄマップ２を使用する
	NND_DRAWOBJ_MATCTRL_USERSAMPLERCUBE1
			ユーザーサンプラーキューブマップ１を使用する
	NND_DRAWOBJ_MATCTRL_USERSAMPLERCUBE2
			ユーザーサンプラーキューブマップ２を使用する


□API
	APIでユーザーサンプラーに使用するテクスチャの指定ができる。

	nnGetMaterialControlUserSamplerDefaultStateDXG20(…)
		ユーザーサンプラのデフォルトのサンプラステートを返す

	nnInitMaterialControlUserSamplerDXG20(…)
		ユーザーサンプラの機能の初期化

	nnSetMaterialControlUserSamplerDXG20(…)
		ユーザーサンプラの設定

	nnGetMaterialControlUserSamplerStateDXG20(…)
		ユーザーサンプラの現在のサンプラステートを返す


□NN標準シェーダの対応

○シェーダ最適化プロファイル定数名

	・頂点シェーダ、ピクセルシェーダ用

		NND_OPT_TEX_SAMPLER2D1 (int)
		- ユーザーサンプラー２Ｄマップ１

		NND_OPT_TEX_SAMPLER2D2 (int)
			- ユーザーサンプラー２Ｄマップ２

		NND_OPT_TEX_SAMPLER3D1 (int)
			- ユーザーサンプラー３Ｄマップ１

		NND_OPT_TEX_SAMPLER3D2 (int)
			- ユーザーサンプラー３Ｄマップ２

		NND_OPT_TEX_SAMPLERCUBE1 (int)
			- ユーザーサンプラーキューブマップ１

		NND_OPT_TEX_SAMPLERCUBE2 (int)
			- ユーザーサンプラーキューブマップ２

○テクスチャサンプラ名

	s_texUserSampler2D1
		ユーザーサンプラー２Ｄマップ１

	s_texUserSampler2D2
		ユーザーサンプラー２Ｄマップ２

	s_texUserSampler3D1
		ユーザーサンプラー３Ｄマップ１

	s_texUserSampler3D2
		ユーザーサンプラー３Ｄマップ２

	s_texUserSamplerCube1
		ユーザーサンプラーキューブマップ１

	s_texUserSamplerCube2
		ユーザーサンプラーキューブマップ２
