下面列出乙個簡單的opengl程式:
例4-1 opengl簡單例程(
******.c)
#include
#include
#include "glos.h"
void main(void)
這個程式執行結果是在螢幕視窗內畫乙個紅色的方塊。
下面具體分析整個程式結構:首先,在程式最開始處是opengl標頭檔案:、。前乙個是gl庫的標頭檔案,後乙個是輔助庫的標頭檔案。此外,在以後的幾章中還將說明opengl的另外兩個標頭檔案,乙個是實用庫的標頭檔案,另乙個是x視窗擴充庫的標頭檔案(這個常用在工作站上)。接下來是主函式main()的定義:一般的程式結構是先定義乙個視窗:
auxinitdisplaymode(aux_single|aux_rgba);
auxinitposition(0,0,500,500);
auxinitwindow("******");
auxinitdisplaymode(aux_single|aux_rgba)設定視窗顯示模式為rgba方式,即彩色方式,並且圖形快取為單快取(
single buffer)。auxinitposition(0, 0, 500, 500)定義視窗的初始位置,前兩個引數(0, 0)為視窗的左上角點的螢幕座標,後兩個引數(500,500)為視窗的寬度和高度。auxinitwindow("******")是視窗初始化,字元引數是視窗名稱。
然後是視窗內清屏:
glclearcolor(0.0,0.0,0.0,0.0); glclear(gl_color_buffer_bit);
第一句將視窗清為黑色,第二句將顏色緩衝區清為glclearcolor(0.0, 0.0, 0.0, 0.0)命令所設定的顏色,即同視窗背景顏色一致。
再接著是在視窗內畫乙個物體:
glcolor3f(1.0,0.0,0.0);
glrectf(-0.5,-0.5,0.5,0.5);
很明顯,第一句設定物體顏色,函式中前三個引數分別為r、g、b值,最後乙個引數是alpha值,範圍都從0至1;第二句繪製乙個二維矩形。注意:opengl是針對三維圖形而言,因此用作opengl程式設計繪製物體必須意識到任何乙個物體都是三維的,具有空間性,而顯示於螢幕上的物體都是三維物體在二維平面上的投影。
從表面上看,上述程式**很簡單,實際上已經用到了預設的投影形式(正射投影)。再看glflush()函式,表示強制繪圖完成。最後一句_sleep(1000),引數單位為毫秒,整句意思是保持現有狀況一秒鐘,然後結束程式執行。這個函式是vc++的庫函式。
總而言之,opengl程式基本結構為定義視窗、清理視窗、繪製物體、結束執行。
第乙個核心測試程式
1.在vmware安裝上centos 網路設定,參考注意在centos 右上角的網路圖示選擇對應的網路裝置。2.安裝gcc環境 yum install gcc c 3.安裝核心檔案 yum install kernel devel 4.編寫hello.c檔案 例子參考 include include...
第乙個程式測試 三
第乙個程式就low一下點亮一下led為了測試開發環境準確無誤。先看一下原理圖 我們看到開發板有3個燈,nled 1 為低電平的時候亮。對應的分別為gpf4 gpf5 gpf6 gpio的控制方法在晶元的手冊的i o port這章。設定這兩個暫存器就可以了 port configuration reg...
第乙個視窗程式
程式截圖 程式 include lresult callback wndproc hwnd,uint,wparam,lparam int winapi winmain hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icm...