遮挡着色器将整个场景变为黑色

时间:2015-09-16 05:56:28

标签: java opengl glsl lwjgl culling

我试图剔除每一张脸,如果它正常的角度为:90< x< 270(度),矢量从cameraPosition到vertexPosition。

我看到的一切都是屏幕变黑了。我刚开始使用GLSL,所以我不知道原因是什么......或者如何调试。

顶点着色器:

uniform vec3 camera_Position;

void main(void)
{
 vec4 vertex_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

 vec3 N = gl_Normal.xyz; 

 vec3 V = camera_Position - vertex_Position;

 float angle = degrees(acos(dot(N,V)));
 if(angle >= 90) {
  return;
 }
 if(angle <= 270) {
  return;
 }

 gl_Position = vertex_Position;
}

Fragment Shader:

void main()
{
 gl_FragColor = gl_Color;
}

0 个答案:

没有答案