2012-04-10 1 views
0

단일 색상 (예 : (255,255,255))의 알파를 0으로 설정하려는 텍스처가 있습니다.Open GL ES 텍스처 : 투명 색상 설정 || 알파의 알파를

나는이 호출을 사용합니다. (self.texture

glBindTexture(GL_TEXTURE_2D, self.texture.name); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_BYTE, baseAddress); 

텍스처가 완벽하게 표시됩니다. cocos2d의 CCTexture2D입니다. 네가 나를 도울 수 있기를 바랍니다.

답변

0

OpenGL 명령을 사용하여이를 수행 할 방법이 없습니다. 셰이더를 사용하여 특정 색의 픽셀을 필터링하거나 픽셀 데이터를 baseAddress에서 픽셀 단위로 수정 한 다음 glTexImage2D에 업로드해야합니다.

+0

은 셰이더와 완벽하게 작동합니다! 고맙습니다! – Max

+1

쉐이더를 사용하여 이것을 어떻게 할 수 있는지 보여줄 수 있습니까? 나는 OpenGl을 처음 사용하기 때문에 어떤 도움을 주셔서 감사합니다. Thx – Sandra

1

임 확실하지 이걸 이해하고 나는 OpenGL을에 비교적 새로운 해요하지만 난 그냥 하나 개의 색상은 당신이 위에 두 개의 텍스처가

gl.glblendfunc를 사용하여 하나 transeparent을 배치 할 수없는 투명하게하려는 생각하는 경우()

boolean SEE_THRU = true; 
if (SEE_THRU) { 
gl.glDisable(GL10.GL_DEPTH_TEST); 
gl.glEnable(GL10.GL_BLEND); 
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE); 
}