나는 glAlphaBlend와 그의 모든 매개 변수에 alhpa 마스킹을 사용하려고합니다. stackoverflow 많은 비슷한 대답을 발견하지만 아무것도 실현하지 않습니다.OpenGL Alpha 마스크
배경 (1), 마스크 (2), 텍스트 (3)의 세 가지 이미지가 있습니다.
내가 원하는 것은 배경을 그려야하고, 내 마스크를 텍스트에 가져 와서 마침내 이미지 (A)를 얻는 것입니다.
Draw background
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
glEnable(GL_BLEND);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
glBegin(GL_QUADS);
glColor4ub(0,0,0,255);
glVertex2d(mxIncrust0 - bgwidth, myIncrust0);
glVertex2d(mxIncrust0, myIncrust0);
glVertex2d(mxIncrust0, myIncrust0 + textheight);
glVertex2d(mxIncrust0 - bgwidth, myIncrust0 + textheight);
glEnd();
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glEnable(GL_BLEND);
glBlendEquation(GL_FUNC_ADD);
glBlendFuncSeparate(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA, GL_ZERO, GL_ONE);
Draw Text
그러나 뭐든지 노력하고 있습니다!
실제 구현 방법은 무엇입니까?
'하지만 아무 것도 작동하지 않습니다!'이것은 무엇을 의미 할 수 있습니까? 무슨 결과가 있니? SO에 매체가 없습니다. – Drop
나는 이해하고있다. 나는 모든 대답을 쌓아 봤지만 아무 것도 옳은 일을하고 있다고 말하려고한다. – Maypeur
그럼 우리가 가진 것을 보여주십시오. 또한 "마스크 그리기"와 같은 것은 없습니다. 그릴 수있는 유일한 방법은'Draw *'호출입니다. 가면을 그릴 필요가 없습니다. 출력 합병 단계에서 마스크가 텍스트 텍스처와 결합됩니다 (GL 속어의 "샘플 당 연산"). 드로잉 코드와 결과 스크린 샷을 보여주기 전에 opengl 문서를 살펴 보시기 바랍니다 : [렌더링 파이프 라인 개요] (http://www.opengl.org/wiki/Rendering_Pipeline_Overview) – Drop