溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

低版本OpenGL環(huán)境搭建:OpenGL2.1 + glew1.3.5 + glut +VS2017

發(fā)布時(shí)間:2020-07-17 06:23:17 來源:網(wǎng)絡(luò) 閱讀:2464 作者:TLodj 欄目:編程語言


由于手頭筆記本只支持到OpenGL 2.1.0,所以只能下載對(duì)應(yīng)的glew庫。

 

對(duì)于一個(gè)OpenGL初學(xué)者來說,搞懂本機(jī)OpenGL版本必須高于GLEW庫版本這件事,廢了我好長時(shí)間。

 

進(jìn)入主題


· 本教程適合所有在VS上搭建OpenGL開發(fā)環(huán)境的朋友,不僅僅是低版本OpenGL!

 

· OpenGL版本如何查看?
      只需先隨意下載任意版本的glew解壓,點(diǎn)擊文件夾bin目錄下的visualinfo.exe,屏幕一閃而過,這時(shí)該文件下多了一個(gè)文本文件visualinfo.txt,打開看第三行:
OpenGL version string: 2.1.0 - Build 8.15.10.2413
這里我的版本使2.1.0

 

下載:

  1. glew:http://glew.sourceforge.net/ 找到對(duì)應(yīng)本機(jī)OpenGL版本的glew

  2. gluw:https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip  opengl官網(wǎng)上有提供,點(diǎn)擊鏈接直接下載

  3. VS2017:https://visualstudio.microsoft.com/zh-hans/vs/


 

配置glew: 

  1. 拷貝glew32.dll至system32文件夾下

  2. 拷貝glew32.lib至VC目錄下lib文件夾。我的VS目錄地址:D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\lib\x86

  3. 拷貝glew.h和wglew.h至VC目錄下include\GL目錄下。注意GL文件夾需自己創(chuàng)建(可以直接復(fù)制glew解壓文件中的GL文件夾)。我的VS目錄地址:D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

  4. 創(chuàng)建控制臺(tái)項(xiàng)目,調(diào)出VS的資源視圖,項(xiàng)目上右擊進(jìn)入屬性,鏈接器-輸入-附加依賴項(xiàng):新加入glew32.lib

     

配置glut:

  1. 把.h文件放到VC的include路徑下的GL文件夾下

  2. glut.lib和glut32.lib放到VC的lib文件夾下

  3. glut.dll,glut32.dll,放到系統(tǒng)盤下\WINDOWS\system32

  4. 完成后,新建控制臺(tái)項(xiàng)目,復(fù)制進(jìn)示例源碼到.cpp文件即可。源碼在下方,注意不要覆蓋掉cpp文件的自帶的頭文件


完成:

   最后注意要在Debug x86下調(diào)試運(yùn)行。


附簡單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;  
}

 

調(diào)試后截圖如下:


低版本OpenGL環(huán)境搭建:OpenGL2.1 + glew1.3.5 + glut +VS2017

 

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI