Visual Studio 2010/WIN7配置openGL

http://www.xker.com/page/e2011/0805/102107.html

官方手册地址:http://www.opengl.org/resources/libraries/glut/

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


在win7(windows7 ultimate SP1)下成功安装VS2010(Visual Studio 2010 ultimate x86)。

下载glut:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

(参见:http://www.opengl.org/resources/libraries/glut/glut_downloads.php)

原文讲:If you want just the GLUT header file, the .LIB, and .DLL files all pre-compiled for Intel platforms, you can simply download the glutdlls37beta.zip file (149 kilobytes).

这个zip文件中有5个文件:

VS2010下配置使用OpenGL的glut库

分别把这5个文件放到如下文件夹中:

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

编写代码时,加入头文件#include <gl\glut.h>即可。

配置完成。

测试代码:

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



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

刚装了win7和VS2010。看了下配置OpenGL的方法和以前不太一样。搜索得之。

 

 

 

glut下载地址:

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

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文件夹中.

直接copy下面例程编译即可通过

例程如下

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

 

检举| 2011-5-9 21:35 孤松独海 | 七级 
第一步,选择一个编译环境 
   现在 Windows 系统的主流编译环境有Visual Studio, Broland C++ Builder,
Dev-C++等,它们都是支持 OpenGL 的。但这里我们选择Visual Studio 2005 作
为学习OpenGL 的环境。 
第二步,安装GLUT 工具包 
   GLUT 不是OpenGL 所必须的,但它会给我们的学习带来一定的方便,推荐安
装。 
Windows 环境下的GLUT 下载地址:(大小约为150k) 
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 
无法从以上地址下载的话请使用下面的连接: 
http://upload.programfan.com/upfile/200607311626279.zip 
Windows 环境下安装GLUT 的步骤: 
1、将下载的压缩包解开,将得到5 个文件 
2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是
VisualStudio2005,则应该是其安装目录下面的“VC\PlatformSDK\include\gl
文件夹”)。把解压得到的glut.h 放到这个文件夹。 
3、把解压得到的glut.lib 和glut32.lib 放到静态函数库所在文件夹(如果是
VisualStudio2005,则应该是其安装目录下面的“VC\lib”文件夹)。 
4、把解压得到的glut.dll 和glut32.dll 放到操作系统目录下面的system32
文件夹内。(典型的位置为:C:\Windows\System32) 
第三步,建立一个OpenGL 工
参考自 http://zhidao.baidu.com/question/193823311.html
这里以VisualStudio2005 为为例。
选择File->New->Project,然后选择Win32 Console Application,选择一个名
字,然后按OK。 
在谈出的对话框左边点Application Settings,找到 Empty project 并勾上,
选择Finish。 
然后向该工程添加一个代码文件,取名为“OpenGL.c”,注意用.c 来作为文件
结尾。 
搞定了,就跟平时的工程没什么两样的。 



visual studio2010 OpenGL开发环境搭建

最近开始进行OpengGL研究学习,本想在Eclipse搭建开发环境,但是一直出现一些未知的问题,故想省事。从同事索取visual studio2010,可以减少些工具上的研究时间,微软这个东西整起来也不是那么容易,毕竟接触的少。下面总结一下整个过程。

第一步:visual studio 2010的OpenGL配置:

1、把glut.h copy到x:\Program Files\Microsoft \Visual Studio 10.0\VC\include\GL文件夹中,如果没有GL这个文件夹则可以自己新建一个。

2、然后把glut32.lib copy到C:\Program Files\Microsoft Visual Studio 10.0\VC\lib中,

3、最后把glut32.dll copy到C:\Windows\System32中.所有工作已经完成了,下面测试一下配置结果。

这样配置完毕。

第二步:建立C的应用程序,开发OpenGL

File->New->Project 在打开的New Project对话框中最左侧一栏中选择Visual C++下面的CLR,之后在其右侧的区域中选择CLR Empty Application 并在下面的三个文本框中填入工程名称(Name),工程位置(Location)以及解决方案名称(Solution Name) 之后单击OK 然后可以解决方案浏览器中看到刚才新建的工程,右击工程名,选择Properties(属性),在打开的对话框中选择Configuration Properties(配置属性)下面的General(一般),然后将右边对话框中的Common Language Runtime Support(CLR支持)改为"No Common Language Runtime Support",然后点击确定退出接下来右击工程中的Source Files,选择Add->New Item...,在打开的对话框中选择“C++ File(.cpp)",并在下方输入一个以.c结尾的文件名,之后点击Add,之后就可以在这个文件中加入C语言代码,按F5就可以调试运行了。

