0
在per-fragment點光源中,點光源計算中頂點正常播放扮演什麼角色?OpenGL - 在點光源計算中頂點正常播放起什麼作用?
我的理解是,一個片段的亮度完全取決於它與光源的距離,而且方向矢量是不相關的。
例的Shader
precision mediump float;
uniform vec3 u_LightPos;
varying vec3 v_Position;
varying vec4 v_Color;
varying vec3 v_Normal;
void main()
{
float distance = length(u_LightPos - v_Position);
vec3 lightVector = normalize(u_LightPos - v_Position);
float diffuse = max(dot(v_Normal, lightVector), 0.1);
diffuse = diffuse * (1.0/(1.0 + (0.25 * distance * distance)));
gl_FragColor = v_Color * diffuse;
}
謝謝,我會閱讀它。有沒有獨立於方向的交替點光照算法? –
我從來沒有用過。這很奇怪,因爲調整物體的視角不會影響表面光強度。您可以隨時刪除點積字詞,並在沒有它的情況下查看它的外觀。 – andars
好的。所以使用朗伯很標準,謝謝。 –