알파가있는 텍스처가 있습니다. 그리고 약간의 색으로 채색하고 싶기 때문에 색 알파 값에 따라 색칠이됩니다. 그러나 불투명도는 텍스처 알파에 의해서만 정의됩니다.OpenGL ES : 색상을 사용하여 텍스처를 색칠하는 방법
이것은 멀티 텍스처링과 비슷하지만 두 번째 텍스처 대신 컬러를 사용합니다. 어떻게 수행하나요?
(업데이트 됨) 텍스처 결합기를 설정하려고했습니다. 색상은 잘게 착색되었지만 알파에는 문제가 있습니다. 텍스처와 같은 (마스크와 같은) 가치는 없습니다. 이 순간에 내 코드 :
glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);
스크린 샷 :
없음을 칠 : RGBA와
색조 = (0, 0.5, 1, 0.5) :
코드는 나에게 올바른 것 같다. 알파 문제의 스크린 샷을 첨부하거나 문제가있는 부분을 설명해주십시오. – iHunter
텍스처 자체를 업로드 할 수 있습니까? –
또한 렌더링 코드? –