//------------------------------------------------------------
//

//------------------------------------------------------------
uniform sampler2D mmv_tex0;

//------------------------------------------------------------
varying vec3 VERTEX_NORMAL;	// 法線ベクトル
varying vec3 VERTEX_LIGHT;	// ライトベクトル
//varying vec3 VERTEX_LIGHT2;	// ライトベクトル
varying vec3 VERTEX_EYE;	// 視線ベクトル

// ------------------------------------------------------------
// フラグメントシェーダプログラム
// ------------------------------------------------------------
void main( void )
{
	vec3	N	= normalize(VERTEX_NORMAL);	// 法線ベクトル
	vec3	L	= normalize(VERTEX_LIGHT);	// ライトベクトル
//	vec3	L2	= normalize(VERTEX_LIGHT2);	// ライトベクトル
	vec3	E	= normalize(VERTEX_EYE);	// 視線ベクトル
	vec3	R	= reflect( L, N );			// 反射ベクトル
	
	//色
	vec3	color	= texture2D( mmv_tex0, gl_TexCoord[ 0 ].st ).rgb;	//マテリアル色
	float	a		= texture2D( mmv_tex0, gl_TexCoord[ 0 ].st ).a;		//不透明度

	//スペキュラ
	float	powr	= gl_FrontMaterial.shininess;	//反射の強さ
	float	s_dif	= gl_FrontMaterial.specular.r;	//反射光(rgb同じ)
	
    float	spec	= pow( max( dot( R, E ), 0.0 ), powr ) * s_dif;
	
	
	gl_FragColor	= vec4( color + vec3( spec ), a );	//出力
	
	//アウトライン
//	if( dot( E, N ) > -0.2 ){
//		gl_FragColor	= vec4( 0, 0, 0, a );
//	}
}
