當前位置:首頁 » 存儲配置 » vs如何配置opengl

vs如何配置opengl

發布時間: 2022-01-08 23:00:40

『壹』 如何在VS2010中安裝最新版本opengl

安裝GLUT工具包

GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的方便,推薦安裝。
Windows環境下的GLUT下載地址:(大小約為150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

GLUT代表OpenGL應用工具包,英文全稱為OpenGL Utility Toolkit,是一個和窗口系統無關的軟體包,
它由Mark Kilgard在SGI時寫的。作為AUX庫的功能更強大的替代品,用於隱藏不同窗口系統API的復雜性。
是一個學習OpenGL編程的一個良好開端。

VS環境配置

將下載的壓縮包解開,將得到5個文件(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h)
(1)把glut.h復制到x:\Program Files\Microsoft\Visual Studio 10.0\VC\include\gl文件夾中,如果沒有gl這個文件夾則可以自己新建一個。(x是你安裝VS的盤符號)
(2)把解壓得到的glut.lib和glut32.lib放到靜態函數庫所在文件夾(即與include並排的lib文件夾下)。
(3)把解壓得到的glut.dll和glut32.dll放到操作系統目錄下面的system32文件夾內。(典型的位置為:C:\Windows\System32)
(註:如在開發應用程序時用到OpenGL輔助庫函數,則還需下載相應動態鏈接庫,包含glaux.dll, glaux.lib, glaux.h,相應步驟同上)

http://www.cnblogs.com/longdouhzt/archive/2012/02/13/2350094.html

『貳』 如何在visual studio 中配置opengl

1.打開vs2015,運行—devenv

2
在Visual C++下新建一個win32控制台程序

確定—下一步—完成

3
項目—管理Nuget程序包

4
瀏覽——在搜索欄輸入NupenGL,安裝這兩個文件包

5
程序測試
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
static int year = 0, spin = 0, day = 0;static GLint fogMode;const int n = 100;const GLfloat R = 1.0f;const GLfloat Pi = 3.1415926536f;
void DrawCircle() {

int i;
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_LOOP);

for (i = 0; i < n; ++i)
{
glColor3f(1.0, 0.0, 0.0);
glVertex2f(R*cos(2 * Pi / n*i), R*sin(2 * Pi / n*i));
}

glEnd();
glFlush();
}
void init(void) {
GLfloat position[] = { 0.5, 0.5, 3.0, 0.0 };
glEnable(GL_DEPTH_TEST); //防止遮擋 glLightfv(GL_LIGHT0, GL_POSITION, position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);

{
GLfloat mat[3] = { 0.1745, 0.01175, 0.01175 };
glMaterialfv(GL_FRONT, GL_AMBIENT, mat);
mat[0] = 0.61424; mat[1] = 0.04136; mat[2] = 0.04136;
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat);
mat[0] = 0.727811; mat[1] = 0.626959; mat[2] = 0.626959;
glMaterialfv(GL_FRONT, GL_SPECULAR, mat);
glMaterialf(GL_FRONT, GL_SHININESS, 0.6*128.0);
}

glEnable(GL_FOG);

{
GLfloat fogColor[4] = { 0.5, 0.5, 0.5, 1.0 };
fogMode = GL_EXP;
glFogi(GL_FOG_MODE, fogMode);
glFogfv(GL_FOG_COLOR, fogColor);
glFogf(GL_FOG_DENSITY, 0.35);
glHint(GL_FOG_HINT, GL_DONT_CARE);
glFogf(GL_FOG_START, 1.0);
glFogf(GL_FOG_END, 5.0);
}

glClearColor(0.5, 0.9, 0.9, 1.0); /* fog color */

}
void display(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0, 1.0, 1.0);
glPushMatrix(); //記住自己的位置
glutSolidSphere(1.0, 20, 16); /* 畫太陽半徑、 20經度、16緯度*/
glRotatef(spin, 0.0, 1.0, 0.0); //自轉,繞著一個向量以給定角度旋轉(正的為逆時針)
glTranslatef(2.0, 1.0, 0.0);
glRotatef(spin, 1.0, 0.0, 0.0); //公轉
glRectf(0.1, 0.1, 0.5, 0.5);
glColor3f(0.0, 0.0, 1.0);
glutWireSphere(0.2, 8, 8); /* 畫第一顆小行星 */
glColor3f(1.0, 0.0, 0.0);
glTranslatef(2.0, 1.0, 0.0);
glRotatef(2 * spin, 0.0, 1.0, 0.0);
glutSolidSphere(0.5, 16, 8);
glPopMatrix();//回到原來的位置 glutSwapBuffers();
}
void spinDisplay(void) {
spin = spin + 2;
if (spin > 360)
spin = spin - 360;
glutPostRedisplay();
}
void mouse(int button, int state, int x, int y) {
switch (button)
{
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(spinDisplay);
break;

case GLUT_MIDDLE_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(NULL);
break;

default:
break;
}

}
void reshape(int w, int h) {
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 0.5, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}
void keyboard(unsigned char key, int x, int y) {
switch (key) {
case 'd':
day = (day + 10) % 360;
glutPostRedisplay();
break;
case 'D':
day = (day - 10) % 360;
glutPostRedisplay();
break;
case 'y':
year = (year + 5) % 360;
glutPostRedisplay();
break;
case 'Y':
year = (year - 5) % 360;
glutPostRedisplay();
break;
case 27:
exit(0);
break;
default:
break;
}
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpengGL 程序設計測試");
init();
//glutDisplayFunc(DrawCircle); glutDisplayFunc(display);
glutReshapeFunc(reshape);
//glutKeyboardFunc(keyboard); glutMouseFunc(mouse);
glutMainLoop();

return 0;
}

