VS2005下OpenGL的配置及简单实例收藏

来源:互联网 发布:彼得杰克逊的实力知乎 编辑:程序博客网 时间:2024/06/07 06:25

 VS2005下OpenGL的配置及简单实例收藏
学习OpenGL前的准备工作
第一步,选择一个编译环境
选择Visual Studio 2005作为学习OpenGL的环境。
第二步,配置OpenGL环境
具体做法在前一篇中。建议将相应文件放到VC的文件夹下,而不是PlatformSDK中。
第三步,安装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工程
这里以VisualStudio2005为例。
选择File->New->Project,然后选择Win32 Console Application,选择一个名字,然后按OK。
在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。
然后向该工程添加一个代码文件,取名为“OpenGL.c”,注意用.c来作为文件结尾。

VS2005下使用opengl的配置问题
项目 -->选择属性 C/C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中间用分号隔开,然后点击linker--

>input--> additional dependencies添加glut32.lib Opengl32.lib Glu32.lib
一个简单的OpenGL程序如下:


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

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.0f,1.0f,0.0f);
    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;
}
编译执行就可以了。
转载:

 

引用:
怎么把那个DOS窗口去掉啊?

答:首先,那个窗口不叫DOS窗口,而叫“命令行窗口”。
     如果使用GLUT的话,最好还是保留那个窗口,因为如果在使用GLUT过程中有任何错误或者警告,都会直接显示到命令行窗口——如果你绘制图形失败,多半可以根据命令行窗口中的信息找到一点原因。这样会给我们带来方便。
     另外,使用GLUT可以做到平台无关。也就是说,虽然我们现在讲的是Windows下面的编程,但这些代码拿到Linux, Apple Macintosh,IBM OS/2或者其它的窗口系统,都可以被正确的编译并执行(需要下载并安装相应版本的GLUT),不需要修改代码。如果需要去掉“命令行窗口”
     如果你真的感到“命令行窗口”很不爽,可以在建立工程时选择“Win32 Application”,而不是“Win32 Console Application”。(对于已经建好的工程,需要在Projcet->Properties-> Configuration Properties->Linker->System那个窗口里面,把SubSystem选项由 Console改为Windows),并在程序开始时使用WinMain作为程序入口,而不是main。然后,你还需要一些Win32的编程基础。如果你不介意的话,把下面的代码抄下来也可以。

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

void myDisplay(void)
{
     glClear(GL_COLOR_BUFFER_BIT);
     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
     glFlush();
}

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev,
                    PSTR CmdLine, int iCmdShow)
{
     int argc = 1;
     char *argv[] = {"OpenGL Application"};
     glutInit(&argc, argv);
     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
     glutInitWindowPosition(100, 100);
     glutInitWindowSize(400, 400);
     glutCreateWindow("第一个OpenGL程序");
     glutDisplayFunc(&myDisplay);
     glutMainLoop();
     return 0;
}

注意这个程序和前面的示例所不同的地方:
1、多加了头文件:#include <windows.h>。
2、main变成了WinMain,并且函数的参数有所不同。
3、在WinMain中,定义了假的argc和argv,方便使用glutInit函数。虽然看起来有些别扭,但总算是成功的将GLUT给初始化好了。

建议:GLUT在学习的开始时期会给查错带来方便,因此使用GLUT,并且打开命令行是比较好的做法。当我们不再需要GLUT,打算一切自己干时,再来考虑如何写一个不带命令行的程序,这样可能会比较合适。

VS 2005中配置OpenGL开发环境
VS中不需要自己拷贝一些opengl的.h .dll .lib、因为vs2005已经都把这些文件都安装好了。分别在下边的目录下:(注意:glut库的部
分要自己copy到相应目录下。)
[目录]
include: <VCDIR>/PlatformSDK/Include/GL
lib: <VCDIR>/PlatformSDK/Lib
dll: <WINDIR>/system32
虽然这些目录下已经有了,但是我在用console win32时,还是会出现很多错误,无法识别以gl开头的函数。所以我把它们又copy到VC目录的相应文件夹下了,结果问题就没有了,我感到很奇怪。我不知道该怎么用PlatformSDK下的那些头文件。

[VS 2006 自带的OpenGL文件]
include: GL/gl.h GL/glu.h GL/glaux.h
lib: opengl32.h glu32.h glaux.lib(* Deprecated)
dll: opengl32.dll glu32.dll

[SGI OpenGL 文件(* OPT)]
lib: opengl.lib glu.lib
dll: opengl.dll glu.dll


[GLUT utility toolkit 文件(* download)]
include: GL/glut.h
lib: glut.lib glut32.lib
dll: glut.dll glut32.dll

GLUT 允许我们开发可移植的OpenGL窗口程序,它包装了底层的窗口系统接口
    可以从www.opengl.org/resources/libraries/glut下载

获取对应文件并放置到相应目录下,
现在新建一个空的windows console application,加入:

#include <GL/glut.h>

VS2005下使用opengl的配置问题
项目 -->选择属性 C/C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中间用分号隔开,然后点击linker--

>input--> additional dependencies添加glut32.lib Opengl32.lib Glu32.lib


就可以开发自己的OpenGL程序了
如果在老版本的VS 6.0 中开发,需要将连接库添加在项目设置属性中。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyymaomi/archive/2009/04/30/4138461.aspx