OpenGLの別のテクスチャにテクスチャ (アルファ付き) を配置しようとしています。私は問題なくそれを行いますが、それは私が望んでいたものではありません: 私の最も近い画像の色は、背景画像(最も遠いテクスチャ)の影響を強く受け、赤にもかかわらずオレンジ色に見えます。
この問題を解決するブレンド (またはアルファを取り除く) 方法を知っている人はいますか?
ブレンディングの初期化:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
描画シーン:
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
//furthest image (background)
glBindTexture(GL_TEXTURE_2D, texture[1]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(1, 0); glVertex2f(500, 0);
glTexCoord2f(1, 1); glVertex2f(500, 500);
glTexCoord2f(0, 1); glVertex2f(0, 500);
glEnd();
//nearest image (appears orange, should be red)
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(100, 100);
glTexCoord2f(1, 0); glVertex2f(300, 100);
glTexCoord2f(1, 1); glVertex2f(300, 300);
glTexCoord2f(0, 1); glVertex2f(100, 300);
glEnd();
glutSwapBuffers();
編集。これがどのように見えるかを描いた画像です:
これがどのように見えるかのイメージです: