Visual C++ 6.0下OpenGL开发环境配置及最简单opengl程序编写(转)
首先简单介绍一下OpenGL:
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。
OpenGL官方网站(英文)
http://www.opengl.org
然后设置编程的一些环境,及其安装必备文件的步骤如下:
第一步:选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我们选择VC++ 6.0作为学习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、以我的安装目录为例:
(1)“d:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。
(2)“d:\Program Files\Microsoft Visual Studio\VC98\lib文件夹”。把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹,即lib文件夹。
(3)把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)这是非常重要的动态链接库设置!
第三步,创建工程,其步骤如下:
(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程序
1、在stdafx.h文件中加入:
#include <windows.h>
#include <GL/glu.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glaux.h>
2、在工程主程序中加入:(以我的程序为例,在simpleGL.cpp中)
#include <windows.h> /* 有的书作glos.h,意思是根据编译所在的操作系统include操作系统的头文件根据编译所在的操作系统include操作系统的头文件 */
#include <gl\glut.h>
//Called to draw scene
void RenderSence(void)
{
//Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
//Flush drawing commands
glFlush();
}
//Set up the rendering state
void SetupRC(void)
{
glClearColor(0.0f,0.0f,1.0f,1.0f); //此时背景色为蓝色
}
对main添加:
glutInitDisplayMode(GLUT_SINGLE|GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("Simple"); //窗口名为“Simple”
glutDisplayFunc(RenderSence);
SetupRC();
glutMainLoop();
注意:main函数原先自己的返回调用
ruturn 0;
这句不能删除,否则会出错。
3、调试结果,如图
注:背后黑色的为控制台,关闭前面的窗口,控制台中出现“Press any key to continue”
此时按任意键,控制台也将关闭。
首先简单介绍一下OpenGL:
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。
OpenGL官方网站(英文)
http://www.opengl.org
然后设置编程的一些环境,及其安装必备文件的步骤如下:
第一步:选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我们选择VC++ 6.0作为学习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、以我的安装目录为例:
(1)“d:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。
(2)“d:\Program Files\Microsoft Visual Studio\VC98\lib文件夹”。把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹,即lib文件夹。
(3)把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)这是非常重要的动态链接库设置!
第三步,创建工程,其步骤如下:
(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程序
1、在stdafx.h文件中加入:
#include <windows.h>
#include <GL/glu.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glaux.h>
2、在工程主程序中加入:(以我的程序为例,在simpleGL.cpp中)
#include <windows.h> /* 有的书作glos.h,意思是根据编译所在的操作系统include操作系统的头文件根据编译所在的操作系统include操作系统的头文件 */
#include <gl\glut.h>
//Called to draw scene
void RenderSence(void)
{
//Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
//Flush drawing commands
glFlush();
}
//Set up the rendering state
void SetupRC(void)
{
glClearColor(0.0f,0.0f,1.0f,1.0f); //此时背景色为蓝色
}
对main添加:
glutInitDisplayMode(GLUT_SINGLE|GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("Simple"); //窗口名为“Simple”
glutDisplayFunc(RenderSence);
SetupRC();
glutMainLoop();
注意:main函数原先自己的返回调用
ruturn 0;
这句不能删除,否则会出错。
3、调试结果,如图
注:背后黑色的为控制台,关闭前面的窗口,控制台中出现“Press any key to continue”
此时按任意键,控制台也将关闭。