OpenGL透明

bool    blend;                        // 是否混合?
bool bp; // B 键按下了么?

InitGL:

    glColor4f(1.0f,1.0f,1.0f,0.5f);            // 全亮度, 50% Alpha 混合
glBlendFunc(GL_SRC_ALPHA,GL_ONE); // 基于源象素alpha通道值的半透明混合函数

Winmain:

            if (keys['B'] && !bp)                // B 健按下且bp为 FALSE么?
{
bp=TRUE; // 若是, bp 设为 TRUE
blend = !blend; // 切换混合选项的 TRUE / FALSE
if(blend) // 混合打开了么?
{
glEnable(GL_BLEND); // 打开混合
glDisable(GL_DEPTH_TEST); // 关闭深度测试
}
else // 否则
{
glDisable(GL_BLEND); // 关闭混合
glEnable(GL_DEPTH_TEST); // 打开深度测试
}
}
if (!keys['B']) // B 键松开了么?
{
bp=FALSE; // 若是, bp设为 FALSE
}




posted @ 2012-01-23 22:39  Dsp Tian  阅读(3084)  评论(0编辑  收藏  举报