VS 2010 OpenGL 配置与实例开发
生活随笔
收集整理的這篇文章主要介紹了
VS 2010 OpenGL 配置与实例开发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先參考了網上的安裝配置環境部分:http://blog.csdn.net/Ididcan/article/details/4490797
最近準備學習OpenGL,結果發現敲入書中給的代碼,居然提示頭文件找不到,相當郁悶,查了一下才發現有些不是VC自帶的,需要自己下載安裝,以下為轉帖,感覺說的還算詳細,OpenGl大牛們,就略過此文好了,呵呵OpenGL作為當前主流的圖形API之一,它在一些場合具有比DirectX更優越的特性。
1、與C語言緊密結合。
OpenGL命令最初就是用C語言函數來進行描述的,對于學習過C語言的人來講,OpenGL是容易理解和學習的。如果你曾經接觸過TC的graphics.h,你會發現,使用OpenGL作圖甚至比TC更加簡單。
2、強大的可移植性。
微軟的Direct3D雖然也是十分優秀的圖形API,但它只用于Windows系統(現在還要加上一個XBOX游戲機)。而OpenGL不僅用于 Windows,還可以用于Unix/Linux等其它系統,它甚至在大型計算機、各種專業計算機(如:醫療用顯示設備)上都有應用。并且,OpenGL 的基本命令都做到了硬件無關,甚至是平臺無關。
3、高性能的圖形渲染。
OpenGL是一個工業標準,它的技術緊跟時代,現今各個顯卡廠家無一不對OpenGL提供強力支持,激烈的競爭中使得OpenGL性能一直領先。
總之,OpenGL是一個很NB的圖形軟件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等專業游戲就知道了。
OpenGL官方網站(英文)
http://www.opengl.org/
下面將對Windows下的OpenGL編程進行簡單介紹。
學習OpenGL前的準備工作
第一步,選擇一個編譯環境
現在Windows系統的主流編譯環境有Visual?Studio,Broland?C++?Builder,Dev-C++等,它們都是支持OpenGL的。 我選擇Visual?Studio?2008和VC6++作為學習OpenGL的環境。
第二步,安裝GLUT工具包
GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的方便,推薦安裝。
Windows環境下的GLUT下載地址:(大小約為150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
無法從以上地址下載的話請使用下面的連接:
http://upload.programfan.com/upfile/200607311626279.zip
Windows環境下安裝GLUT的步驟:
1、將下載的壓縮包解開,將得到5個文件
2、在“我的電腦”中搜索“gl.h”,并找到其所在文件夾?
我的系統(Windows XP professional SP3)安裝了vc6和vs2010,因為常用vs2010,所以就在vs2010(安裝目錄:D:\Program Files\VS2010)里配置glut吧。 1. 將glut解壓出來,將其中的glut.h復制到D:\Program Files\VS2010\VC\include\GL下,若GL目錄不存在,則新建。 2. 將glut.lib和glut32.lib復制到D:\Program Files\VS2010\VC\lib 下。 3. 將glut.dll和glut32.dll復制到C:\WINDOWS\system32下。 至此,環境已經配置好了。 下面來開發一個簡單的c++程序,環境vs2010中的vc 1. 新建->項目->win32控制臺應用程序。 2. 輸入項目名:simpleGL,其他默認即可。 3. 輸入源代碼: #include "stdafx.h" #include <gl/glut.h> #include <stdio.h> #include <time.h>// 太陽、地球和月亮 // 假設每個月都是12天 // 一年12個月,共是360天 static int day = 200; // day的變化:從0到359double CalFrequency() {static int count;static double save;static clock_t last, current;double timegap;++count;if( count <= 50 )return save;count = 0;last = current;current = clock();timegap = (current-last)/(double)CLK_TCK;save = 50.0/timegap;return save; }void myDisplay(void) {double FPS = CalFrequency();printf("FPS = %f\n", FPS);glEnable(GL_DEPTH_TEST);glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(75, 1, 1, 400000000);glMatrixMode(GL_MODELVIEW);glLoadIdentity();gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);// 繪制紅色的“太陽”glColor3f(1.0f, 0.0f, 0.0f);glutSolidSphere(69600000, 20, 20);// 繪制藍色的“地球”glColor3f(0.0f, 0.0f, 1.0f);glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f);glTranslatef(150000000, 0.0f, 0.0f);glutSolidSphere(15945000, 20, 20);// 繪制黃色的“月亮”glColor3f(1.0f, 1.0f, 0.0f);glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0f, 0.0f, -1.0f);glTranslatef(38000000, 0.0f, 0.0f);glutSolidSphere(4345000, 20, 20);glFlush();glutSwapBuffers(); }void myIdle(void) {++day;if( day >= 360 )day = 0;myDisplay(); }int main(int argc, char *argv[]) {glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);glutInitWindowPosition(100, 100);glutInitWindowSize(400, 400);glutCreateWindow("太陽,地球和月亮");glutDisplayFunc(&myDisplay);glutIdleFunc(&myIdle);glutMainLoop();return 0; }
4. 選擇項目屬性,選擇C/C++->預處理器,在右側的“預處理器定義”處,刪除“_CONSOLE“,如圖 5. 在項目屬性中,切換到“鏈接器”->系統,右側窗口的子系統選擇:窗口 (/SUBSYSTEM:WINDOWS) 6. 在項目屬性中,再切換到“鏈接器”->命令行,在“其他選項”中輸入:/ENTRY:mainCRTStartup (可以去除程序運行時出現的dos窗口) 編譯運行,就能看到“太陽、地球和月亮的動態運行圖”了!
總結
以上是生活随笔為你收集整理的VS 2010 OpenGL 配置与实例开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录最近的一些遇到的前端面试题
- 下一篇: matlab液体湿润模拟,【水文模型】0