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

2021-05-09 12:29:17 字數 1158 閱讀 5188

圖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...