重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
說明
GLUT_SINGLE 0x0000 指定單緩存窗口
GLUT_DOUBLE 0x0002 指定雙緩存窗口
原理
GLUT_SINGLE單緩沖,屏幕顯示調用glFlush(),將圖像在當前顯示緩存中直接渲染,會有圖形跳動(閃爍)問題
GLUT_DOUBLE雙緩沖,屏幕顯示調用glutSwapBuffers(),將圖像先繪制在另外的緩存中,渲染完畢之后,將其整個緩存貼到當前的窗口,能消除閃爍,一般動畫要用雙緩沖.
GLUT_SINGLE例子
#include
#include
void myDisplay(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPointSize(20);
glBegin(GL_POINTS);
glColor3f(0.0, 1.0, 0.0);
glVertex2f(0.0, 0.0);
glEnd();
glFlush();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);
glutInitWindowPosition(200, 200);
glutInitWindowSize(400, 400);
glutCreateWindow("OpenGL 窗口1");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
GLUT_DOUBLE例子
#include
#include
void myDisplay(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPointSize(20);
glBegin(GL_POINTS);
glColor3f(0.0, 1.0, 0.0);
glVertex2f(0.0, 0.0);
glEnd();
glutSwapBuffers();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutInitWindowPosition(200, 200);
glutInitWindowSize(400, 400);
glutCreateWindow("OpenGL 窗口1");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。