opengl 學習2 第乙個程式

2021-09-01 18:47:25 字數 1440 閱讀 5271

這個程式是我從弄下來的

#include "stdafx.h"

#include void mydisplay(void)

int main(int argc, char *argv)

執行程式出現如圖的矩形

看下這個程式

1)標頭檔案

1."stdafx.h"這個與工程有關 和opengl無關···

2.:這是glut的標頭檔案。

本來opengl程式一般還要包含和,但glut的標頭檔案、

中已經自動將這兩個檔案包含了,不必再次包含。

2)main函式:

1、glutinit,對glut進行初始化,這個函式必須在其它的glut使用之前呼叫一次。其格式比較死板,一般照抄這句glutinit(&argc, argv)就可以了。

2、 glutinitdisplaymode,設定顯示方式,其中glut_rgb表示使用rgb顏色,與之對應的還有glut_index(表示使用索引顏 色)。glut_single表示使用單緩衝,與之對應的還有glut_double(使用雙緩衝)。更多資訊,請自己google。當然以後的教程也會 有一些講解。

3、glutinitwindowposition,這個簡單,設定視窗在螢幕中的位置。

4、glutinitwindowsize,這個也簡單,設定視窗的大小。

5、glutcreatewindow,根據前面設定的資訊建立視窗。引數將被作為視窗的標題。注意:視窗被建立後,並不立即顯示到螢幕上。需要呼叫glutmainloop才能看到視窗。

6、glutdisplayfunc,設定乙個函式,當需要進行畫圖時,這個函式就會被呼叫。(這個說法不夠準確,但準確的說法可能初學者不太好理解,暫時這樣說吧)。

7、glutmainloop,進行乙個訊息迴圈。(這個可能初學者也不太明白,現在只需要知道這個函式可以顯示視窗,並且等待視窗關閉後才會返回,這就足夠了。)

3)mydisplay函式

在glutdisplayfunc函式中,我們設定了「當需要畫圖時,請呼叫 mydisplay函式」。於是mydisplay函式就用來畫圖。觀察mydisplay中的三個函式呼叫,發現它們都以gl開頭。這種以gl開頭的函 數都是opengl的標準函式,下面對用到的函式進行介紹。

1、glclear,清除。gl_color_buffer_bit表示清除顏色,glclear函式還可以清除其它的東西,但這裡不作介紹。

2、glrectf,畫乙個矩形。四個引數分別表示了位於對角線上的兩個點的橫、縱座標。

3、glflush,保證前面的opengl命令立即執行(而不是讓它們在緩衝區中等待)。其作用跟fflush(stdout)類似。

OpenGL系統設計 2 第乙個OpenGL應用

圖1 8顯示出來的實際上是乙個標準的windows視窗,和opengl好像沒有關係,儘管我們已經建立了opengl的rc。這是因為我們自己的三個主要的opengl函式glinit glmain glshutdown 都是空函式。為了真正實現opengl的功能,我們還需要將這三個函式進行填充。實際上,...

OpenGL學習(2) 建立第乙個視窗

建立 glfw是乙個專門針對opengl的c語言庫,它提供了一些渲染物體所需的最低限度的介面。它允許使用者建立opengl上下文,定義視窗引數以及處理使用者輸入,這正是我們需要的。include int main 退出 迴圈執行完畢後,我們需要釋放前面所申請的資源 glfwterminate ret...

我的第乙個OPEN GL程式

我使用的是ubuntu 14.04版本的 具體安裝過程如下 sudo apt get install build essential 安裝opengl library 接下來要把我們會用到的 library 裝上去,首先安裝 opengl library sudo apt get install l...