ps.fx

来自「3d 游戏编程入门教程之例子源码-高光反射」· FX 代码 · 共 20 行

FX
20
字号
float4 PS(float3 Light: TEXCOORD0, float3 Norm : TEXCOORD1, float3 View : TEXCOORD2) : COLOR
{
    float4 diffuse = { 1.0f, 0.0f, 0.0f, 1.0f};
    float4 ambient = { 0.15f, 0.15f, 0.15f, 1.0f};
    float specint = 0.2;
    
    // normalize
    //float3 Normal = normalize(Norm);
    //float3 LightDir = normalize(Light);
    //float3 ViewDir = normalize(View);
    
    float4 diff = saturate(dot(Norm, Light));
    
	// specular component with R vector normalized
    float3 Reflect = normalize(2 * diff * Norm - Light);  
    float4 specular = pow(saturate(dot(Reflect, View)), 5);

    // self-shadow term * (colormap * (diffuse + ambient) + specular)
    return (ambient * diffuse * diff) + specint * specular; 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?