如何在Windows上使用GLUT

最近在看计算机图形学
书里的代码要用到OpenGL,然而在Windows上少了GLUT,需要自己手动配置。

准备

  • Microsoft Visual Studio 2017 Community (勾选安装使用C++的桌面开发那项,确保安装MSVC)
  • GLUT for Windows

配置

  1. 打开 glut37.zip。
  2. glut.dll,glut32.dll 解压到 Windows目录。

    我放到了C:\Windows目录下,当然你也可以把它们分别放到C:\Windows\SysWOW64C:\Windows\System32下。

  3. 找到MSVC的目录。

    例如 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.??.??????。 (根据版本文件夹的名称的?会有不同)

  4. include目录下新建GL文件夹,将glut.h复制进去。

    例如 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\include\GL

  5. lib目录下,将glut.lib,glut32.lib复制进去。

编写一个简单的opengl程序

  1. 打开VS2017,依次点击 新建 - 项目 - Visual C++ - Windows 控制台应用程序 - 确定

  2. 右键点击解决方案管理器中的项目名称(ConsoleApplication?) - 属性 - 链接器

    注意:配置平台是Win32。

    • 常规 - 附加库目录 - <编辑…> - 粘贴你lib的路径
      例如 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\lib
    • 输入 - 附加依赖项 - <编辑…> - 粘贴glut的lib
      例如 glut32.lib
  3. ConsoleApplication1?.cpp中写入以下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include "stdafx.h"
    #include <gl/glut.h>

    void init(void)
    {
    glClearColor(1.0, 1.0, 1.0, 1.0);
    glMatrixMode(GL_PROJECTION);
    gluOrtho2D(0.0, 200.0, 0.0, 250.0);
    }

    void lineSegment(void)
    {
    glClear(GL_COLOR_BUFFER_BIT);

    glColor3f(0.0, 0.4, 0.2);
    glBegin(GL_LINES);
    glVertex2i(180, 15);
    glVertex2i(10, 145);
    glEnd();
    glFlush();
    }

    int main(int argc, char** argv)
    {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition(50, 100);
    glutInitWindowSize(400, 300);
    glutCreateWindow("An Example OpenGL Program");

    init();
    glutDisplayFunc(lineSegment);
    glutMainLoop();

    return 0;
    }
  4. F5调试,你可以看到图像是一条斜线。

参考