這個方法適合初學者使用,較為簡單方便。
第一,你的VS2017一定要安裝了C/C++開發組件
可以打開Visual Studio Installer來查看
另外,確定你有安裝NuGet包管理器
,在單個組件中查看,沒有請勾選
glut的庫可以點擊下面的鏈接下載
[https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip](適用windows系統)
也可以到OpenGL官網上下載不同版本的glut庫
[https://www.opengl.org/resources/libraries/glut]
下載之后打開壓縮包,可以看到如下的文件
解壓后,找到你的VS2017的安裝目錄
我的是E:\Microsoft Visual Studio\2017\Community
可以看到里面的目錄
把glut.h
放到...\VC\Tools\MSVC\14.10.25017\include\gl
下(沒有gl文件夾就新建一個)
把glut.lib,glut32.lib
放到...\VC\Tools\MSVC\14.10.25017\lib\x86
下
把glut.dll,glut32.dll
放到C:\Windows\SysWOW64
下(我的系統是64位的,如果是32位的系統,請放到C:\Windows\System32
下)
接下來打開VS2017,新建一個win32控制台項目
,選擇空項目
如果是最新版的VS2017(2017/11/12)請新建Windows桌面向導
新建項目完成后,點擊上方項目
選擇管理NuGet程序包
選擇瀏覽
,搜索nupengl
,2個都安裝
什么是NuGet?
用visual studio開發的童鞋們應該都有這樣的感受,經常在copy別人的項目后,出現找不到xxx.h,找不到xxx.lib,找不到balabala。甚至還有“模塊計算機類型“x86”與目標計算機類型“x64”沖突”,“模塊計算機類型“x64”與目標計算機類型“x86”沖突”,各種Link錯誤等等令人煩躁的提示!
很多時候都是工程中使用了第三方庫,而工程又沒有能夠自適應的配置文件能幫我們找到這些第三方庫造成的,這時候需要程序員在C/C++ ->常規->附加包含目錄添加各種頭文件路徑,鏈接器 -> 常規 -> 附加庫目錄 添加各種lib的路徑,然后還需要在鏈接器 -> 輸入 -> 附加依賴項填寫工程中使用的lib名稱。這已經足夠煩人了,何況lib還要區分x86/x64,debug/release,vc平台(vc90,vc100 and etc.),排列組合大家都學過吧,這得配置多少次大家自己算吧。稍有不慎就會出錯,如果是一個陌生的項目更大大增加出錯可能,如果你忘記添加相應的lib而導致無法解析的外部符號,而恰恰你對這個外部符號很陌生並不知道它在哪個lib里,這就尷尬了。
然而突然有一天,微軟說我們做了個NuGet把Package 從工程中分離,以后它幫你管理Package 。
[http://blog.csdn.net/junparadox/article/details/51086374]
是的,再不需要C/C++ ->常規->附加包含目錄添加各種頭文件路徑,不需要在鏈接器 -> 常規 -> 附加庫目錄 添加各種lib的路徑,也不需要在鏈接器 -> 輸入 -> 附加依賴項輸入各種lib名字了。
注意:每次新建項目都要安裝一下nupengl.core和nupengl.core.redist
在源文件
目錄下新建cpp文件
輸入下面的測試代碼
#include<gl/GLUT.H> void Initial(void)//初始化函數 { glClearColor(1.0f, 1.0f, 1.0f, 1.0f);//白色背景,前3個是RGB,最后是Alpha值,用來控制透明,1.0表示完全不透明 glMatrixMode(GL_PROJECTION);//OpenGL按照三維方式來處理圖像,所以需要一個投影變換將三維圖形投影到顯示器的二維空間中 gluOrtho2D(0.0, 200, 0.0, 150.0);//指定使用正投影將一個x坐標在0~200,y坐標0~150范圍內的矩形坐標區域投影到顯示器窗口 } void myDisplay(void)//顯示回調函數 { glClear(GL_COLOR_BUFFER_BIT);//使用glClearColorz中指定的值設定顏色緩存區的值,即將窗口中的每一個像素設置為背景色 glColor3f(0.0f, 0.0f, 0.0f);//繪圖顏色為黑色 glRectf(50.0f, 100.0f, 150.0f, 50.0f);//圖形的坐標,繪制一個左上角在(50,100),右下角在(150,50)的矩形 glFlush();//清空OpenGL命令緩沖區,強制執行命令緩沖區中所有OpenGL函數 } int main(int argc, char * argv[])//這是使用glut庫函數進行窗口管理 { glutInit(&argc, argv);//使用glut庫需要進行初始化 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//設定窗口顯示模式,顏色模型和緩存,這里是RGB顏色模型和單緩存 glutInitWindowPosition(100, 100);//設定窗口的初始位置,屏幕左上角為原點,單位為像素 glutInitWindowSize(400, 400);//設定窗口的大小 glutCreateWindow("第一個OpenGL程序——鋮偉");//創建一個窗口,參數是窗口標題名 glutDisplayFunc(&myDisplay);//將myDisplay指定為當前窗口的顯示內容函數 Initial(); glutMainLoop();//使窗口框架運行起來,使顯示回調函數開始工作 return 0; }
然后點擊運行,就可以看到一個黑色的矩形