天天看點

OpenGL GLFW入門篇 - 畫矩形3

上一篇介紹了疊加矩形的透明顯示,這一篇介紹如何旋轉或縮放圖形

效果圖

OpenGL GLFW入門篇 - 畫矩形3

主體代碼

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;
}
           

繼續閱讀