|
[em24]
void SpotLight_ps(float4 position : TEXCOORD,
float3 normal : TEXCOORD,
out float4 oColor : COLOR,
uniform stLight light,
uniform stMaterial Mtrl, // 结构
uniform float3 eyePosition,
uniform float3 globalAmbient)
{
float3 V = position.xyz;
float3 N = normalize(normal);
// 放射值
float3 Emissive = Mtrl.Ke;
// 环境光值
float3 Ambient = Mtrl.Ka * globalAmbient;
float3 Diffuse, Specular;
AttenuationLighting(light, V, N, eyePosition,
Mtrl.shininess, Diffuse, Specular);
oColor.xyz = Emissive + Ambient + Diffuse + Specular;
oColor.w = 1;
} |
|