OpenGL+VS2010_+Win10環境配置
阿新 • • 發佈:2018-11-27
1.GLEW
GLEW是OpenGL的擴充套件庫,支援多個作業系統,下載地址(原始碼):https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.zip/download
解壓後找到 glew-1.13.0\build\vc10 資料夾下的glew.sln檔案,通過VS2010開啟之後,選擇好方案配置 Relese-Win32,進行編譯,生成的.lib和.dll分別在glew-1.13.0/lib、glew-1.13.0/bin資料夾下。
(1)將glew-1.13.0/include資料夾下的GL資料夾複製到VS安裝目錄下D:\Program Files\Microsoft Visual Studio 10.0\VC\include下
(2)將glew-1.13.0\lib\Release\Win32\glew32.lib複製到D:\Program Files\Microsoft Visual Studio 10.0\VC\lib下
(3)將glew-1.13.0\bin\Release\Win32\glew32.dll複製到C:\Windows\System32下
freeglut-2.8.1\VisualStudio\2010 資料夾下的freeglut.sln檔案,通過VS2010開啟之後,選擇好方案配置 Relese-Win32,進行編譯,生成的.lib和.dll在freeglut-2.8.1\lib\x86\Debug資料夾下。
(3)將freeglut-2.8.1\lib\x86\Debug\freegult.dll複製到C:\Windows\System32下。(x64 複製到 SysWOW64 目錄下)。
原始碼下載:https://github.com/HazimGazov/GLTools
至此,GTools配置完成。 4.測試 (1)新建一個專案,選擇控制檯程式。 (2)配置依賴項,如下圖所示。
GLBatch triangleBatch; GLShaderManager shadeManager;
void ChangeSize(int w,int h) { glViewport(0,0,w,h); }
void SetupRC() { glClearColor(0.0f,0.0f,1.0f,1.0f); shadeManager.InitializeStockShaders();
GLfloat vVerts[] = {-0.5f,0.0f,0.0f,0.5f,0.0f,0.0f,0.0f,0.5f,0.0f};
triangleBatch.Begin(GL_TRIANGLES,3); triangleBatch.CopyVertexData3f(vVerts); triangleBatch.End(); }
void RemderScene(void ) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = {1.0f,0.0f,0.0f,1.0f}; shadeManager.UseStockShader(GLT_SHADER_IDENTITY,vRed); triangleBatch.Draw();
glutSwapBuffers(); }
int _tmain(int argc, char* argv[]) { gltSetWorkingDirectory(argv[0]); glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL); glutInitWindowSize(800,600); glutCreateWindow( "Triangle"); glutReshapeFunc(ChangeSize); glutDisplayFunc(RemderScene);
GLenum err = glewInit(); if(GLEW_OK != err) { fprintf(stderr, "GLEW Error: %s\n",glewGetErrorString(err)); return 1; } SetupRC(); glutMainLoop(); return 0; }
至此,GLEW配置完成。
2.Freeglut
Freeglut下載地址:http://prdownloads.sourceforge.net/freeglut/freeglut-2.8.1.tar.gz?download
解壓後找到
至此,Freeguly配置完成。
3.GLTools
原始碼下載:https://github.com/HazimGazov/GLTools
解壓之後,在VS2010中新建一個Win32專案,設定工程名為GLTools,將src中的幾個原始檔(.cpp)匯入控專案中,同時將GLEW中的glew.c匯入,選擇好方案配置 Debug-Win32
編譯通過生成GLTools.lib庫檔案,在工程目錄下GLTool\Debug中,將GTool.lib複製到D:\Program Files\Microsoft Visual Studio 10.0\VC\lib下
至此,GTools配置完成。 4.測試 (1)新建一個專案,選擇控制檯程式。 (2)配置依賴項,如下圖所示。
(3)測試程式碼,摘自《OpenGL超級寶典》第二章。 #include "stdafx.h" #include <iostream> #include <GLTools.h> #include <GLShaderManager.h> #include <GL/glut.h> using namespace std;
GLBatch triangleBatch; GLShaderManager shadeManager;
void ChangeSize(int w,int h) { glViewport(0,0,w,h); }
void SetupRC() { glClearColor(0.0f,0.0f,1.0f,1.0f); shadeManager.InitializeStockShaders();
GLfloat vVerts[] = {-0.5f,0.0f,0.0f,0.5f,0.0f,0.0f,0.0f,0.5f,0.0f};
triangleBatch.Begin(GL_TRIANGLES,3); triangleBatch.CopyVertexData3f(vVerts); triangleBatch.End(); }
void RemderScene(void ) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = {1.0f,0.0f,0.0f,1.0f}; shadeManager.UseStockShader(GLT_SHADER_IDENTITY,vRed); triangleBatch.Draw();
glutSwapBuffers(); }
int _tmain(int argc, char* argv[]) { gltSetWorkingDirectory(argv[0]); glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL); glutInitWindowSize(800,600); glutCreateWindow( "Triangle"); glutReshapeFunc(ChangeSize); glutDisplayFunc(RemderScene);
GLenum err = glewInit(); if(GLEW_OK != err) { fprintf(stderr, "GLEW Error: %s\n",glewGetErrorString(err)); return 1; } SetupRC(); glutMainLoop(); return 0; }
執行效果:
參考連結:https://blog.csdn.net/u011923796/article/details/50880870