代码拉取完成,页面将自动刷新
同步操作将从 pengrui_2009/QOpenGL3D 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#version 120
// Light information
uniform highp vec4 lightPosition;
uniform highp vec3 lightIntensity;
// Material information
uniform lowp vec3 Ka;
uniform lowp vec3 Kd;
uniform lowp vec3 Ks;
uniform lowp float shininess;
varying highp vec3 normal;
varying highp vec3 position;
highp vec3 adsModel(vec3 norm)
{
// Calculate light direction
highp vec3 s = normalize( lightPosition.xyz - position);
// Calculate the vector from the fragment to eye position
highp vec3 v = normalize( -position.xyz );
// Reflect the light using the normal
highp vec3 r = reflect( -s, norm);
// Calculate the diffuse contribution
highp vec3 diffuseIntensity = vec3( max( dot( s, norm), 0.0) );
// Calculate specular contribution
highp vec3 specularIntensity = vec3(0.0);
if( dot( s, norm) > 0.0 )
specularIntensity = highp vec3( pow( max( dot(r, v), 0.0), shininess));
// Calculate final color
return lightIntensity * (Ka +
Kd * diffuseIntensity +
Ks * specularIntensity);
}
void main(void)
{
gl_FragColor = highp vec4(adsModel(normalize(normal)), 1.0);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。