OpenGL 作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。 
1 、与C语言紧密结合 。 
OpenGL 命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TCgraphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。 
2 、强大的可移植性 。 
微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL的基本命令都做到了硬件无关,甚至是平台无关。
3 、高性能的图形渲染 。 
OpenGL 是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。 
总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3QUAKE4等专业游戏就知道了。 
OpenGL 官方网站(英文) 
http://www.opengl.org  

下面我将对Windows下的OpenGL编程进行简单介绍。 

学习OpenGL前的准备工作 
第一步,选择一个编译环境  
现在Windows系统的主流编译环境有Visual StudioBroland C++ BuilderDev-C++等,它们都是支持OpenGL的。但这里我们选择Visual Studio 2005作为学习OpenGL的环境。 
第二步,安装GLUT工具包  
GLUT 不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 
Windows 环境下的GLUT下载地址:(大小约为150k) 
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip  
无法从以上地址下载的话请使用下面的连接
http://upload.programfan.com/upfile/200607311626279.zip 
Windows 环境下安装GLUT的步骤: 
1 、将下载的压缩包解开,将得到5个文件 
2 、在我的电脑中搜索“gl.h”,并找到其所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的“VC/PlatformSDK/include/gl文件夹)。把解压得到的glut.h放到这个文件夹。 
3 、把解压得到的glut.libglut32.lib放到静态函数库所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的“VC/lib”文件夹)。 
4 、把解压得到的glut.dllglut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:/Windows/System32) 
第三步,建立一个OpenGL工程  
这里以VisualStudio2005为例。 
选择File->New->Project,然后选择Win32 Console Application,选择一个名字,然后按OK。 
在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。 
然后向该工程添加一个代码文件,取名为“OpenGL.c”,注意用.c来作为文件结尾。 
搞定了,就跟平时的工程没什么两样的。 
第一个OpenGL程序 

一个简单的OpenGL程序如下:(注意,如果需要编译并运行,需要正确安装GLUT,安装方法如上所述) 

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


该程序的作用是在一个黑色的窗口中央画一个白色的矩形。下面对各行语句进行说明。 
首先,需要包含头文件#include <GL/glut.h>,这是GLUT的头文件。 
本来OpenGL程序一般还要包含<GL/gl.h><GL/glu.h>,但GLUT的头文件中已经自动将这两个文件包含了,不必再次包含。 

然后看main函数。 
int main(int argc, char *argv[]) ,这个是带命令行参数的main函数,各位应该见过吧?没见过的同志们请多翻翻书,等弄明白了再往下看。 
注意main函数中的各语句,除了最后的return之外,其余全部以glut开头。这种以glut开头的函数都是GLUT工具包所提供的函数,下面对用到的几个函数进行介绍。 
1 glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了。 
2 glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。更多信息,请自己Google。当然以后的教程也会有一些讲解。 
3 glutInitWindowPosition,这个简单,设置窗口在屏幕中的位置。 
4 glutInitWindowSize,这个也简单,设置窗口的大小。 
5 glutCreateWindow,根据前面设置的信息创建窗口。参数将被作为窗口的标题。注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口。 
6 glutDisplayFunc,设置一个函数,当需要进行画图时,这个函数就会被调用。(这个说法不够准确,但准确的说法可能初学者不太好理解,暂时这样说吧)。 
7 glutMainLoop,进行一个消息循环。(这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。) 

glutDisplayFunc函数中,我们设置了当需要画图时,请调用myDisplay函数。于是myDisplay函数就用来画图。观察myDisplay中的三个函数调用,发现它们都以gl开头。这种以gl开头的函数都是OpenGL的标准函数,下面对用到的函数进行介绍。 
1 glClear,清除。GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西,但这里不作介绍。 
2 glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。 
3 glFlush,保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。其作用跟fflush(stdout)类似。

