
// Cg@0@̏ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++( Jn )
#if LG@0@_USE

	// fBt[YFvZ

	// DiffuseAngleGen = fBt[YpxvZ
	DiffuseAngleGen = saturate( dot( Normal, PSInput.Light@0@_Dir_Gen.xyz ) ) ;
	
	// eɂ錸Zo
	ShadowGen = max( ShadowRate.x, SHADOWMAP1_ENABLE_LGT@0@ ) *
	            max( ShadowRate.y, SHADOWMAP2_ENABLE_LGT@0@ ) *
	            max( ShadowRate.z, SHADOWMAP3_ENABLE_LGT@0@ ) ;

	#if LG@0@_DIR

		// fBt[YJ[~ϒl += Cg̃fBt[YJ[ * fBt[YJ[ * fBt[YJ[px + Cg̃ArGgJ[ƃ}eÃArGgJ[Z 
		TotalDiffuse += cfLight[ @0@ ].Diffuse * PSInput.Diffuse * DiffuseAngleGen * ShadowGen + cfLight[ @0@ ].Ambient ;

	#else // LG@0@_DIR

		// fBt[YJ[~ϒl += ( Cg̃fBt[YJ[ * fBt[YJ[ * fBt[YJ[px + Cg̃ArGgJ[ƃ}eÃArGgJ[Z  ) * EX|bgCg̊px
		TotalDiffuse += ( cfLight[ @0@ ].Diffuse * PSInput.Diffuse * DiffuseAngleGen * ShadowGen + cfLight[ @0@ ].Ambient ) * PSInput.Light@0@_Dir_Gen.w ;

	#endif // LG@0@_DIR


	// XyLJ[vZ
	#ifdef USE_SPE

		// n[txNǧvZ
		TempF3 = PSInput.V_to_Eye_ShadowMap3PosZ.xyz + PSInput.Light@0@_Dir_Gen.xyz ;
		#ifdef    PHONG
			TempF3 = normalize( TempF3 ) ;
		#else  // PHONG
			TempF3 *= 0.5f ;
		#endif // PHONG

		// Temp = pow( max( 0.0f, N * H ), cfMaterial.Power.x )
		Temp = pow( max( 0.0f, dot( Normal, TempF3 ) ), cfMaterial.Power.x ) ;

		#if LG@0@_DIR

			// XyLJ[~ϒl += Temp * Cg̃XyLJ[
			TotalSpecular += Temp * cfLight[ @0@ ].Specular * ShadowGen ;

		#else // LG@0@_DIR

			// XyLJ[~ϒl += Temp * EX|bgCg̊px * Cg̃XyLJ[
			TotalSpecular += Temp * PSInput.Light@0@_Dir_Gen.w * cfLight[ @0@ ].Specular * ShadowGen ;

		#endif // LG@0@_DIR

	#endif // USE_SPE

#endif // LG@0@_USE
// Cg@0@̏ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++( I )








