1
나는 3D 객체 그리기 후 직교 투사를 켜 방법이 있습니다 :왜 알파 블렌딩이 오르토에서 작동하지 않습니까?
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,Screen_Width,Screen_Height,0,0,1);
그리고 이것이 내가 혼합 켜고 3D 객체 그린 후 오르의 질감을 그리는 방법은 다음과 같습니다
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1,1,1,1);
glBindTexture(GL_TEXTURE_2D,Texture1);
glBegin(GL_QUADS);
//draw 1st quad
glEnd();
glBindTexture(GL_TEXTURE_2D,Texture2);
glBegin(GL_QUADS);
//draw 2nd quad
glEnd();
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
Quad1이입니다 Quad2보다 크고 Quad2의 일부분을 커버합니다. 두 텍스처 모두 알파 채널이 RGBA입니다.
문제는 Quad1 & Quad2는 알파가있는 3D 개체를 올바르게 오버레이하지만 Quad1의 알파는 Quad2 위에있을 때 작동하지 않습니다. 그것은 Quad2의 꼭대기에 RGB와 같이 그립니다.
이 문제를 어떻게 해결할 수 있습니까?
당신에게 너무 감사합니다, 나는 GL_DEPTH_TEST을 해제하지 않았다 :) – jondinham