国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
OpenGL+VS2010開發(fā)環(huán)境搭建
基于OpenGL標(biāo)準(zhǔn)開發(fā)的應(yīng)用程序運行時需有動態(tài)鏈接庫OpenGL32.DLL、Glu32.DLL,這兩個文件在安裝Windows NT時已自動裝載到C:\WINDOWS\SYSTEM32目錄下(這里假定用戶將Windows NT安裝在C盤上)。OpenGL的圖形庫函數(shù)封裝在動態(tài)鏈接庫OpenGL32.DLL中,開發(fā)基于OpenGL的應(yīng)用程序,必須先了解OpenGL的庫函數(shù)。OpenGL函數(shù)命令方式十分有規(guī)律,每個庫函數(shù)均有前綴gl、glu、aux,分別表示該函數(shù)屬于OpenGL基本庫、實用庫或輔助庫。Windows NT下的OpenGL包含了100多個核心函數(shù),均以gl作為前綴,同時還支持另外四類函數(shù):
       OpenGL實用庫函數(shù):43個,以glu作為前綴;
       OpenGL輔助庫函數(shù):31個,以aux作為前綴;
       Windows專用庫函數(shù)(WGL):6個,以wgl作為前綴;
       Win32API函數(shù)(WGL):5個,無前綴。

安裝GLUT工具包

GLUT不是OpenGL所必須的,但它會給我們的學(xué)習(xí)帶來一定的方便,推薦安裝。
Windows環(huán)境下的GLUT下載地址:(大小約為150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

GLUT代表OpenGL應(yīng)用工具包,英文全稱為OpenGL Utility Toolkit,是一個和窗口系統(tǒng)無關(guān)的軟件包,

  它由Mark Kilgard在SGI時寫的。作為AUX庫的功能更強大的替代品,用于隱藏不同窗口系統(tǒng)API的復(fù)雜性。

  是一個學(xué)習(xí)OpenGL編程的一個良好開端。

VS環(huán)境配置
 
將下載的壓縮包解開,將得到5個文件(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h)

(1)把glut.h復(fù)制到x:\Program Files\Microsoft\Visual Studio 10.0\VC\include\gl文件夾中,如果沒有g(shù)l這個文件夾則可以自己新建一個。(x是你安裝VS的盤符號)

(2)把解壓得到的glut.lib和glut32.lib放到靜態(tài)函數(shù)庫所在文件夾(即與include并排的lib文件夾下)。

(3)把解壓得到的glut.dll和glut32.dll放到操作系統(tǒng)目錄下面的system32文件夾內(nèi)。(典型的位置為:C:\Windows\System32)

(注:如在開發(fā)應(yīng)用程序時用到OpenGL輔助庫函數(shù),則還需下載相應(yīng)動態(tài)鏈接庫,包含glaux.dll, glaux.lib, glaux.h,相應(yīng)步驟同上)

第一個OpenGL程序

首先創(chuàng)建工程,其步驟如下:

(1)創(chuàng)建一個Win32 Console Application。

(2)鏈接OpenGL libraries。在Visual C++中先右擊項目,選擇屬性,找到連接器標(biāo)簽,最后在輸入中的附加依賴庫加上opengl32.lib glut32.lib glu32.lib.

現(xiàn)在你可以把下面的例子拷貝到工程中去,編譯運行。你可以看到一個三角形。
Java代碼  
  1. #include "stdafx.h"  
  2.   
  3. #include<gl/glut.h>  
  4.   
  5. //#include<gl/glu.h>  //glut.h自動包含了glu.h 和 gl.h  
  6.   
  7. //#include<gl/gl.h>  
  8.   
  9.    
  10.   
  11. void renderScene(void)  
  12.   
  13. {  
  14.   
  15.          glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  
  16.   
  17.          glLoadIdentity();  
  18.   
  19.          glBegin(GL_TRIANGLES);  
  20.   
  21.          glVertex3f(-0.5,-0.5,0.0);  
  22.   
  23.          glVertex3f(0.5,0.0,0.0);  
  24.   
  25.          glVertex3f(0.0,0.5,0.0);  
  26.   
  27.          glEnd();  
  28.   
  29.          glutSwapBuffers();  
  30.   
  31. }  
  32.   
  33.    
  34.   
  35. int _tmain(int argc, _TCHAR* argv[])  
  36.   
  37. {  
  38.   
  39.          glutInit(&argc, (char**) argv);  
  40.   
  41.          glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);  
  42.   
  43.          glutInitWindowPosition(100,100);  
  44.   
  45.          glutInitWindowSize(320,320);  
  46.   
  47.          glutCreateWindow("Hello OpenGL");  
  48.   
  49.          glutDisplayFunc(renderScene);  
  50.   
  51.          glutMainLoop();//enters the GLUT event processing loop.  
  52.   
  53.          return 0;  
  54.   
  55. }  


main函數(shù)中以glut開頭的函數(shù)都包含在glut.h中。GLUT庫的函數(shù)主要執(zhí)行如處理多窗口繪制、處理回調(diào)驅(qū)動事件、生成層疊式彈出菜單、繪制位圖字體和筆畫字體,以及各種窗口管理等任務(wù)。

       glutInit用來初始化GLUT庫并同窗口系統(tǒng)對話協(xié)商。

       glutInitDisplayMode用來確定所創(chuàng)建窗口的顯示模式。參數(shù)GLUT_SINGLE 指定單緩存窗口,這也是缺省模式,對應(yīng)的模式為GLUT_DOUBLE 雙緩存窗口。參數(shù)GLUT_RGB指定顏色RGBA模式,這也是缺省模式,對應(yīng)的模式為GLUT_INDEX 顏色索引模式窗口。

       glutInitWindowSize 初始化窗口的大小,第一個參數(shù)為窗口的寬度,第二個參數(shù)為窗口的高度,以像素為單位。

       glutInitWindowPosition 設(shè)置初始窗口的位置,第一個參數(shù)為窗口左上角x的坐標(biāo),第二個參數(shù)為窗口左上角y的坐標(biāo),以像素為單位。屏幕的左上角的坐標(biāo)為(0,0),橫坐標(biāo)向右逐漸增加,縱坐標(biāo)向下逐漸增加。

       glutCreateWindow 創(chuàng)建頂層窗口,窗口的名字為擴號中的參數(shù)。

       glutDisplayFunc 注冊當(dāng)前窗口的顯示回調(diào)函數(shù)。當(dāng)一個窗口的圖像層需要重新繪制時,GLUT將調(diào)用該窗口的的顯示回調(diào)函數(shù)。在此例中的mydisplay就是顯示回調(diào)函數(shù),顯示回調(diào)函數(shù)不帶任何參數(shù),它負責(zé)整個圖像層的繪制。我們的大部分工作將集中在這個函數(shù)中。

       glutMainLoop 進入GLUT事件處理循環(huán)。glutMainLoop函數(shù)在GLUT程序中最多只能調(diào)用一次,它一旦被調(diào)用就不再返回,并且調(diào)用注冊過的回調(diào)函數(shù)。所以這個函數(shù)必須放在注冊回調(diào)函數(shù)的后面,此例中為glutDisplayFunc 。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
計算機圖形學(xué)和OpenGL(一)OpenGL初步
在VS2013中配置openGl的心得
在VS2017下配置OpenGL
OpenGL開發(fā)庫的詳細介紹
OpenGL常用的庫
vs2012搭建OpenGL環(huán)境 – 小寶個人筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服