OpenGL(二)之使用GLUT進行顯示窗口管理


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程序~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM