我使用我的片段着色器來剪輯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