我使用我的片段着色器来剪辑OpenGL ES 2.0中的对象。一切都运行良好,但是被裁剪的表面的颜色都是黑色的......我无法弄清楚如何改变颜色(理想情况下,我想与对象的其余部分做类似的纹理,我已经包括下面我片段着色器的片段着色器使用discard不呈现任何内容到像素的代码。OpenGL ES 2.0 Android剪辑颜色
precision mediump float;
varying vec2 texCoord;
varying vec3 v_Normal;
varying vec3 v_Position;
varying vec4 originalPosition;
uniform sampler2D texSampler2D;
uniform vec3 lightPosition;
uniform vec4 lightColor;
void main()
{
vec3 L = normalize(lightPosition - v_Position);
vec3 N = normalize(v_Normal);
float NdotL = max(dot(N,L),0.0);
if(originalPosition.y >= 2.0){
discard;
}else{
gl_FragColor = NdotL * lightColor * texture2D(texSampler2D, texCoord);
}
}
不知道我完全理解这个问题。你是说它在着色器代码中没有'if'/discard'吗?如果你补充说,一切都变黑了? –
好的,这里是我所拥有的图片。 http://imgur.com/KZwpgIP – SyedKamran
我不希望黑色中心顶部的东西...而是我想它是类似于其他纹理的东西。 – SyedKamran