2009-06-07 4 views
0

먼저 이미지를 화면에 그려 넣은 다음 그림과 같은 마스크를 그립니다. 중간에 흰색이있는 원이며 모두 왼쪽은 검은 색이다. glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);를 사용합니다. 을 클릭하면 뒷면 이미지의 흰색 원만 표시됩니다. 그럼 마스크의 같은 위치에 다른 이미지를 그려야합니다. 제 목표는이 부분이 흰 동그라미에 해당하는 부분에만이 이미지를 그리게하는 것입니다. 사실 제가 그리는 것은 달입니다. 그리고 나는 그것을 불투명하게해야합니다. 어떻게해야합니까?OpenGL 블렌드 분야의 문제

나는 당신의 도움을 받고 싶습니다. 당신은 [email protected]에서 이메일을 보낼 수 있습니다.

고마워요!

+0

당신의 방법은 조금 비 재능으로 들립니다. 왜 이걸 시도하는지 설명해 주시겠습니까? (또한 StackOverflow에서 우리는 서로 이메일을 보내지 않고이 사이트에서 답장합니다.) – Macke

+0

BitBlt를 사용하여 마스크 된 스프라이트를 그리는 방식에 익숙한 것처럼 들립니다. – Eric

답변

0

질문을 올바르게 이해하지 못했지만 원과 마지막으로 사용한 이미지가 하나만있는 이미지를 사용할 수 없었습니까?

스텐실 버퍼를 사용할 수 있습니다. 두 번째 이미지를 그릴 때 값으로 설정하고 세 번째 이미지에서 해당 값의 픽셀 만 렌더링합니다.

1

검은 색/흰색을 달빛 이미지의 알파 채널에 넣기 만하면됩니까? 그것은 아마도 당신이 할 수있는 가장 현명한 일이며, 관례를 따릅니다.

또는 귀하의 접근 방식에 전념한다면. 프레임 버퍼의 알파 부분에 검정색/흰색을 렌더링합니다 (이미 여러분이하는 말을한다면 이미 존재합니다). 다음 패스에 SRC_ALPHA 대신 DST_ALPHA를 사용하십시오. 그러나 이것은 OpenGL에서 일반적으로하는 방법이 아닙니다.

+0

안녕하세요, Marcus Lindblom, 나는 stackoverflow와 openGL에서 모두 새로운 사용자입니다. 제 질문을 아주 명확하게 설명하지 않았을 수 있습니다. 이제는 제 수단을 명확하게 만드는 데 도움이되는 사진을 업로드했습니다. 1 내가 그릴 이미지는 다음과 같습니다. http://profile.imageshack.us/user/walking_snail/images/detail/#197/backdrop00.jpg 2. 다음으로 이미지를 다른 그림을위한 마스크 http://profile.imageshack.us/user/walking_snail/images/detail/#192/planet1.gif 3. 이제 다음 그림을 그려야합니다. http : //profile.imageshack. us/user/walking_snail/images/detail/# 194/planet1.gif 나는 어떤 일을합니까? –

+0

이것은 fianl 결과 샘플임을 잊어 버리십시오. http://profile.imageshack.us/user/walking_snail/images/detail/#32/sampley.png 예, 아마도이 게임은 Bejeweled of the 팝캡. 모든 리소스가 instal 디렉토리에서 발견되므로 복제하고 싶습니다. 소원이 더 도움이 되길 바래, 대단히 감사합니다! –