//OpenGL的書寫規範 暨我的第一個OpenGL程序
//有了框架,其他就什麼都好說了
#include "..\H\glut.h"
#pragma comment(lib, "glut.lib")void init(void)
{
glClearColor(1.0, 1.0, 0.0, 0.0);//設置主窗口的背景顏色
glColor3f(1.0f,0.0f,0.0f); // 設置所繪圖形的顏色
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,500.0,0.0,500.0);
}
void myDisplay(void)
{glClear(GL_COLOR_BUFFER_BIT);// 將緩存清除爲預先的設置值
/*------------------------------------------------------------------------*/
//此處添加需要繪製的圖形
glBegin(GL_POLYGON);
glVertex3f(200.0,200.0,0.0);
glVertex3f(200.0,300.0,0.0);
glVertex3f(300.0,300.0,0.0);
glVertex3f(300.0,200.0,0.0);
glEnd();
//
glBegin(GL_POINTS);
glVertex2i(60,60);
glVertex2i(80,80);
glVertex2i(30,50);
glEnd();
//
glBegin(GL_POINTS);
for(int i=50;i<400;i=i+10)
glVertex2i(i,50);
glEnd();
//
glBegin(GL_LINES);//兩條線段
glVertex2i(85,80);
glVertex2i(100,100);
glVertex2i(110,90);
glVertex2i(130,150);
glVertex2i(100,205);//不會畫出
glEnd();
//
glBegin(GL_LINE_STRIP);//依次鏈接的折現
glVertex2i(200,100);
glVertex2i(290,180);
glVertex2i(250,90);
glVertex2i(230,150);
glVertex2i(270,200);
glEnd();
//
glColor3f(0.0f,0.0f,1.0f);// 下方顏色
glBegin(GL_LINE_LOOP);//依次鏈接 直至 封閉
glVertex2i(250,300);
glVertex2i(300,280);
glVertex2i(190,300);
glVertex2i(330,330);
glVertex2i(300,350);
glEnd();
/*------------------------------------------------------------------------*/
glFlush();//強制OpenGL函數在有限時間內運行
}
{
glutInit(&argc, argv);//初始化GLUT庫
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB|GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);//單緩衝、RGB模式|其他模式
glutInitWindowSize(500,500);//窗口尺寸大小
glutInitWindowPosition(200, 200);//距離屏幕邊框距離
glutCreateWindow("OpenGL_Window");//窗口標題
init();
glutDisplayFunc(myDisplay);//顯示需要繪製的圖形
glutMainLoop();//循環
return 0;
}