可以对OpenGL中的基本形状进行Porter / Duff XOR操作吗?

时间:2016-04-05 17:52:29

标签: c++ c opengl alphablending porter-duff

我有一个三角形:

void myTriangle()
{

    glBegin(GL_TRIANGLES);
        glColor4f(0,0,1,1);
        glVertex2f(0, 0.5);// 
        glVertex2f(-0.5,-0.5);//
        glVertex2f(0.5,-0.5);//
    glEnd();
}

我有一个方形的形状:

void mySquare(double R,double G,double B,float A)
{
    glBegin(GL_QUADS); 
      glColor4f(R,G,B,A);
      glVertex2f(-0.5f, -0.5f); 
      glVertex2f( 0.5f, -0.5f);
      glVertex2f( 0.5f,  0.5f);
      glVertex2f(-0.5f,  0.5f);
    glEnd();
}

我希望将两个形状相交以显示xor效果,如:

Porter/Duff XOR

这在OpenGL中是否可行?如果可行的话,我该怎么做呢? 我也使用GLUT和GLUI库作为附注,以防万一我可以使用它们。

0 个答案:

没有答案