圖1-8顯示出來的實際上是乙個標準的windows視窗,和opengl好像沒有關係,儘管我們已經建立了opengl的rc。這是因為我們自己的三個主要的opengl函式glinit(),glmain(), glshutdown()都是空函式。
為了真正實現opengl的功能,我們還需要將這三個函式進行填充。實際上,前面的部分就是opengl程式最基本的框架,當然,如果要輸出一些內容,就需要再進行補充。
先來看修改後的opengl的初始化函式glinit()主體。在glinit函式中,可以把對opengl初始化的一切都放在裡面。
首先啟動陰影平滑,然後再使用glclearcolor清除螢幕,清除螢幕所使用的顏色由其中的前面三個引數(分別表示紅、綠、藍三種顏色的分量)來決定。在opengl中,0.0f表示顏色最暗,1.0f表示顏色最亮。
int glinit()
對於複雜的程式
,glinit()
中需要設定的更多。
接下來再看
glshutdown()
。glshutdown()
的所用是在程式退出前釋放
opengl
占用的資源
,包括渲染描述表、裝置描述表、視窗控制代碼
,以及撤登出視窗類。
void glshutdown() //
刪除渲染描述表
hrc
if (!wgldeletecontext(hrc))
hrc=null; }
if (hdc)}
if (hwnd)
} //
登出視窗類
if (!unregisterclass(szwindowclass,hinst)) }
最後是本程式最重要的部分。glmain()首先以彩色緩衝和深度緩衝清除當前的緩衝區,然後載入單位矩陣,再將當前顏色設定成紅色,通過glbegin
~glend
繪製乙個三角形。最後交換前後緩衝區,將圖形顯示出來。如圖1
-9所示。
void glmain()
圖1-9
第乙個opengl
應用到此為止
,乙個完整的
opengl
程式就完成了
,儘管還有些粗糙
,也不夠規模。但是只要在這個框架上繼續進行補充,發揮你的想象力,任何效果都可以創造出來。
opengl 學習2 第乙個程式
這個程式是我從弄下來的 include stdafx.h include void mydisplay void int main int argc,char argv 執行程式出現如圖的矩形 看下這個程式 1 標頭檔案 1.stdafx.h 這個與工程有關 和opengl無關 2.這是glut的標...
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...