내 코드 투명한 픽셀에 검은 색 픽셀을 변경Opengles 어떻게
vec4 textureColor = texture2D(uTextureSampler, vTextureCoord);
if(textureColor.r* 0.299 + textureColor.g * 0.587 + textureColor.b * 0.114 < 0.1) {
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
} else {
gl_FragColor = vec4(textureColor.r, textureColor.g, textureColor.b, textureColor.w);
}
내 문제가 어떻게 픽셀이 검은 색 판단이다 하는가? 어떻게 할 수 있습니까? rgb를 hsv로 변경해야합니까?
@BDL 네, 불쌍한 내 영어 –
용서는 그 코드와 함께 일하지 말아야 이유가 표시되지 않습니다를. 'textureColor'가 [0,0,0]이면 투명 픽셀로 끝납니다. (OpenGL 응용 프로그램의 나머지 부분에는 문제가 없다고 가정합니다.) 무조건'gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0); '을 출력하면 어떻게됩니까? – BDL
'if (textureColor.r * 0.299 + textureColor.g * 0.587 + textureColor.b * 0.114 <0.1)'는 검은 픽셀을 판단하고, 검은 픽셀이라면이 픽셀을 투명하게 변경하므로'gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);'픽셀을 투명으로 변경합니다. –