您好,登錄后才能下訂單哦!
由于手頭筆記本只支持到OpenGL 2.1.0,所以只能下載對應的glew庫。
對于一個OpenGL初學者來說,搞懂本機OpenGL版本必須高于GLEW庫版本這件事,廢了我好長時間。
進入主題
· 本教程適合所有在VS上搭建OpenGL開發環境的朋友,不僅僅是低版本OpenGL!
· OpenGL版本如何查看?
只需先隨意下載任意版本的glew解壓,點擊文件夾bin目錄下的visualinfo.exe,屏幕一閃而過,這時該文件下多了一個文本文件visualinfo.txt,打開看第三行:
OpenGL version string: 2.1.0 - Build 8.15.10.2413
這里我的版本使2.1.0
下載:
glew:http://glew.sourceforge.net/ 找到對應本機OpenGL版本的glew
gluw:https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip opengl官網上有提供,點擊鏈接直接下載
VS2017:https://visualstudio.microsoft.com/zh-hans/vs/
配置glew:
拷貝glew32.dll至system32文件夾下
拷貝glew32.lib至VC目錄下lib文件夾。我的VS目錄地址:D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\lib\x86
拷貝glew.h和wglew.h至VC目錄下include\GL目錄下。注意GL文件夾需自己創建(可以直接復制glew解壓文件中的GL文件夾)。我的VS目錄地址:D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include
創建控制臺項目,調出VS的資源視圖,項目上右擊進入屬性,鏈接器-輸入-附加依賴項:新加入glew32.lib
配置glut:
把.h文件放到VC的include路徑下的GL文件夾下
glut.lib和glut32.lib放到VC的lib文件夾下
glut.dll,glut32.dll,放到系統盤下\WINDOWS\system32
完成后,新建控制臺項目,復制進示例源碼到.cpp文件即可。源碼在下方,注意不要覆蓋掉cpp文件的自帶的頭文件
完成:
最后注意要在Debug x86下調試運行。
附簡單OpenGL示例代碼:
#include <GL/glew.h> #include <GL/glut.h> #include <stdlib.h> void init() { glewInit(); glClearColor(1.0,1.0,0.0,0.0); glBlendFunc(GL_ONE,GL_ONE); glEnable(GL_BLEND); } void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,0.0,1.0); glRectf(-0.5,-0.5,0.5,0.5); glFlush(); } void keyboard(unsigned char key,int x,int y) { switch(key) { case 'a':case 'A': glBlendEquation(GL_FUNC_ADD); break; case 's':case 'S': glBlendEquation(GL_FUNC_SUBTRACT); break; case 'r':case 'R': glBlendEquation(GL_FUNC_REVERSE_SUBTRACT); break; case 'm':case 'M': glBlendEquation(GL_MIN); break; case 'x':case 'X': glBlendEquation(GL_MAX); break; case 27: exit(0); break; } glutPostRedisplay(); } int main(int argc,char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(500,500); glutInitWindowPosition(100,100); glutCreateWindow(argv[0]); init(); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }
調試后截圖如下:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。