OpenGL开发:官方GLUT库的环境配置

GLUT,是指OpenGL Utility Toolkit,用于开发独立于窗口系统的OpenGL程序,即该库打包了很多的窗口操作,提供了独立于具体操作系统的API,让你快速的在OpenGL开发中完成窗口相关操作,如窗口显示、输入设备读取、多级级联菜单、多窗口管理等等便捷功能。

在windows中开发OpenGL,多基于VS环境,以VS 2015 社区版为例,介绍如何配置完整的GLUT开发环境。

GLUT相关二进制库下载

除了官方GLUT,还有freeglut, 详见:Sourceforge, GITHUB仓库。

GLUT 3.7版本下载:下载连接

GLUT 下载列表页面:下载列表,包含多种系统与版本,以及相关文档

GLUT Windows库内容

包含如下5个文件:

OpenGL开发:官方GLUT库的环境配置_第1张图片
Paste_Image.png
  • glut.dll 动态链接库
  • glut.h 头文件
  • glut.lib 库文件
  • glut32.dll 动态链接库
  • glut32.lib 库文件

两个动态链接库文件glut.dll, glut32.dll

需要放入到系统drive目录内,

Windows 32位系统为:

C:\Windows\System32

Windows 64位系统为:

C:\Windows\SysWOW64

实际上,放在可执行文件同级目录下,也是可以的,如,VS项目的Debug/,64位项目为x64/Debug/。为了方便起见,最好放置到系统drive目录下,为了后期发布,则应当与项目放置在一起。

头文件 glut.h

头文件放置到系统头文件放置的位置,这其中有多个选择,目前VS安装后,配置的相关开发平台库都具有OpenGL相关头文件和库,所以,只需要找到OpenGL的头文件,放置到相同位置。OpenGL头文件包括了:GL.h, GLU.h

具体的位置,结合VS项目,将很容易获取到。
如:

  C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl

Lib库文件 glut.lib, glut32.lib

Lib库文件与头文件放置位置差不多,只不过是放置到统一的Lib库中。可以通过查看OpenGL的库的位置,放置到相同位置。OpenGL库文件包括了:GlU32.Lib, OpenGL32.Lib
如·:

C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64

通过VS提供的路径进行配置

创建一个空的VS VC空项目:

OpenGL开发:官方GLUT库的环境配置_第2张图片
创建Win32控制台程序
OpenGL开发:官方GLUT库的环境配置_第3张图片
空的项目

打开项目属性面板:

OpenGL开发:官方GLUT库的环境配置_第4张图片
Paste_Image.png

查看VC++目录的相关内容:

OpenGL开发:官方GLUT库的环境配置_第5张图片
Paste_Image.png

配置包括了:Debug/Release的32位和64位平台的相关内容,需要根据具体的路径,和项目类型,进行放置头文件、Lib文件的位置。

注意:dll文件,是根据本机系统类型,而非项目类型,因此,64位机就放入到C:\Windows\SysWOW64,32位机就放到C:\Windows\System32

一个例程

#include
#include
#include

void renderScene(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glBegin(GL_TRIANGLES);
    glVertex3f(-0.5, -0.5, 0.0);
    glVertex3f(0.5, 0.0, 0.0);
    glVertex3f(0.0, 0.5, 0.0);
    glEnd();
    glutSwapBuffers();
}

int main(int argc, char* argv[])
{
    glutInit(&argc, (char**)argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(320, 320);
    glutCreateWindow("Hello OpenGL");
    glutDisplayFunc(renderScene);
    glutMainLoop();//enters the GLUT event processing loop.
    return 0;
}

运行之后,看到黑色背景上,一个三角形,这是一个空间三角形:

OpenGL开发:官方GLUT库的环境配置_第6张图片
Paste_Image.png

OpenGL以点、线、三角形为基本元素类型,空间三角形是OpenGL中使用最多的基本类型。

为什么一定要这么配置

其实不一定要这么配置,尤其是GLUT,打开glut.h,可以看到这么一段:

#pragma comment (lib, "winmm.lib")     /* link with Windows MultiMedia lib */
#pragma comment (lib, "opengl32.lib")  /* link with Microsoft OpenGL lib */
#pragma comment (lib, "glu32.lib")     /* link with OpenGL Utility lib */
#pragma comment (lib, "glut32.lib")    /* link with Win32 GLUT lib */

这里,链接glut32.lib,并没有指定具体的路径位置,所以,链接器会在Include Lib目录里找,因此需要放入到相应的Include目录。修改这个为相对路径或者绝对路径后,则无需如此放置。

你可能感兴趣的:(OpenGL开发:官方GLUT库的环境配置)