Opengl es WebGL照明系统不';不适用于某些边缘?

Opengl es WebGL照明系统不';不适用于某些边缘?,opengl-es,glsl,webgl,lighting,Opengl Es,Glsl,Webgl,Lighting,不知道这叫什么,但当在远处查看我的模型时,看起来灯光并没有应用到某些边缘,这使它们显得非常突出。有什么想法吗?我没有使用任何纹理 顶点着色器: attribute vec3 aPosition; attribute vec3 aNormal; uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uNormalMatrix; varying vec3 vLighting; void main(void) { vec3 a

不知道这叫什么,但当在远处查看我的模型时,看起来灯光并没有应用到某些边缘,这使它们显得非常突出。有什么想法吗?我没有使用任何纹理

顶点着色器:

attribute vec3 aPosition;
attribute vec3 aNormal;

uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 uNormalMatrix;

varying vec3 vLighting;

void main(void) {
  vec3 ambientLight = vec3(0.2, 0.2, 0.2);
  vec3 directionalLight = vec3(1.0, 0.5, 0.5);
  vec3 directionalLightDirection = vec3(0.8, 0.7, 0.6);

  vec4 transformedNormal = uNormalMatrix * vec4(aNormal, 1.0);
  float directional = max(dot(transformedNormal.xyz, directionalLightDirection), 0.0);
  vLighting = ambientLight + (directionalLight * directional);

  gl_Position = uPMatrix * uMVMatrix * vec4(aPosition / 80.0, 1.0);
}
片段着色器:

precision mediump float;

varying vec3 vLighting;

void main(void) {
  vec4 skin = vec4(0.8, 0.6, 0.4, 1.0);
  gl_FragColor = vec4(skin.rgb * vLighting, skin.a);
}
图片:


我看不出您在此处描述的问题。我将发布另一张图片。如果你仔细看这张图片,你会发现模型的边是黑色的。@Nicolas:我已经发布了一张放大的图像,问题更清楚了。你确定你的模型没有裂缝吗?我会检查模型中只有两个顶点的多边形,或者有两个以上的多边形共享边的多边形。