OpenGL의 배경 위에 이미지를 렌더링해야하며 Photoshop의 "Color Dodge"와 동일한 결과를 얻으려고하지만이를 수행 할 수 없습니다.OpenGL에서 색상 피하기
지금은하고 있어요 :
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
// background
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, background);
glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0.0, 0.0);
...
glEnd();
glDisable(GL_TEXTURE_2D);
// image
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, image);
glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0.0, 0.0);
...
glEnd();
glDisable(GL_TEXTURE_2D);
배경없이 알파 채널과 TGA입니다. 이미지는 알파 채널이있는 tga입니다.
이미지를 배경에 알파로 렌더링하지만 너무 밝게 표현합니다.
이glBlendFunc(GL_ONE, GL_ONE);
그러나 알파 채널을 갖는에도 불구하고 이미지가 흰색 사각형으로 렌더링됩니다 :
나는대로 쉽게해야한다는 읽어 보시기 바랍니다.분명히 뭔가 잘못하고 있습니다.
나는 상자에서 처리 할 수 있다고 가정했습니다. 지금은 배경 질감과의 혼합이 일어나지 않고 대신 배경색 (흰색)으로 보인다. –