OpenGL用法暨第一個OpenGL程序

//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函數在有限時間內運行

}


int main(int argc, char ** argv)
{
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;

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章