上一篇介紹了疊加矩形的透明顯示,這一篇介紹如何旋轉或縮放圖形
效果圖
主體代碼
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); //關閉混合模式
// 旋轉45度
glRotatef(45, 0.f, 0.f, -1.0f);
// 縮放0.5
glScalef(0.5, 0.5, 0.5);
// 藍色
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;
}