OpenGLでイメージをマスクしてその一部が透明になるようにしようとしています。ここで働いていない私のコード、です:OpenGLで正しく動作するようにマスキングができません
draw_img(background);
...
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glBlendFunc(GL_ONE, GL_ZERO);
draw_img(mask);
glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA);
draw_img(foreground);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
ここでは、私が描くしようとしていた上で、私の背景画像は、次のとおりです。ここで
(それぞれ、テクスチャとマスクですマスクの白は)あなたが見ることができますので、私はちょうどそれを平坦化し、本当に透明である:
これは私が得ることを期待するものである:
そして、これは私が実際に得るものです:
問題が何であるか任意のアイデア?
初心者のためのよく
ありがとうございました!今私はそれがなぜそれをしているのか理解しています - 私は2番目のブレンドが間違っていると思っていましたが、本当に働いていました。 – Skyler