OpenGL GLFW入门篇 - 画矩形2

上一篇介绍了如何渲染矩形,这一篇介绍如何将叠加的部分透明显示

效果图

OpenGL GLFW入门篇 - 画矩形2

主体代码

void DrawRectangle(void)
{
    GLfloat xl, yt, xr, yb, w, h;

    glPushMatrix();
	glLoadIdentity();
	glTranslatef(0.0, 0.0, 0.f);

	w = 1.2;
	h = 1.0;
    xl = -0.8;
    yt = -0.8;
    yb = yt + h;
    xr = xl + w;

    // 红色
	glColor3f(1.f, 0.f, 0.f);
    glRectf(xl, yt, xr, yb);

	glEnable(GL_BLEND);  //开启混合模式
    glBlendFunc(GL_SRC_ALPHA, GL_ONE);

	// 绿色
	glColor4f(0.f, 1.f, 0.f, 0.5f);
    xl += 0.2;
    xr += 0.2;
    yt += 0.2;
    yb += 0.2;
    glRectf(xl, yt, xr, yb);

	glDisable(GL_BLEND);  //关闭混合模式

	// 蓝色
	glColor3f(0.f, 0.f, 1.f);
	xl += 0.2;
	xr += 0.2;
	yt += 0.2;
	yb += 0.2;
    glRectf(xl, yt, xr, yb);

	glEnd();
	glPopMatrix();

	return;
}

 

上一篇:线程之间的通信(thread signal)


下一篇:GLFW 环境如何配置?