javafever


          我無(wú)富貴命,所喜性天然。壁立三千字,家無(wú)半吊錢(qián)。蟬鳴深巷里,人語(yǔ)短屋前。收拾英雄氣,耕作兩分田。

          2006年12月16日 #

          OpenGL學(xué)習(xí)筆記(二)

          關(guān)于MinGW中的glut庫(kù)

          Mark Kilgard提供的glut庫(kù)解壓后包含一個(gè).h,一個(gè).def,一個(gè).lib和一個(gè).dll文件。將.h拷貝到MinGW的include目錄下,.dll拷貝到windows的系統(tǒng)目錄下(windows\system32),.def和.lib文件在eclipse下面不太好使,可以使用reimp工具將.lib文件轉(zhuǎn)換成.a文件。命令如下:
          reimp?glut32.lib

          這樣,就會(huì)在同一目錄下生成一個(gè)glut32.def和一個(gè)libglut32.a文件,將libglut32.a拷貝到MinGW的lib目錄下。同時(shí)記得要?jiǎng)h除原來(lái)的glut庫(kù),否則link時(shí)可能會(huì)出錯(cuò)。

          glut主程序框架


          #include <GL/glut.h> //頭文件。

          int main(int argc, char** argv) {
          ??? //初始化glut并建立窗口
          ??? glutInit(&argc, argv);
          ??? glutInitDisplayMode(GLUT_DEPTH | GLUT_SIGNLE | GLUT_RGB);
          ??? glutInitWindowPosition(100, 100);
          ??? glutInitWindowSize(200, 200);
          ??? glutCreateWindow(windowTitle);
          ???
          ??? //注冊(cè)glut的callback函數(shù)
          ??? glutDisplayFunc(display);
          ??? glutReshapeFunc(reshape);
          ??? glutIdleFunc(idle);
          ??? glutKeyboardFunc(keyboard);
          ???
          ??? //啟用光線、深度測(cè)試等
          ??? glEnable(GL_LIGHT0);
          ??? glEnable(GL_LIGHTING);
          ??? glEnable(GL_DEPTH_TEST);

          ??? //進(jìn)入glut主循環(huán)
          ??? glutMainLoop();

          ??? return 0;
          }

          posted @ 2006-12-17 23:06 javaFever 閱讀(398) | 評(píng)論 (0)編輯 收藏

          OpenGL學(xué)習(xí)筆記(一)

          安裝開(kāi)發(fā)平臺(tái)

          為了保持開(kāi)發(fā)平臺(tái)的一致性,采用GCC+eclipse作為開(kāi)發(fā)平臺(tái)。

          在Debian Linux下安裝GCC和make就可以了。安裝了X環(huán)境后,系統(tǒng)中就已經(jīng)包含了OpenGL的頭文件和庫(kù)文件,但是要使用GLUT的話,還需要安裝GLUT的包。我使用的是freeglut3。

          $sudo ?apt - get?install?gcc?make?freeglut3 - dev

          在Windows下,GCC的解決方案有很多,我使用的是MinGW,可以下載DevCpp,它包括MinGW和一個(gè)C/C++的IDE,因?yàn)槲沂褂胑clipse作為IDE,所以,我使用MinGW的官方開(kāi)發(fā)工具。到MinGW的官方網(wǎng)站上下載以下包:

          binutils

          gcc-core

          gcc-g++

          mingw32-make

          mingw-runtime

          mingw-utils

          w32api

          最后再下載調(diào)試器gdb。

          為了能使用Mark Kilgard提供的glut庫(kù)(http://www.xmission.com/~nate/glut.html),盡量下載最新的官方版本,該glut庫(kù)要求binutils版本至少是2.16.91。

          http://www.mingw.org/MinGWiki/index.php/Glut頁(yè)面解釋了在MinGW下使用Mark Kilgard的GLUT庫(kù)會(huì)出現(xiàn)的問(wèn)題及解決的辦法。

          至于Eclipse和CDT的安裝很簡(jiǎn)單,在Linux下和Windows下也沒(méi)什么區(qū)別。需要注意的是:為了讓Eclipse能是別到GCC,需要吧GCC的bin目錄加入系統(tǒng)路徑PATH中,eclipse會(huì)自動(dòng)查找make.exe,而MinGW的Make程序名叫mingw32-make.exe,所以,要么把mingw32-make.exe更名為make.exe,要么指定eclipse使用mingw32-make.exe進(jìn)行make。

          posted @ 2006-12-16 14:39 javaFever 閱讀(714) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 偏关县| 札达县| 南投市| 静乐县| 墨竹工卡县| 布拖县| 海原县| 琼海市| 福泉市| 六盘水市| 山阳县| 宁明县| 茶陵县| 上栗县| 东海县| 武安市| 丽江市| 东至县| 乡宁县| 高陵县| 七台河市| 巩留县| 云安县| 任丘市| 昆明市| 新竹县| 宁乡县| 都江堰市| 新巴尔虎左旗| 西和县| 鞍山市| 延吉市| 曲水县| 凤翔县| 泾川县| 始兴县| 礼泉县| 衡东县| 宿州市| 公主岭市| 西青区|