1.在VS2013中建立一個OpenGL工程
選擇File->New->Project,然后選擇VC下的Win32 Console Application,選擇一個名字,然后按OK。
在談出的對話框左邊點Application Settings,找到Empty project並勾上,選擇Finish。
然后向該工程添加一個代碼文件,取名為“OpenGL.cpp”。
搞定了,就跟平時的工程沒什么兩樣的。
2.第一個OpenGL程序
1 //GLUT的頭文件 2 //本來OpenGL程序一般還要包含<GL/gl.h>和<GL/glu.h>,但GLUT的頭文件中已經自動將這兩個文件包含了,不必再次包含 3 #include <GL/glut.h> 4 5 void myDisplay(void) 6 7 { 8 //表示清除顏色 9 glClear(GL_COLOR_BUFFER_BIT); 10 11 //畫一個矩形。四個參數分別表示了位於對角線上的兩個點的橫、縱坐標 12 glRectf(-0.5f, -0.5f, 0.5f, 0.5f); 13 14 //保證前面的OpenGL命令立即執行(而不是讓它們在緩沖區中等待) 15 glFlush(); 16 17 } 18 19 //帶命令行參數的main函數 20 int main(int argc, char *argv[]) 21 22 { 23 //以glut開頭的函數都是GLUT工具包所提供的函數 24 25 //對GLUT進行初始化,這個函數必須在其它的GLUT使用之前調用一次。其格式比較死板,一般照抄這句glutInit(&argc, argv)就可以了 26 glutInit(&argc, argv); 27 28 //設置顯示方式,其中GLUT_RGB表示使用RGB顏色,與之對應的還有GLUT_INDEX(表示使用索引顏 色)。 29 //GLUT_SINGLE表示使用單緩沖,與之對應的還有GLUT_DOUBLE(使用雙緩沖) 30 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 31 32 //設置窗口在屏幕中的位置 33 glutInitWindowPosition(100, 100); 34 35 //設置窗口的大小 36 glutInitWindowSize(400, 400); 37 38 //根據前面設置的信息創建窗口。參數將被作為窗口的標題 39 //注意:窗口被創建后,並不立即顯示到屏幕上。需要調用glutMainLoop才能看到窗口 40 glutCreateWindow("第一個OpenGL程序"); 41 42 //每當GLUT確定一個窗口的內容需要重新顯示時,通過glutDisplayFunc() 所注冊的那個回調函數就會被執行 43 //應該把重繪場景所需要的所有代碼都放在這個顯示回調函數里。 44 glutDisplayFunc(&myDisplay); 45 46 //所有已經創建的窗口將會在這時顯示,對這些窗口的渲染也開始生效 47 //事件處理循環開始啟動,已注冊的顯示回調函數被觸發。一旦進入循環,它就永遠不會退出。 48 glutMainLoop(); 49 50 return 0; 51 52 }
該程序的作用是在一個黑色的窗口中央畫一個白色的矩形。具體情況請看注釋~~
這就是簡單的第一個OpenGL程序~~