1、头文件的包含:openGL相关的头文件在 */include/gl 目录中,主要有 gl.h glu.h glaux.h根据需要include就行。

    例如:

         #include <GL/glut.h>
       #include <GL/GLAux.h>

        #include <windows.h>
2、连接库的设置:项目-属性(快捷键ALT+F7)---配置属性-连接器-输入-附加依赖项 中加入opengl32.lib glut32.lib  glu32.lib GLAux.lib , 注意用空格隔开各*.lib。

3、配置项目属性:

(1)项目——项目属性——配置属性——C/C++— —预处理器——预处理器定义,添加

GLUT_BUILDING_LIB

 

创建工程,其步骤如下:   

(1)创建一个Win32 Console Application。(以我创建的为例,工程名为simpleGL)   

(2)链接OpenGL libraries:在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。   

(3)单击Project Settings中的C/C++标签,将Preprocessor definitions 中的_CONSOLE改为__WINDOWS。最后单击OK。  

 

 

创建一个最简单的opengl程序

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

}

该程序的作用是在一个黑色的窗口中央画一个白色的矩形。下面对各行语句进行说明。

首先,需要包含头文件#include<GL/glut.h>,这是GLUT的头文件。

本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h>,但GLUT的头文件中已经自动将这两个文件包含了,不必再次包含。

然后看main函数。

int main(int argc, char *argv[]),这个是带命令行参数的main函数,各位应该见过吧?没见过的同志们请多翻翻书,等弄明白了再往下看。

注意main函数中的各语句,除了最后的return之外,其余全部以glut开头。这种以glut开头的函数都是GLUT工具包所提供的函数,下面对用到的几个函数进行介绍。

1、glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了。

2、glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。更多信息,请自己Google。当然以后的教程也会有一些讲解。

3、glutInitWindowPosition,这个简单,设置窗口在屏幕中的位置。

4、glutInitWindowSize,这个也简单,设置窗口的大小。

5、glutCreateWindow,根据前面设置的信息创建窗口。参数将被作为窗口的标题。注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口。

6、glutDisplayFunc,设置一个函数,当需要进行画图时,这个函数就会被调用。(这个说法不够准确,但准确的说法可能初学者不太好理解,暂时这样说吧)。

7、glutMainLoop,进行一个消息循环。(这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。)

在glutDisplayFunc函数中,我们设置了“当需要画图时,请调用myDisplay函数”。于是myDisplay函数就用来画图。观察 myDisplay中的三个函数调用,发现它们都以gl开头。这种以gl开头的函数都是OpenGL的标准函数,下面对用到的函数进行介绍。

1、glClear,清除。GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西,但这里不作介绍。

2、glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。

3、glFlush,保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。其作用跟fflush(stdout)类似

 

1. 到http://www.xmission.com/~nate/glut.html 下载 glut-3.7.6-bin.zip,按如下方式安装解压出来的文件

glut32.dll -> C:\Windows\System or C:\WinNT\System
glut32.lib -> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib
glut.h -> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl

 

2. glut.h和stdlib.h一起使用会出现这个错误:error C2381: 'exit' : redefinition; __declspec(noreturn) differs

所以我们得修改glut.h,注释掉146行,并加入一条新的语句,改后的代码为:

