在VS2017下配置OpenGL

這個方法適合初學者使用,較爲簡單方便。
第一,你的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]redis

下載以後打開壓縮包,能夠看到以下的文件

解壓後,找到你的VS2017的安裝目錄
個人是E:\Microsoft Visual Studio\2017\Community
能夠看到裏面的目錄
windows

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名字了。oop

注意:每次新建項目都要安裝一下nupengl.core和nupengl.core.redist測試

源文件目錄下新建cpp文件
輸入下面的測試代碼.net

#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;
}

而後點擊運行,就能夠看到一個黑色的矩形
debug

相關文章
相關標籤/搜索