Files
Cluster/insDavi2.0/Res/shader/prog_model_ads.fp

30 lines
735 B
Plaintext
Raw Normal View History

2026-04-17 18:22:45 +08:00
uniform mat4 u_mat4_ads;
varying vec3 vEyeNormal;
varying vec3 vPosition3;
void main()
{
vec4 amb = u_mat4_ads[0];//vec4 (0.0, 0.0, 0.0, 1.0);
vec4 diff = u_mat4_ads[1];//vec4 (1.0, 1.0, 1.0, 1.0);
vec4 spcl = u_mat4_ads[2];//vec4 (1.0, 1.0, 1.0, 1.0);
vec3 lpos = u_mat4_ads[3].xyz;//vec3(-10.0, 10.0, 10.0);
vec3 vLightDir = normalize(lpos - vPosition3);
float tdiff = max(0.0, dot(vEyeNormal, vLightDir));
vec4 v_v4_clr = tdiff * diff;
v_v4_clr += amb;
vec3 vReflection = normalize(reflect(-vLightDir, vEyeNormal));
float spec = max(0.0, dot(vEyeNormal, vReflection));
float fSpec = pow(spec, 128.0);
v_v4_clr.rgb += vec3(fSpec, fSpec, fSpec);
v_v4_clr.rgba *= u_mat4_ads[3].w;
gl_FragColor = v_v4_clr;
}