Cpp代码   收藏代码
  1. // extern _CRTIMP void __cdecl exit(int);  
  2. _CRTIMP __declspec(noreturnvoid __cdecl exit(int);  

 

3. 新建一个Win 32 Console Application工程,添加一个drawcircle.cpp文件,其内容为:

Cpp代码   收藏代码
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <math.h>  
  4. #include <GL/glut.h>  
  5.   
  6. #define ESC 27  
  7. #define SPACE 32  
  8. int Height=400, Width=400;  
  9. int depth=0, circleRadius=2, cnt=1;  
  10.   
  11. static float vdata[4][3] = {  
  12.     {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0},  
  13.     {-1.0, 0.0, 0.0}, {0.0, -1.0, 0.0}  
  14. };  
  15.   
  16. void normalize(float v[3]) {  
  17.     float d = sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]);  
  18.   
  19.     if (d == 0) {  
  20.         printf("zero length vector");  
  21.         return;  
  22.     }  
  23.     v[0] /= d; v[1] /= d; v[2] /= d;  
  24. }  
  25.   
  26. void drawtriangle(float *v1, float *v2, float *v3)  
  27. {  
  28.     glBegin(GL_TRIANGLES);  
  29.     glVertex3fv(v1);  
  30.     glVertex3fv(v2);  
  31.     glVertex3fv(v3);  
  32.     glEnd();  
  33. }  
  34.   
  35. void subdivideCircle(int radius, float *v1, float *v2, int depth)  
  36. {  
  37.     float v11[3], v22[3], v00[3] = {0, 0, 0}, v12[3];  
  38.     int i;  
  39.   
  40.     if (depth == 0) {  
  41.         glColor3f(v1[0]*v1[0], v1[1]*v1[1], v1[2]*v1[2]);  
  42.   
  43.         for (i=0; i<3; i++) {  
  44.             v11[i] = v1[i]*radius;  
  45.             v22[i] = v2[i]*radius;  
  46.         }  
  47.         drawtriangle(v11, v22, v00);  
  48.         return;  
  49.     }  
  50.     v12[0] = v1[0]+v2[0];  
  51.     v12[1] = v1[1]+v2[1];  
  52.     v12[2] = v1[2]+v2[2];  
  53.     normalize(v12);  
  54.     subdivideCircle(radius, v1, v12, depth - 1);  
  55.     subdivideCircle(radius, v12, v2, depth - 1);  
  56. }  
  57.   
  58.   
  59. void drawCircle(int circleRadius)  
  60. // draw a circle with center at the origin in xy plane  
  61. {  
  62.     subdivideCircle(circleRadius, vdata[0], vdata[1], depth);  
  63.     subdivideCircle(circleRadius, vdata[1], vdata[2], depth);  
  64.     subdivideCircle(circleRadius, vdata[2], vdata[3], depth);  
  65.     subdivideCircle(circleRadius, vdata[3], vdata[0], depth);  
  66. }  
  67.   
  68. void display(void)  
  69. {  
  70.     if (circleRadius>Width/2 || circleRadius==1)  
  71.     {  
  72.         cnt=-cnt;  
  73.         depth++;  
  74.         depth = depth % 5;  
  75.     }  
  76.     circleRadius+=cnt;  
  77.     glClear(GL_COLOR_BUFFER_BIT);  
  78.     drawCircle(circleRadius);  
  79.     glutSwapBuffers();  
  80. }  
  81.   
  82. static void Reshape(int w, int h)  
  83. {  
  84.     glClearColor (0.0, 0.0, 0.0, 1.0);  
  85.     glClear(GL_COLOR_BUFFER_BIT);  
  86.     Width = w; Height = h;  
  87.     glViewport (0, 0, Width, Height);  
  88.     glMatrixMode (GL_PROJECTION);  
  89.     glLoadIdentity ();  
  90.     glOrtho(-Width/2, Width/2, -Height/2, Height/2, -1.0, 1.0);  
  91. }  
  92.   
  93.   
  94.   
  95. static void Key(unsigned char key, int x, int y)  
  96. {  
  97.     switch (key) {  
  98.     case ESC:  
  99.         exit(0);  
  100.     case SPACE:  
  101.         glutIdleFunc(NULL); display();  
  102.         break;  
  103.     default:  
  104.         glutIdleFunc(display);  
  105.     }  
  106. }  
  107.   
  108. int main(int argc, char **argv)  
  109. {  
  110.     glutInit(&argc, argv);  
  111.     glutInitDisplayMode(GLUT_DOUBLE);  
  112.     glutInitWindowSize(Width, Height);  
  113.     glutCreateWindow("Example 1.5.circle.c: press SPACE & another key");  
  114.     glutKeyboardFunc(Key);  
  115.     glutReshapeFunc(Reshape);  
  116.     glutDisplayFunc(display);  
  117.     glutIdleFunc(display);  
  118.     glutMainLoop();  
  119. }  

4. 工程 --> 右键 --> Properties,打开工程配置对话框,


a. 选择 Configuration下拉框 ,选择 All Configuration


b. In the left pane, select the linker subtree and then click the Input option. Add the following code to the 
Additional Dependencies text in the right pane.

Copy and Paste:  opengl32.lib  glu32.lib  glut32.lib


 

5. 编译运行,如果成功,可以看到一个三维动画

