我正在尝试使用discard
关键字隐藏特定的面孔(假设面孔0)。
顶点着色器:
uniform float v_triangleId;
varying vec3 normal;
void main() {
v_triangleId = floor(gl_VertexID / 3.0);
normal = normalize(gl_NormalMatrix * gl_Normal);
gl_Position = ftransform();
}
像素着色器:
uniform float v_triangleId;
void main(void)
{
float diff = abs(v_triangleId - 0); // I just want to hide face 0
if (diff < 0.01) {
discard;
}
}
但是,在这种情况下,所有面孔都是隐藏的,而不仅仅是一个面孔。我想知道哪里出了问题。