问题很简单,我要在mfc中用OpenGL画一条直线,用了glBegin(GL_LINES);
glColor4f(0.0,0.0,0.0,1.0);
glVertex2i(50,50);
glVertex2i(200,200);
glColor4f(0.0,0.0,0.0,0.5);
glVertex2i(40,40);
glVertex2i(400,400);
glEnd();可是,画出的两条直线的颜色没有什么区别,也就是,alpha没有起到作用,请问,要使用alpha,要什么特殊的设置吗?
在设置像素格式的时候有什么要求吗?
请客位高手指点,由于本人初学OpenGL编程,最好能给处在mfc下实现这个功能的源代码。
谢谢!

解决方案 »

  1.   

    使用如下代码:
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA,GL_ONE);         ..... glDisable(GL_BLEND);
      

  2.   

    To:autoegg(dandan) 
    你好,非常感谢,我在黑色背景下画白线的时候,你的方法是好使的,可是我是在白色背景下画黑线,就不好用了,我不太懂,可以告诉我该怎么做吗?
      

  3.   

    那是颜色设置的问题,白色是rgb均为最大,黑色是均为0,blend值的用途是体现透明程度,在白色背景下透明就不那么明显了,换其他背景试试。