在VISUAL C++ 2008上配置OPENGL开发环境
这篇文章写的太有用了!我想配VC2008的OpenGL,添加了5个文件后仍然找不到glaux.h,很是着急啊,直到这篇文章解救了我。   !!!非常感谢!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
应该在
VISUAL C++ 2005/VC 6.0/VC7.0同样都适用

首先感谢网上写VC6.0配置OPENGL开发环境的作者,我是先在你那里学习了如何配置,只是做了一点小的延伸,主要内容还是你的。

第一步:下载OpenGLGLUT

Windows环境下的GLUT下载地址:(苹果机不需要安装,自带)  

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

第二步:OpenGL库和配置文件

OpenGL库配置用到的文件分为下面三类:

■ 动态链接库文件(.dll

glaux.dll, glu32.dll, glut32.dll, OPENGL32.DLL, glut.dll

■ 头文件(.h

GL.H, GLAUX.H, GLU.H, glut.h

■ 库文件(.lib

GLAUX.LIBGlu32.libglut32.libOpengl32.libglut.lib

 

其中opengl32.dll, glaux.dll,glu32.dll是安装显卡驱动自带,应该每个系统里面都有,如果没有重新安装显卡驱动。

其中glut32.dll, glut.dll, glut.h, glut32.lib, glut.lib 是在刚才那个地址下载的,打开压缩包后会有5个文件

下面就是区别了,VC++ 2008不带GL.H, GLAUX.h, glu.h, glaux.lib, glu32.lib, opengl32.lib这些文件要在网上下载或者在VC6.0里面拷贝出来,

如果想要全套的文件,给我发邮件我给你发xudongcui@gmail.com

 

第三步:Windows下配置OpenGL

glut32.dll, glut.dll拷贝到C:\WINDOWS\system32目录下,system32目录下应该已经有 opengl32.dll, glu32.dll了。

GL.H, GLAUX.h, glu.h,glut.h  拷贝到 C:\Program Files\Microsoft Visual Studio 9.0\VC\include\gl

把 GLAUX.LIBGlu32.libglut32.libOpengl32.libglut.lib拷贝到 C:\Program Files\Microsoft Visual Studio 9.0\VC\lib

第四步:建立VC++2008工程

打开VC++2008,选择新建工程,Win32Win32控制台应用程序。删除默认的所有代码,用如下代码替换。

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )//隐藏控制台窗口

#include "stdio.h"
#include <Windows.h>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <gl\glut.h>

//-----function----
void drawBackgroud(void)
{
	//设置背景色为黑色
	glClearColor(0.0,0.0,0.0,0.0);
}

void drawDisplay(void)
{
	//Buffer 设置为颜色可写
	glClear(GL_COLOR_BUFFER_BIT);
	
	//开始绘制三角形
	glBegin(GL_TRIANGLES);

	//设置为光滑明暗模式
	glShadeModel(GL_SMOOTH);

	glColor3f(1.0,1.0,1.0);//设置第一个顶点的颜色
	glVertex2f(-1.0,-1.0); //顶点坐标

	glColor3f(0.0,1.0,0.0);//顶点颜色
	glVertex2f(0.0,-1.0);

	glColor3f(0.0,0.0,1.0);
	glVertex2f(-0.5,1.0);

	glEnd();//结束

	//强制OPENGL函数在有限时间内进行
	glFlush();

}

void drawShape(GLsizei w,GLsizei h)
{
	glViewport(0,0,w,h);//设置视口的宽度高度

	glMatrixMode(GL_PROJECTION);//指定当前矩阵为放映模式

	glLoadIdentity();//将当前矩阵设为单位矩阵

	if (w <= h)
	{
		gluOrtho2D(-1.0,1.5,-1.5,1.5*(GLfloat)h/(GLfloat)w);

	}
	else
	{
		gluOrtho2D(-1.0,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5);
		glMatrixMode(GL_MODELVIEW);//更改矩阵模式
	}
}
//-----main--

int main(int argc, char * argv[])
{
	//初始化
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

	glutInitWindowSize(400,400);
	glutInitWindowPosition(200,200);

	//创建窗口
	glutCreateWindow("三角形");

	//开始绘制
	drawBackgroud();
	glutReshapeFunc(drawShape);
	glutDisplayFunc(drawDisplay);

	glutMainLoop();

	return (0);

}







  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值