『叄』 如何在VS2010配置OpenGL

glut.h ---> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl

glut.dll,glut32.dll ---> C:\Windows\SysWOW64 (windows7 64位操作系統)

---> C:\Windows\System32 (windows7 32位操作系統)

glut.lib,glut32.lib ---> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

!!無須!!用宏 #define GLUT_DISABLE_ATEXIT_HACK

好多人glut.h不知道放哪裡,自己新建了一個文件夾,其實很多前輩在之前就說過,

要搜索gl這個文件夾,將glut.h放到裡麵包含gl.h glu.h這兩個文件的gl文件夾中.

直接下面常式編譯即可通過

常式如下

#include <gl\glut.h>

void myDisplay(void)

{

glClear(GL_COLOR_BUFFER_BIT);

glRectf(-0.5f, -0.5f, 0.5f, 0.5f);

glFlush();

}

int main(int argc, char *argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(100, 100);

glutInitWindowSize(400, 400);

glutCreateWindow("第一個OpenGL程序");

glutDisplayFunc(&myDisplay);

glutMainLoop();

return 0;

}

================================================

1. 把解壓得到的glut.h放到"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl"(與具體安裝位置有關,應該是 安裝目錄\microsoft sdks\windows\v7.0A\include\gl)

2. 把解壓得到的glut.lib和glut32.lib放到"「Programfiles(x86)\Microsoft Visual studio 10.0\VC\lib" 中(與具體安裝位置有關,同上)

3. 把解壓得到的glut.dll放到"C:\Windows\System32"

4. 把glut32.dll放到「Programfiles(x86)\Microsoft Visual studio 10.0\VC\bin」下(注意這個,網上有人說放到system32里,但是我試過,會報錯)(與具體安裝位置有關,同上)

5. 打開vs2010,隨便打開或新建一個項目。 選擇 project->project property-> Configuration Properties->Linker->Input->Additional Dependencies 在其中添加opengl32.lib glu32.lib glut32.lib

如果這樣還報錯的話應該注意以下幾點:

有時候在建console application 的時候添加的cpp文件將後綴句改為 .c

有的程序需要glaux工具包,這個下載了,可以按上述步驟添加(操作基本相同)

=========================================================================

VS較老版本格式轉換後

general error c101008a錯誤。

手動添加lib和頭文件,然後project clean一下即可。

『肆』 如何在vs2015中配置opengl環境

opengl 和windows有很多不兼容的地方你需要在你的opengl頭文件上面添加標識 像下面這樣: #define GLUT_DISABLE_ATEXIT_HACK #include

『伍』 vs2012中opengl配置問題

opengl 和windows有很多不兼容的地方你需要在你的opengl頭文件上面添加標識
像下面這樣:
#define GLUT_DISABLE_ATEXIT_HACK
#include <GL/glut.h>

『陸』 在vs2013中配置opengl後無法運行正確的opengl程序

lib 和 dll 有一個就夠了。lib是靜態的庫,dll是動態鏈接。
比如調用glew的時候,#define GLEW_DLL,那麼下文glew調用的就是dll。如果#define GLEW_STATIC,那麼就是調用.lib或者.a。

我不知道msvc裡面那個dependency是怎麼個機制,但是gcc編譯GL程序的時候載入lib順序是很重要的。先是gdi32,然後是glu32,然後opengl32,再然後是glew32,最後是glut或者glfw。看看你的順序是不是對。

P.S.,問這種問題的時候提供一下debugger信息也會省很多事。

『柒』 如何在VS下配置OPENGL

要配置什麼?
加頭文件#include <gl/gl.h>
加庫文件#pragma comment(lib,"opengl32.lib")
或在連接那裡加入opengl32.lib就能用了

『捌』 vs2015中的c#windows窗體應用程序怎麼使用OpenGL

你下載openGl的庫,在vs2015的工具——選項中,設置include目錄和lib庫的路徑即可。

『玖』 如何在vs2015中配置opengl

你先去下載opengl32.lib 和對應的gl.h 和 glext.h 等文件. 然後再代碼里 把 lib 和 h 的引用路徑都設置一下.

『拾』 怎麼在visual studio 2010中配置openGL編程的環境啊我在網上找了很多,都不和我的VS2010一樣,基於C++編

OpenGL需要兩種東西:GLUT和GLEW
FreeGLUT,GLUT的替代版:http://freeglut.sourceforge.net/
GLEW:http://glew.sourceforge.net/

下載,解壓,將對應版本的GLUT和GLEW的include文件夾、lib文件夾和bin文件夾中的文件放到一起,設置include路徑、lib路徑和附加依賴項即可。
實在不知道的話就參考:
OpenGL官網的說明文檔:http://www.opengl.org/wiki/Getting_started

熱點內容
html文件上傳表單 發布:2024-09-17 03:08:02 瀏覽:783
聊天軟體編程 發布:2024-09-17 03:00:07 瀏覽:725
linuxoracle安裝路徑 發布:2024-09-17 01:57:29 瀏覽:688
兩個安卓手機照片怎麼同步 發布:2024-09-17 01:51:53 瀏覽:207
cf編譯後沒有黑框跳出來 發布:2024-09-17 01:46:54 瀏覽:249
安卓怎麼禁用應用讀取列表 發布:2024-09-17 01:46:45 瀏覽:524
win10設密碼在哪裡 發布:2024-09-17 01:33:32 瀏覽:662
情逢敵手迅雷下載ftp 發布:2024-09-17 01:32:35 瀏覽:337
安卓如何讓軟體按照步驟自動運行 發布:2024-09-17 01:28:27 瀏覽:197
Z包解壓命令 發布:2024-09-17 01:27:51 瀏覽:221